PATH:
home
/
centosnipponia
/
public_html
/
nipponiacar
/
wp-content
/
plugins
/
kirki
/
includes
/
API
<?php /** * Media Utils * * @package kirki */ namespace Kirki\API; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Media Utils class */ class Utils { /** * Convert to bytes * * @param int $value The value to converted to bytes. * @param string $type The type from which the value will be converted. * * @return int The converted bytes equivalent value. */ public static function to_bytes( int $value, $type = 'MB' ) { $multipliers = array( 'gb' => 1073741824, // 1024 * 1024 * 1024 'mb' => 1048576, // 1024 * 1024 'kb' => 1024, // 1024 ); $type = strtolower( $type ); return $value * $multipliers[ $type ]; } /** * Recursively search a file * * @param string $directory_path The path of file directory. * @param array $icon_libraries The icon_libraries to search. * @return string The generated directory. */ public static function search_file( string $directory_path, array $icon_libraries ): array { $it = new \RecursiveDirectoryIterator( $directory_path ); foreach ( $icon_libraries as $icon_name => $icon_data ) { $required_files = $icon_data['requiredFiles']; $css_file = $icon_data['cssFile']; $css_file_path = ''; $files_found = array(); foreach ( new \RecursiveIteratorIterator( $it ) as $file ) { $arr = explode( '/', $file ); $filename = array_pop( $arr ); if ( in_array( strtolower( $filename ), $required_files, true ) ) { $files_found[] = strtolower( $filename ); if ( strtolower( $filename ) === $css_file ) { $css_file_path = $file; } } } if ( count( array_unique( $files_found ) ) === count( $required_files ) ) { return array( 'icon_name' => $icon_name, 'css_file_path' => $css_file_path, ); } } return array( 'icon_name' => '', 'css_file_path' => '', ); } /** * Parse css classes * * @param string $css The css string. * @param array $library The css string. * @return array The parsed css classes array. */ public static function parse_css_classes( $css, $library ) { $classes = array(); $math_all_css_pattern = '/([^\{\}]+)\{([^\}]*)\}|([\/\*])/ims'; preg_match_all( $math_all_css_pattern, $css, $match_css ); foreach ( $match_css[0] as $key => $value ) { $library_prefix = $library['prefix']; $library_postfix = 'before{content'; $css_match_regex = '/^(.' . $library_prefix . '-)[^.]+[(:)]+(' . $library_postfix . ').*$/m'; $selector = trim( $match_css[0][ $key ] ); if ( preg_match( $css_match_regex, $selector ) ) { $trimmed_cls = ''; $last_pattern = '/[(:)]+(' . $library_postfix . ').*$/m'; $first_pattern = '/^.*\./'; $trimmed_cls = preg_replace( $last_pattern, '', $selector ); $trimmed_cls = preg_replace( $first_pattern, '', $trimmed_cls ); $trimmed_cls = $library['leadClass'] ? "{$library['leadClass']} {$trimmed_cls}" : $trimmed_cls; if ( $trimmed_cls ) { $classes[] = $trimmed_cls; } } } return $classes; } /** * Minify css * * @param string $content css content. * * @return string minify css. */ public static function minify_css( $content ) { $content = preg_replace( '/\/\*(?:(?!\*\/)[\s\S])*\*\/|[\r\n\t]+/', '', $content ); $content = preg_replace( '/ {2,}/', ' ', $content ); $content = preg_replace( '/ ([{:}]) /', '$1', $content ); $content = preg_replace( '/([;,]) /', '$1', $content ); $content = preg_replace( '/ !/', '!', $content ); return $content; } /** * Extract zip file * * @param string $path zip file path. * * @return void */ public static function extract_zip_file( $path ) { } }
[+]
..
[+]
ContentManager
[+]
Frontend
[+]
KirkiComments
[-] Media.php
[edit]
[-] Utils.php
[edit]
[-] .htaccess.disabled
[edit]