File manager - Edit - /home/premiey/www/wp-includes/images/media/functions.tar
Back
uaf_client_functions.php 0000666 00000001122 15166341473 0011470 0 ustar 00 <?php if ( ! defined( 'ABSPATH' ) ) exit; function uaf_client_assets() { $uaf_upload = wp_upload_dir(); $uaf_upload_url = set_url_scheme($uaf_upload['baseurl']); $uaf_upload_url = $uaf_upload_url . '/useanyfont/'; wp_register_style( 'uaf_client_css', $uaf_upload_url.'uaf.css', array(),get_option('uaf_css_updated_timestamp')); wp_enqueue_style( 'uaf_client_css' ); } if (!function_exists('array_key_first')) { // FOR OLDER VERSION PHP SUPPORT function array_key_first(array $arr) { foreach($arr as $key => $unused) { return $key; } return NULL; } } uaf_cache_functions.php 0000666 00000004775 15166341473 0011276 0 ustar 00 <?php if ( ! defined( 'ABSPATH' ) ) exit; function uaf_clear_plugins_cache(){ if (function_exists('sg_cachepress_purge_cache')) {sg_cachepress_purge_cache();} // FOR SG OPTIMIZER if (function_exists('w3tc_flush_all')){w3tc_flush_all();} // FOR W3 TOTAL CACHE if (function_exists('wpfc_clear_all_cache')){wpfc_clear_all_cache(true);} // FOR WP Fastest Cache if (function_exists('wp_cache_clear_cache')){wp_cache_clear_cache();} // FOR WP Super Cache if (function_exists('rocket_clean_domain')){rocket_clean_domain();} // FOR WP ROCKET if (class_exists( 'WpeCommon' ) && method_exists( 'WpeCommon', 'purge_memcached' ) ) { // FOR WP ENGINE WpeCommon::purge_memcached(); WpeCommon::purge_varnish_cache(); } if (class_exists('LiteSpeed_Cache_API') && method_exists('LiteSpeed_Cache_API', 'purge_all') ) { // FOR LITE SPEED LiteSpeed_Cache_API::purge_all(); } if (class_exists('Cache_Enabler') && method_exists('Cache_Enabler', 'clear_total_cache') ) { // FOR CACHE ENABLER Cache_Enabler::clear_total_cache(); } if (class_exists('PagelyCachePurge') && method_exists('PagelyCachePurge','purgeAll') ) { // FOR PAGELY //PagelyCachePurge::purgeAll(); REMOVED AFTER THIS TICKET https://wordpress.org/support/topic/version-6-1-1-causes-fatal-errors-on-pagely-servers/ $uaf_purger = new PagelyCachePurge(); $uaf_purger->purgeAll(); } if (class_exists('autoptimizeCache') && method_exists( 'autoptimizeCache', 'clearall') ) { // FOR AUTOOPTIMIZSE autoptimizeCache::clearall(); } if (class_exists('comet_cache') && method_exists('comet_cache', 'clear') ) { // FOR COMET CACHE comet_cache::clear(); } if (class_exists('\Hummingbird\WP_Hummingbird') && method_exists('\Hummingbird\WP_Hummingbird', 'flush_cache')) { // FOR HUMINBIRD CACHE \Hummingbird\WP_Hummingbird::flush_cache(); } if (class_exists( '\Kinsta\Cache' ) && !empty( $kinsta_cache ) ) { // FOR KINSTA CACHE $kinsta_cache->kinsta_cache_purge->purge_complete_caches(); } if (class_exists( '\WPaaS\Cache' ) ) { // FOR GODADDY Cache if (function_exists('ccfm_godaddy_purge')){ccfm_godaddy_purge();} } if ( class_exists( 'Breeze_Admin' ) ) { // FOR BREEZE (Cloudways) do_action('breeze_clear_all_cache'); } } function uaf_check_if_cdn_plugin_in_use(){ // NOT BEING USED NOW. //if (function_exists('sg_cachepress_purge_cache')) {return true;} // IS SG OPTIMIZER ENABLED. //return false; } uaf_editor_functions.php 0000666 00000026226 15166341473 0011514 0 ustar 00 <?php if ( ! defined( 'ABSPATH' ) ) exit; // DEFAULT WORDPRESS EDITOR $uaf_disbale_editor_font_list_value = get_option('uaf_disbale_editor_font_list'); if ($uaf_disbale_editor_font_list_value != 1): add_filter('mce_buttons_2', 'wp_editor_fontsize_filter'); add_filter('tiny_mce_before_init', 'uaf_mce_before_init' ); endif; function uaf_mce_before_init( $init_array ) { $theme_advanced_fonts = ''; $fontsData = uaf_group_fontdata_by_fontname(uaf_get_uploaded_font_data()); if (!empty($fontsData)): foreach ($fontsData as $fontName=>$fontData): $theme_advanced_fonts .= ucfirst(str_replace('_',' ', $fontName)) .'='.$fontName.';'; endforeach; endif; $init_array['font_formats'] = $theme_advanced_fonts.'Andale Mono=Andale Mono, Times;Arial=Arial, Helvetica, sans-serif;Arial Black=Arial Black, Avant Garde;Book Antiqua=Book Antiqua, Palatino;Comic Sans MS=Comic Sans MS, sans-serif;Courier New=Courier New, Courier;Georgia=Georgia, Palatino;Helvetica=Helvetica;Impact=Impact, Chicago;Symbol=Symbol;Tahoma=Tahoma, Arial, Helvetica, sans-serif;Terminal=Terminal, Monaco;Times New Roman=Times New Roman, Times;Trebuchet MS=Trebuchet MS, Geneva;Verdana=Verdana, Geneva;Webdings=Webdings;Wingdings=Wingdings'; return $init_array; } function wp_editor_fontsize_filter( $options ) { array_unshift( $options, 'fontsizeselect'); array_unshift( $options, 'fontselect'); return $options; } // DIVI CUSTOMIZER AND BUILDER (Tested with 4.0.9 and 4.0.9) add_filter('et_websafe_fonts', 'uaf_send_fonts_divi_list',10,2); function uaf_send_fonts_divi_list($fonts){ $fontsData = uaf_group_fontdata_by_fontname(uaf_get_uploaded_font_data()); $fonts_uaf = array(); if (!empty($fontsData)): foreach ($fontsData as $fontName=>$fontData): $variationStyles = array(); foreach ($fontData as $fontVariationKey => $fontVariationData){ if (array_key_exists('font_weight',$fontVariationData)){ $variationStyles[] = $fontVariationData['font_weight']; } else { $variationStyles[] = '400'; } } $fonts_uaf[$fontName] = array( 'styles' => join(',',$variationStyles), 'character_set' => 'cyrillic,greek,latin', 'type' => 'serif' ); endforeach; endif; return array_merge($fonts_uaf,$fonts); } // SITE ORIGIN BUILDER add_filter('siteorigin_widgets_font_families', 'uaf_send_fonts_siteorigin_list',10,2); function uaf_send_fonts_siteorigin_list($fonts){ $fontsData = uaf_group_fontdata_by_fontname(uaf_get_uploaded_font_data()); $fonts_uaf = array(); if (!empty($fontsData)): foreach ($fontsData as $fontName=>$fontData): $fonts_uaf[$fontName] = $fontName; endforeach; endif; return array_merge($fonts_uaf,$fonts); } // REDUX Framework if (class_exists( 'Redux' ) ) { $reduxUafObject = new Redux; $reduxArgs = $reduxUafObject::$args; $reduxOptName = array_key_first($reduxArgs); add_filter('redux/'.$reduxOptName.'/field/typography/custom_fonts', 'uaf_send_fonts_redux_list' ); } function uaf_send_fonts_redux_list( $custom_fonts ) { $fontsData = uaf_group_fontdata_by_fontname(uaf_get_uploaded_font_data()); $fonts_uaf = array('Use Any Fonts' => array()); if (!empty($fontsData)): foreach ($fontsData as $fontName=>$fontData): $fonts_uaf['Use Any Fonts'][$fontName] = $fontName; endforeach; endif; return $fonts_uaf; } // X Theme add_filter('x_fonts_data', 'uaf_send_fonts_x_theme_list',10,2); function uaf_send_fonts_x_theme_list($fonts){ $fontsData = uaf_group_fontdata_by_fontname(uaf_get_uploaded_font_data()); $fonts_uaf = array(); if (!empty($fontsData)): foreach ($fontsData as $fontName=>$fontData): $fonts_uaf[$fontName] = array( 'source' => 'Use Any Font', 'family' => $fontName, 'stack' => '"'.$fontName.'"', 'weights' => array( '400' ) ); endforeach; endif; return array_merge($fonts_uaf,$fonts); } // elementor function uaf_send_fonts_elementor_list( $controls_registry ) { $fontsData = uaf_group_fontdata_by_fontname(uaf_get_uploaded_font_data()); $fonts_uaf = array('Use Any Fonts' => array()); if (!empty($fontsData)): foreach ($fontsData as $fontName=>$fontData): $fonts_uaf[$fontName] = 'system'; endforeach; endif; $fonts = $controls_registry->get_control( 'font' )->get_settings( 'options' ); $new_fonts = array_merge($fonts_uaf, $fonts ); $controls_registry->get_control( 'font' )->set_settings( 'options', $new_fonts ); } add_action( 'elementor/controls/controls_registered', 'uaf_send_fonts_elementor_list', 10, 1 ); // Beaver Builder and Themes (Tested with 2.3.0.1 ) add_filter('fl_theme_system_fonts', 'uaf_send_fonts_beaver_builder_list',10,2); add_filter('fl_builder_font_families_system', 'uaf_send_fonts_beaver_builder_list',10,2); function uaf_send_fonts_beaver_builder_list($fonts){ $fontsData = uaf_group_fontdata_by_fontname(uaf_get_uploaded_font_data()); $fonts_uaf = array(); if (!empty($fontsData)): foreach ($fontsData as $fontName=>$fontData): $variationStyles = array(); foreach ($fontData as $fontVariationKey => $fontVariationData){ if (array_key_exists('font_weight',$fontVariationData)){ $variationStyles[] = $fontVariationData['font_weight']; } else { $variationStyles[] = '400'; } } $fonts_uaf[$fontName] = array( 'fallback' => 'Verdana, Arial, sans-serif', 'weights' => $variationStyles ); endforeach; endif; return array_merge($fonts_uaf,$fonts); } // Themify Builder add_filter('themify_get_web_safe_font_list', 'uaf_send_fonts_themify_builder_list',10,2); function uaf_send_fonts_themify_builder_list($fonts){ $fontsData = uaf_group_fontdata_by_fontname(uaf_get_uploaded_font_data()); $fonts_uaf = array(); if (!empty($fontsData)): foreach ($fontsData as $fontName=>$fontData): $fonts_uaf[] = array( 'value' => $fontName, 'name' => $fontName ); endforeach; endif; return array_merge($fonts_uaf,$fonts); } // GENERATE PRESS Tested With Version: 2.4.1 add_filter( 'generate_typography_default_fonts', function( $fonts ) { $fonts_uaf = uaf_get_font_families(); return array_merge($fonts_uaf,$fonts); }); // ASTRA THEME ver 2.2.1 add_action( 'astra_customizer_font_list', 'uaf_astra_customizer_font_list'); function uaf_astra_customizer_font_list( $value ) { $fontsData = uaf_group_fontdata_by_fontname(uaf_get_uploaded_font_data()); $fonts_uaf = array(); if (!empty($fontsData)): echo esc_html('<optgroup label="Use Any Font">'); foreach ($fontsData as $fontName=>$fontData): echo '<option value="' .esc_attr($fontName). '">' . esc_html($fontName). '</option>'; endforeach; endif; } // oceanwp Theme 1.7.4 if ( !function_exists( 'ocean_add_custom_fonts' ) ) { function ocean_add_custom_fonts() { $fonts_uaf = uaf_get_font_families(); return $fonts_uaf; } } // Oxygen Builder add_action("ct_builder_ng_init", "uaf_oxygen_builder_font_list"); function uaf_oxygen_builder_font_list() { $fonts_uaf = uaf_get_font_families(); $output = json_encode( $fonts_uaf ); $output = htmlspecialchars( $output, ENT_QUOTES ); echo esc_html("elegantCustomFonts=$output;"); } // KIRKI CUSTOMIZER FRAMEWORK //Like FLATSOME THEME add_filter( 'kirki/fonts/standard_fonts', 'uaf_kirki_custom_fonts', 20 ); function uaf_kirki_custom_fonts($standard_fonts) { $fontsData = uaf_group_fontdata_by_fontname(uaf_get_uploaded_font_data()); $fonts_uaf = array(); if (!empty($fontsData)): foreach ($fontsData as $fontName=>$fontData): $fonts_uaf[$fontName] = array( 'label' => $fontName.' [Use Any Font]', 'variants' => array('regular'), 'stack' => $fontName ); endforeach; endif; return array_merge_recursive( $fonts_uaf, $standard_fonts ); } // REVOLUTION SLIDER add_filter( 'revslider_data_get_font_familys', 'uaf_revslider_custom_fonts', 20 ); function uaf_revslider_custom_fonts($fonts) { $fontsData = uaf_group_fontdata_by_fontname(uaf_get_uploaded_font_data()); $fonts_uaf = array(); if (!empty($fontsData)): foreach ($fontsData as $fontName=>$fontData): $fonts_uaf[] = array( 'type' => 'Use Any Font', 'version' => 'Serif Fonts', 'label' => $fontName ); endforeach; endif; return array_merge($fonts_uaf,$fonts); } // FOR WP BAKERY VISUAL BUILDER (JS Composer) add_filter('vc_google_fonts_get_fonts_filter', 'uaf_wpbakery_custom_fonts'); function uaf_wpbakery_custom_fonts($fonts) { $fontsData = uaf_group_fontdata_by_fontname(uaf_get_uploaded_font_data()); $fonts_uaf = array(); if (!empty($fontsData)): foreach ($fontsData as $fontName=>$fontData): $fonts_uaf[] = array( 'font_family' => $fontName, 'font_types' => '400 regular:400:normal', 'font_styles' => 'regular' ); endforeach; endif; $fonts_uaf = json_decode (json_encode ($fonts_uaf), FALSE); return array_merge($fonts_uaf,$fonts); } // FOR THE7 and presscore options framework add_filter('presscore_options_get_safe_fonts', 'uaf_presscore_options_custom_fonts'); function uaf_presscore_options_custom_fonts($fonts) { $fontsData = uaf_get_font_families(); if (!empty($fontsData)): foreach ($fontsData as $key=>$fontName): $fonts_uaf[$fontName] = $fontName; endforeach; return array_merge($fonts_uaf,$fonts); else: return $fonts; endif; } // Kadence Theme And Block // Add custom font to blocks function uaf_kadence_custom_fonts( $fonts ) { $fontsData = uaf_group_fontdata_by_fontname(uaf_get_uploaded_font_data()); $fonts_uaf = array(); if (!empty($fontsData)): foreach ($fontsData as $fontName=>$fontData): $variationStyles = array(); foreach ($fontData as $fontVariationKey => $fontVariationData){ if (array_key_exists('font_weight',$fontVariationData)){ $variationStyles[] = $fontVariationData['font_weight']; } else { $variationStyles[] = '400'; } } $fonts_uaf[$fontName] = array( 'fallback' => 'helvetica, arial, sans-serif', 'weights' => $variationStyles ); endforeach; endif; return array_merge($fonts_uaf,$fonts); } add_filter( 'kadence_blocks_add_custom_fonts', 'uaf_kadence_custom_fonts' ); add_filter( 'kadence_theme_add_custom_fonts', 'uaf_kadence_custom_fonts' ); // EOF Kadence Theme And Block // Add custom font to bricks builder add_filter( 'bricks/builder/standard_fonts', function( $standard_fonts ) { $fontsData = uaf_get_font_families(); if (!empty($fontsData)): foreach ($fontsData as $key=>$fontName): $fonts_uaf[$fontName] = $fontName; endforeach; return array_merge($fonts_uaf,$standard_fonts); else: return $standard_fonts; endif; } ); // EOF BRICKS BUILDER // Add custom font to themeisle neva function uaf_themeisle_custom_fonts( $localized_data ) { $fontsData = uaf_get_font_families(); if (!empty($fontsData)): foreach ($fontsData as $key=>$fontName): $localized_data['fonts']['Custom'][] = $fontName; endforeach; endif; return $localized_data; } add_filter( 'neve_react_controls_localization', 'uaf_themeisle_custom_fonts' ); // Add custom font to themeisle neva uaf_font_functions.php 0000666 00000042737 15166341473 0011201 0 ustar 00 <?php if ( ! defined( 'ABSPATH' ) ) exit; function uaf_count_uploaded_fonts(){ $count = 0; $fontsRawData = get_option('uaf_font_data'); if ((!empty($fontsRawData)) && ($fontsRawData != 'null')){ $fontsData = json_decode($fontsRawData, true); $count = count($fontsData); } return $count; } function uaf_get_uploaded_font_data(){ $fontsRawData = get_option('uaf_font_data'); return json_decode($fontsRawData, true); } function uaf_get_font_families(){ $fontsData = uaf_group_fontdata_by_fontname(uaf_get_uploaded_font_data()); $fonts_uaf = array(); if (!empty($fontsData)): foreach ($fontsData as $fontName=>$fontData): $fonts_uaf[] = $fontName; endforeach; endif; return $fonts_uaf; } function uaf_save_font_files($font_name, $font_weight, $font_style, $convertResponse, $predefined_font_id = ''){ uaf_create_folder(); // CREATE FOLDER IF DOESN"T EXISTS $uafPath = uaf_path_details(); $fontNameToStore = sanitize_file_name(rand(0,9999).$font_name); $convertResponseArray = json_decode(stripslashes($convertResponse), true); if ($convertResponseArray['global']['status'] == 'ok'): $neededFontFormats = array('woff2','woff'); foreach ($neededFontFormats as $neededFontFormat): if ($convertResponseArray[$neededFontFormat]['status'] == 'ok'): $fontFileContent = wp_safe_remote_get($convertResponseArray[$neededFontFormat]['filename'], array('timeout'=>'300')); if ( is_wp_error( $fontFileContent ) ) { $fontUploadFinalResponse['status'] = 'error'; $fontUploadFinalResponse['body'] = $fontFileContent->get_error_message(); return $fontUploadFinalResponse; } if ( $fontFileContent['response']['code'] == '200') : $fontFileContent = wp_remote_retrieve_body( $fontFileContent ); if (!empty($fontFileContent)): $newFileName = $fontNameToStore.'.'.$neededFontFormat; $newFilePath = $uafPath['dir'].$newFileName; $fh = fopen($newFilePath, 'w') or die("can't open file. Make sure you have write permission to your upload folder"); fwrite($fh, $fontFileContent); fclose($fh); else: $fontSaveMsg[$neededFontFormat]['status'] = 'error'; $fontSaveMsg[$neededFontFormat]['body'] = "Couldn't receive $neededFontFormat file"; endif; else: $fontSaveMsg[$neededFontFormat]['status'] = 'error'; $fontSaveMsg[$neededFontFormat]['body'] = $neededFontFormat.' : '.$fontFileContent['response']['code'].' '.$fontFileContent['response']['message']; endif; else: $fontSaveMsg[$neededFontFormat]['status'] = 'error'; $fontSaveMsg[$neededFontFormat]['body'] = $convertResponseArray[$neededFontFormat]['msg']; endif; endforeach; if (!empty($fontSaveMsg)): $fontUploadFinalResponse['body'] = ''; foreach ($fontSaveMsg as $formatKey => $formatData): if ($fontSaveMsg[$formatKey]['status'] == 'error'): $fontUploadFinalResponse['status'] = 'error'; $fontUploadFinalResponse['body'] .= $formatData['body'].'<br/>'; endif; endforeach; else: uaf_save_font_entry_to_db($font_name, $font_weight, $font_style, $fontNameToStore, $predefined_font_id); $fontUploadFinalResponse['status'] = 'success'; $fontUploadFinalResponse['body'] = 'Font Uploaded'; endif; else: $fontUploadFinalResponse['status'] = 'error'; $fontUploadFinalResponse['body'] = $convertResponseArray['global']['msg']; endif; return $fontUploadFinalResponse; } function uaf_path_details(){ $uaf_upload = wp_upload_dir(); $uaf_upload_dir = $uaf_upload['basedir']; $uaf_upload_dir = $uaf_upload_dir . '/useanyfont/'; $uaf_upload_url = $uaf_upload['baseurl']; $uaf_upload_url = $uaf_upload_url . '/useanyfont/'; $pathReturn['dir'] = $uaf_upload_dir; $pathReturn['url'] = $uaf_upload_url; return $pathReturn; } function uaf_create_folder() { $uaf_upload_path = uaf_path_details(); if (! is_dir($uaf_upload_path['dir'])) { mkdir( $uaf_upload_path['dir'], 0755 ); } } function uaf_save_font_entry_to_db($font_name, $font_weight, $font_style, $font_path, $predefined_font_id = ''){ $fontsRawData = get_option('uaf_font_data'); $fontsData = json_decode($fontsRawData, true); if (empty($fontsData)): $fontsData = array(); endif; $fontArrayKey = date('ymdhis'); $fontsData[$fontArrayKey] = array( 'font_name' => sanitize_title($font_name), 'font_path' => $font_path, 'predefined_font_id' => $predefined_font_id ); if (!empty(trim($font_weight))){ $fontsData[$fontArrayKey]['font_weight'] = sanitize_title($font_weight); } if (!empty(trim($font_style))){ $fontsData[$fontArrayKey]['font_style'] = sanitize_title($font_style); } $updateFontData = json_encode($fontsData); update_option('uaf_font_data',$updateFontData); uaf_write_css(); } function uaf_write_css(){ $uaf_use_absolute_font_path = $GLOBALS['uaf_user_settings']['uaf_use_absolute_font_path']; // Check if user want to use absolute font path. if (empty($uaf_use_absolute_font_path)){ $uaf_use_absolute_font_path = 0; } $uaf_upload_path = uaf_path_details(); $uaf_upload_dir = $uaf_upload_path['dir']; $uaf_upload_url = $uaf_upload_path['url']; if ($uaf_use_absolute_font_path == 0){ // If user use relative path $url_parts = parse_url($uaf_upload_url); $uaf_upload_url = "$url_parts[path]"; } else { if (is_ssl()){ $uaf_upload_url = preg_replace('#^https?:#', 'https:', $uaf_upload_path['url']); } } ob_start(); $fontsData = uaf_get_uploaded_font_data(); if (!empty($fontsData)): foreach ($fontsData as $key=>$fontData): ?> @font-face { font-family: '<?php echo esc_html($fontData['font_name']) ?>'; src: <?php if (file_exists($uaf_upload_dir.$fontData['font_path'].'.woff2')){ ?>url('<?php echo esc_url($uaf_upload_url.$fontData['font_path']) ?>.woff2') format('woff2'), <?php } ?>url('<?php echo esc_url($uaf_upload_url.$fontData['font_path']) ?>.woff') format('woff'); <?php echo array_key_exists('font_weight',$fontData)?'font-weight: '.esc_html($fontData['font_weight']).';':''; ?> <?php echo array_key_exists('font_style',$fontData)?'font-style: '.esc_html($fontData['font_style']).';':''; ?> font-display: <?php echo esc_html($GLOBALS['uaf_user_settings']['uaf_font_display_property']); ?>; } .<?php echo esc_html($fontData['font_name']) ?>{font-family: '<?php echo esc_html($fontData['font_name']) ?>' !important;} <?php endforeach; endif; $fontsImplementRawData = get_option('uaf_font_implement'); $fontsImplementData = json_decode($fontsImplementRawData, true); if (!empty($fontsImplementData)): foreach ($fontsImplementData as $key=>$fontImplementData): if (isset($fontImplementData['font_name']) && !empty(trim($fontImplementData['font_name']))){ $font_name = $fontImplementData['font_name']; } else { $font_name = $fontsData[$fontImplementData['font_key']]['font_name']; }?> <?php echo esc_html($fontImplementData['font_elements']); ?>{ font-family: '<?php echo esc_html($font_name); ?>' !important; } <?php endforeach; endif; $uaf_style = ob_get_contents(); $uafStyleSheetPath = $uaf_upload_path['dir'].'/uaf.css'; $fh = fopen($uafStyleSheetPath, 'w') or die("Can't open file"); fwrite($fh, $uaf_style); fclose($fh); ob_end_clean(); ob_start(); $fontsData = uaf_get_uploaded_font_data(); if (!empty($fontsData)): foreach ($fontsData as $key=>$fontData): ?> @font-face { font-family: '<?php echo esc_html($fontData['font_name']) ?>'; src: <?php if (file_exists($uaf_upload_dir.$fontData['font_path'].'.woff2')){ ?>url('<?php echo esc_url($uaf_upload_url.$fontData['font_path']) ?>.woff2') format('woff2'), <?php } ?>url('<?php echo esc_url($uaf_upload_url.$fontData['font_path']) ?>.woff') format('woff'); <?php echo array_key_exists('font_weight',$fontData)?'font-weight: '.esc_html($fontData['font_weight']).';':''; ?> <?php echo array_key_exists('font_style',$fontData)?'font-style: '.esc_html($fontData['font_style']).';':''; ?> font-display: <?php echo esc_html($GLOBALS['uaf_user_settings']['uaf_font_display_property']); ?>; } .<?php echo esc_html($fontData['font_name']) ?>{font-family: '<?php echo esc_html($fontData['font_name']) ?>' !important;} .et_gf_<?php echo esc_html($fontData['font_name']) ?>{background:none !important;font-family:<?php echo esc_html($fontData['font_name']) ?>;text-indent:0 !important;font-size:25px;} <?php endforeach; endif; $uaf_style = ob_get_contents(); $uafStyleSheetPath = $uaf_upload_path['dir'].'/admin-uaf.css'; $fh = fopen($uafStyleSheetPath, 'w') or die("Can't open file"); fwrite($fh, $uaf_style); fclose($fh); $uafStyleSheetPath = $uaf_upload_path['dir'].'/admin-uaf-rtl.css'; $fh = fopen($uafStyleSheetPath, 'w') or die("Can't open file"); fwrite($fh, $uaf_style); fclose($fh); ob_end_clean(); update_option('uaf_css_updated_timestamp', time()); // Time entry for stylesheet version update_option('uaf_site_url', base64_encode(site_url())); uaf_clear_plugins_cache(); // CLEAN plugin's cache. } function uaf_get_language_selector(){ $enableMultiLang = ''; $returnSelectHTML = ''; if ($GLOBALS['uaf_user_settings']['uaf_enable_multi_lang_support'] == 1){ $enableMultiLang = TRUE; $supported_multi_lang_plugins = $GLOBALS['uaf_fix_settings']['supported_multi_lang_plugins']; foreach ($supported_multi_lang_plugins as $key => $plugin_name) { if (is_plugin_active($plugin_name)){ $active_multi_lang_plugin = $plugin_name; } //echo $active_multi_lang_plugin; } if (isset($active_multi_lang_plugin)){ switch ($active_multi_lang_plugin) { case 'polylang/polylang.php': // WHEN POLYLANG PLUGIN IS ACTIVATED. $active_languages = pll_languages_list(array('fields'=>'')); foreach ($active_languages as $key => $active_language) { $lang_select_data[$active_language->w3c] = $active_language->name; } break; case 'polylang-pro/polylang.php': // WHEN POLYLANG PRO PLUGIN IS ACTIVATED. $active_languages = pll_languages_list(array('fields'=>'')); foreach ($active_languages as $key => $active_language) { $lang_select_data[$active_language->w3c] = $active_language->name; } break; case 'sitepress-multilingual-cms/sitepress.php': // WHEN WPML PLUGIN IS ACTIVATED. $active_languages = icl_get_languages(); foreach ($active_languages as $key => $active_language) { $lang_select_data[str_replace('_', '-',$active_language['default_locale'])] = $active_language['translated_name'].' ('.$active_language["native_name"].')'; } break; } $returnSelectHTML = '<select style="width:200px;" class="uaf_required" name="language"><option selected="selected" value="">- Select - </option><option value="all_lang">All Languages</option>'; foreach ($lang_select_data as $locale => $lang_name) { //$returnSelectHTML .= '<option value="body.language-'.$locale.'">'.$lang_name.'</option>'; $returnSelectHTML .= '<option value="html:lang('.esc_attr($locale).')">'.esc_attr($lang_name).'</option>'; } $returnSelectHTML .= '</select>'; } else { $returnSelectHTML = "You don't have multi lingual plugin active which is supported by Use Any Font."; } } $return['enableMultiLang'] = $enableMultiLang; $return['selectHTML'] = $returnSelectHTML; return $return; } function uaf_save_font_assign(){ $font_key = sanitize_key($_POST['font_key']); if (isset($_POST['elements'])) { $elements = array_map('sanitize_text_field', $_POST['elements']); } else { $elements = array(); } $custom_elements = trim(sanitize_text_field($_POST['custom_elements'])); $fontsData = uaf_get_uploaded_font_data(); $font_name = $fontsData[$font_key]['font_name']; $fontsImplementRawData = get_option('uaf_font_implement'); $fontsImplementData = json_decode($fontsImplementRawData, true); if (empty($fontsImplementData)): $fontsImplementData = array(); endif; $fontElements = array(); $fontElements[] = @join(', ',$elements); $fontElements[] = @join(', ',array_filter(array_map('trim',explode("\n", $custom_elements)))); $fontElements = array_filter(array_map('trim',$fontElements)); $finalElements = join(', ', $fontElements); $finalElements = uaf_langutizse_elements($finalElements); if (!empty($finalElements) && !empty($_POST['font_key'])){ $fontsImplementData[date('ymdhis')] = array( 'font_key' => $font_key, 'font_name' => $font_name, 'font_elements' => $finalElements ); $updateFontsImplementData = json_encode($fontsImplementData); update_option('uaf_font_implement',$updateFontsImplementData); uaf_write_css(); $return['status'] = 'success'; $return['body'] = 'Font Assigned'; } else { $return['body'] = "Couldn't assign font. Please select font and atleast one element or add a custom element"; $return['status'] = "error"; } return $return; } function uaf_langutizse_elements($finalElements){ if (isset($_POST['language']) && ($_POST['language'] != 'all_lang')){ $language = sanitize_text_field($_POST['language']); $finalElementArray = explode(',', $finalElements); $finalElementArray = array_map('trim', $finalElementArray); $prefixed_array = preg_filter('/^/', $language.' ', $finalElementArray); $finalElements = join(', ', $prefixed_array); } return $finalElements; } function uaf_delete_font(){ $uaf_paths = uaf_path_details(); $fontsData = uaf_get_uploaded_font_data(); $key_to_delete = sanitize_key($_GET['delete_font_key']); @unlink(realpath($uaf_paths['dir'].$fontsData[$key_to_delete]['font_path'].'.woff2')); @unlink(realpath($uaf_paths['dir'].$fontsData[$key_to_delete]['font_path'].'.woff')); @unlink(realpath($uaf_paths['dir'].$fontsData[$key_to_delete]['font_path'].'.eot')); unset($fontsData[$key_to_delete]); $updateFontData = json_encode($fontsData); update_option('uaf_font_data',$updateFontData); // DELETING FONT ASSIGN AFTER THE FONT IS DELETED. REMOVED DUE TO MULTI VARIATION COMPLICATIONS. /*$fontsImplementRawData = get_option('uaf_font_implement'); $fontsImplementData = json_decode($fontsImplementRawData, true); if (!empty($fontsImplementData)){ foreach ($fontsImplementData as $implement_key => $font_assign_array) { if ($key_to_delete == $font_assign_array['font_key']){ unset($fontsImplementData[$implement_key]); } } $updatefontsImplementData = json_encode($fontsImplementData); update_option('uaf_font_implement',$updatefontsImplementData); }*/ $return['status'] = 'success'; $return['body'] = 'Font Deleted'; uaf_write_css(); return $return; } function uaf_delete_font_assign(){ $fontsImplementRawData = get_option('uaf_font_implement'); $fontsImplementData = json_decode($fontsImplementRawData, true); $key_to_delete = sanitize_key($_GET['delete_font_assign_key']); unset($fontsImplementData[$key_to_delete]); $updateFontsImplementData = json_encode($fontsImplementData); update_option('uaf_font_implement',$updateFontsImplementData); uaf_write_css(); $return['status'] = 'success'; $return['body'] = 'Font assign removed'; return $return; } function uaf_get_uploaded_predefined_fonts(){ $fontsRawData = get_option('uaf_font_data'); $fontsData = json_decode($fontsRawData, true); $predefindFonts = array(); if (!empty($fontsData)){ foreach ($fontsData as $fontKey => $fontData) { if (isset($fontData['predefined_font_id']) && !empty(trim($fontData['predefined_font_id']))){ $predefindFonts[] = $fontData['predefined_font_id']; } } } return $predefindFonts; } function uaf_add_pre_defined_font($fontId){ $url = $GLOBALS['uaf_user_settings']['uaf_server_url']. '/uaf_convertor/import_predefine_font.php'; $response = wp_remote_post( $url, array( 'method' => 'POST', 'redirection' => 5, 'httpversion' => '1.0', 'timeout' => 10000, 'body' => array( 'api_key' => $GLOBALS['uaf_user_settings']['uaf_api_key'], 'url' => base64_decode($GLOBALS['uaf_user_settings']['uaf_activated_url']), 'font_count' => uaf_count_uploaded_fonts(), 'font_id' => $fontId ) ) ); if ( is_wp_error( $response ) ) { $error_message = $response->get_error_message(); $return['status'] = 'error'; $return['body'] = "Something went wrong: $error_message"; } else { $responseArray = json_decode($response['body'], true); if ($responseArray['global']['status'] == 'error'): $return['status'] = 'error'; $return['body'] = $responseArray['global']['msg']; else: $return = uaf_save_font_files($responseArray['global']['font_name'], '', '', $response['body'], $fontId); endif; } return $return; } function uaf_group_fontdata_by_fontname($fontDatas){ $returnArray = array(); if (!empty($fontDatas)){ foreach($fontDatas as $key => $value){ $returnArray[$value['font_name']][$key] = $value; } } return $returnArray; } function uaf_order_font_by_weight($a, $b) { return strcmp($a["font_weight"], $b["font_weight"]); } uaf_admin_functions.php 0000666 00000030022 15166341473 0011303 0 ustar 00 <?php if ( ! defined( 'ABSPATH' ) ) exit; function uaf_create_menu() { add_menu_page( 'Use Any Font', 'Use Any Font', 'manage_options', 'use-any-font', 'uaf_interface', 'dashicons-editor-textcolor'); } function uaf_admin_assets(){ wp_register_style('uaf_admin_css', plugins_url('../assets/css/uaf_admin.css', __FILE__),'', $GLOBALS['uaf_current_version']); wp_enqueue_style('uaf_admin_css'); $uaf_upload = wp_upload_dir(); $uaf_upload_url = set_url_scheme($uaf_upload['baseurl']); $uaf_upload_url = $uaf_upload_url . '/useanyfont/'; wp_register_style('uaf-font-style', $uaf_upload_url.'admin-uaf.css', array(), get_option('uaf_css_updated_timestamp')); wp_enqueue_style('uaf-font-style'); add_editor_style($uaf_upload_url.'admin-uaf.css'); wp_register_script('uaf_admin_js', plugins_url('../assets/js/uaf_admin.js', __FILE__), '', $GLOBALS['uaf_current_version'], true); $uaf_server_url = array($GLOBALS['uaf_user_settings']['uaf_server_url']); wp_localize_script( 'uaf_admin_js', 'uaf_server_url', $uaf_server_url ); wp_enqueue_script( 'uaf_admin_js' ); } function uaf_interface(){ $uaf_tabs = array( 'api' => array('name'=>'API Key','path'=>'uaf_api_interface.php'), 'font_upload' => array('name'=>'Upload Font','path'=>'uaf_font_upload_js.php'), // PHP Uploader discontinued. //'font_upload' => array('name'=>'Upload Font','path'=>'uaf_font_upload_'.$GLOBALS['uaf_user_settings']['uaf_uploader_type'].'.php'), 'font_assign' => array('name'=>'Assign Font','path'=>'uaf_font_assign.php'), 'settings' => array('name'=>"Settings",'path'=>'uaf_settings.php'), 'instructions' => array('name'=>"Instructions",'path'=>'uaf_instructions.php') ); $uaf_tabs = apply_filters( 'uaf_tabs_filter', $uaf_tabs); include UAF_FILE_PATH.'includes/views/uaf_main.php'; } function uaf_predefined_font_interface(){ include UAF_FILE_PATH.'includes/views/uaf_predefined_fonts.php'; wp_die(); } function uaf_get_options(){ $uaf_user_settings = $GLOBALS['uaf_user_settings']; foreach ($uaf_user_settings as $option_name => $option_value) { $GLOBALS['uaf_user_settings'][$option_name] = get_option($option_name, $option_value); } $GLOBALS['uaf_user_settings']['uaf_server_url'] = $GLOBALS['uaf_fix_settings']['serverUrl'][$GLOBALS['uaf_user_settings']['uaf_server_url_type']]; } function uaf_api_key_activate(){ $uaf_api_key = trim(sanitize_key($_POST['uaf_api_key'])); $uaf_site_url = site_url(); if (!empty($uaf_api_key)){ $api_key_return = wp_remote_get($GLOBALS['uaf_user_settings']['uaf_server_url'].'/uaf_convertor/validate_key.php?license_key='.$uaf_api_key.'&url='.$uaf_site_url, array('timeout'=>300,'sslverify'=>false,'user-agent'=>get_bloginfo( 'url' ))); if ( is_wp_error( $api_key_return ) ) { $error_message = $api_key_return->get_error_message(); $return['body'] = "Something went wrong: $error_message"; $return['status'] = 'error'; } else { $api_key_return = json_decode($api_key_return['body']); if ($api_key_return->status == 'success'){ update_option('uaf_api_key', $uaf_api_key); update_option('uaf_activated_url', base64_encode($uaf_site_url)); update_option('uaf_hide_key', 'no'); uaf_get_options(); uaf_write_css(); } $return['body'] = $api_key_return->msg; $return['status'] = $api_key_return->status; } } else { $return['body'] = 'Please keep API key to activate.'; $return['status'] = 'error'; } return $return; } function uaf_api_key_deactivate(){ $uaf_api_key = $GLOBALS['uaf_user_settings']['uaf_api_key']; $uaf_activated_url = base64_decode($GLOBALS['uaf_user_settings']['uaf_activated_url']); $api_key_return = wp_remote_get($GLOBALS['uaf_user_settings']['uaf_server_url'].'/uaf_convertor/deactivate_key.php?license_key='.$uaf_api_key.'&url='.$uaf_activated_url, array('timeout'=>300,'sslverify'=>false,'user-agent'=>get_bloginfo( 'url' ))); if ( is_wp_error( $api_key_return ) ) { $error_message = $api_key_return->get_error_message(); $return['body'] = "Something went wrong: $error_message"; $return['status'] = 'error'; } else { $api_key_return = json_decode($api_key_return['body']); if ($api_key_return->status == 'success'){ update_option('uaf_api_key', ''); update_option('uaf_activated_url', ''); uaf_get_options(); uaf_write_css(); } $return['status'] = $api_key_return->status; $return['body'] = $api_key_return->msg; } return $return; } function uaf_api_key_hide(){ update_option('uaf_hide_key','yes'); $return['status'] = 'success'; $return['body'] = 'Key hidden. You must remove the key and add again to see it back.'; uaf_get_options(); return $return; } function uaf_plugin_initialize(){ if (get_option('uaf_current_version') != $GLOBALS['uaf_current_version']){ add_option('uaf_install_date', date('Y-m-d')); if (!empty(trim(get_option('uaf_api_key')))){ update_option('uaf_activated_url',base64_encode(site_url())); } uaf_create_folder(); uaf_write_css(); update_option('uaf_current_version', $GLOBALS['uaf_current_version']); $uaf_user_settings = $GLOBALS['uaf_user_settings']; foreach ($uaf_user_settings as $option_name => $option_value) { add_option($option_name, $option_value); } } uaf_get_options(); uaf_trigger_actions(); //uaf_check_site_url(); include UAF_FILE_PATH.'includes/functions/uaf_editor_functions.php'; // EDITOR FILTERS AND HOOKS } function uaf_plugin_activated(){ uaf_create_folder(); uaf_get_options(); uaf_write_css(); } function uaf_max_upload_size_for_php($sendinbytes = false){ $maxUploadSizeForPHP = $GLOBALS['uaf_fix_settings']['allowedFontSize']; $wpAllowedMaxSize = wp_max_upload_size(); $wpAllowedMaxSizeToMB = $wpAllowedMaxSize / 1048576 ; if ($wpAllowedMaxSizeToMB < $GLOBALS['uaf_fix_settings']['allowedFontSize']){ $maxUploadSizeForPHP = $wpAllowedMaxSizeToMB; } if ($sendinbytes) { return $maxUploadSizeForPHP * 1048576; } else { return $maxUploadSizeForPHP; } } function uaf_check_site_url(){ $uaf_api_key = $GLOBALS['uaf_user_settings']['uaf_api_key']; $uaf_site_url = $GLOBALS['uaf_user_settings']['uaf_site_url']; $uaf_current_url = base64_encode(site_url()); if (!empty($uaf_api_key) && ($uaf_site_url != $uaf_current_url)){ uaf_write_css(); } } function uaf_save_options(){ $all_fields_name = array( 'uaf_server_url_type', //'uaf_uploader_type', 'uaf_use_absolute_font_path', 'uaf_disbale_editor_font_list', 'uaf_enable_multi_lang_support', 'uaf_font_display_property' ); foreach ($all_fields_name as $fieldname) { update_option($fieldname,sanitize_text_field($_POST[$fieldname])); } uaf_get_options(); uaf_write_css(); $return['status'] = 'ok'; $return['body'] = 'Settings Saved'; return $return; } function uaf_admin_notices(){ // ASKING FOR REVIEW if (isset($_GET['uaf_reviews_notice_hide']) == 1){ update_option('uaf_reviews_notice_hide','yes'); } if (get_option('uaf_reviews_notice_hide') != 'yes'){ $installedDate = strtotime(get_option('uaf_install_date')); $todayDate = time(); $installedDays = round(($todayDate - $installedDate) / (60 * 60 * 24)); $fonts_uploaded = uaf_count_uploaded_fonts(); if ($installedDays > 30 && $fonts_uploaded > 1){ echo '<div class="updated success" style="padding:10px; font-size:16px; line-height:1.6;color:#205225;"> Hey, You have been using Use Any Font for more than 30 days - that’s awesome! Could you please do us a BIG favor and give it a 5-star rating on WordPress ? Just to help us spread the word and boost our motivation.<br/> <ul style="padding-left:50px;list-style-type: square;"> <li><a href="https://wordpress.org/support/plugin/use-any-font/reviews/?filter=5" target="_blank">Ok, you deserve it</a></li> <li><a href="https://dineshkarki.com.np/contact" target="_blank">I still have problem !!</a></li> <li><a href="?page=use-any-font&uaf_reviews_notice_hide=1">I already did</a></li> <li><a href="?page=use-any-font&uaf_reviews_notice_hide=1">Hide this message</a></li> </ul> </div>'; } } // EOF ASKING FOR REVIEW } function uaf_trigger_actions(){ $actionReturn = array(); if (current_user_can('manage_options')){ $actionReturnNonceError = array( 'status' => 'error', 'body' => 'Sorry, your nonce did not verify. Please try again.' ); if (isset($_POST['uaf_api_key_activate'])){ if ( isset($_POST['uaf_nonce']) && wp_verify_nonce($_POST['uaf_nonce'], 'uaf_api_key_actions')) { $actionReturn = uaf_api_key_activate(); } else { $actionReturn = $actionReturnNonceError; } } if (isset($_POST['uaf_api_key_deactivate'])){ if ( isset($_POST['uaf_nonce']) && wp_verify_nonce($_POST['uaf_nonce'], 'uaf_api_key_actions')) { $actionReturn = uaf_api_key_deactivate(); } else { $actionReturn = $actionReturnNonceError; } } if (isset($_POST['uaf_api_key_hide'])){ if ( isset($_POST['uaf_nonce']) && wp_verify_nonce($_POST['uaf_nonce'], 'uaf_api_key_actions')) { $actionReturn = uaf_api_key_hide(); } else { $actionReturn = $actionReturnNonceError; } } if (isset($_POST['submit-uaf-font-js'])){ $font_weight = $font_style = ''; if (isset($_POST['enable_font_variation'])){ $font_weight = sanitize_key($_POST['font_weight']); $font_style = sanitize_key($_POST['font_style']); } $actionReturn = uaf_save_font_files($_POST['font_name'], $font_weight, $font_style, $_POST['convert_response']); } /* NOT in use till API accepts font file in Binary if (isset($_POST['submit-uaf-font-php'])){ if ( isset($_POST['uaf_nonce']) && wp_verify_nonce($_POST['uaf_nonce'], 'uaf_font_upload_php')) { $actionReturn = uaf_upload_font_to_server(); if ($actionReturn['status'] == 'success'){ $font_weight = $font_style = ''; if (isset($_POST['enable_font_variation'])){ $font_weight = sanitize_key($_POST['font_weight']); $font_style = sanitize_key($_POST['font_style']); } $actionReturn = uaf_save_font_files($_POST['font_name'], $font_weight, $font_style, $actionReturn['body']); } } else { $actionReturn = $actionReturnNonceError; } }*/ if (isset($_POST['submit-uaf-font-assign'])){ if ( isset($_POST['uaf_nonce']) && wp_verify_nonce($_POST['uaf_nonce'], 'uaf_font_assign')) { $actionReturn = uaf_save_font_assign(); } else { $actionReturn = $actionReturnNonceError; } } if (isset($_GET['delete_font_assign_key'])){ if ( isset($_GET['uaf_nonce']) && wp_verify_nonce($_GET['uaf_nonce'], 'uaf_delete_font_assign')) { $actionReturn = uaf_delete_font_assign(); } else { $actionReturn = $actionReturnNonceError; } } if (isset($_GET['delete_font_key'])){ if ( isset($_GET['uaf_nonce']) && wp_verify_nonce($_GET['uaf_nonce'], 'uaf_delete_font')) { $actionReturn = uaf_delete_font(); } else { $actionReturn = $actionReturnNonceError; } } if (isset($_POST['save-uaf-options'])){ if ( isset($_POST['uaf_nonce']) && wp_verify_nonce($_POST['uaf_nonce'], 'uaf_save_settings')) { $actionReturn = uaf_save_options(); } else { $actionReturn = $actionReturnNonceError; } } if (isset($_GET['predefinedfontid'])){ $actionReturn = uaf_add_pre_defined_font($_GET['predefinedfontid']); } } else { $actionReturn = array( 'status' => 'error', 'body' => 'Sorry, Something went wrong !' ); } $GLOBALS['uaf_action_return'] = $actionReturn; }
| ver. 1.4 |
Github
|
.
| PHP 5.4.45 | Generation time: 0 |
proxy
|
phpinfo
|
Settings