Changeset 2961908
- Timestamp:
- 09/02/2023 09:00:33 AM (3 years ago)
- Location:
- use-bunnyfont-host-google-fonts
- Files:
-
- 73 added
- 3 edited
-
tags/1.5 (added)
-
tags/1.5/assets (added)
-
tags/1.5/assets/remove-gf.js (added)
-
tags/1.5/bunnyfont.php (added)
-
tags/1.5/composer.json (added)
-
tags/1.5/composer.lock (added)
-
tags/1.5/inc (added)
-
tags/1.5/inc/options.php (added)
-
tags/1.5/readme.txt (added)
-
tags/1.5/vendor (added)
-
tags/1.5/vendor/appsero (added)
-
tags/1.5/vendor/appsero/client (added)
-
tags/1.5/vendor/appsero/client/.editorconfig (added)
-
tags/1.5/vendor/appsero/client/.github (added)
-
tags/1.5/vendor/appsero/client/.github/workflows (added)
-
tags/1.5/vendor/appsero/client/.github/workflows/wpcs.yml (added)
-
tags/1.5/vendor/appsero/client/.gitignore (added)
-
tags/1.5/vendor/appsero/client/.php-cs-fixer.dist.php (added)
-
tags/1.5/vendor/appsero/client/composer.json (added)
-
tags/1.5/vendor/appsero/client/composer.lock (added)
-
tags/1.5/vendor/appsero/client/phpcs.xml.dist (added)
-
tags/1.5/vendor/appsero/client/readme.md (added)
-
tags/1.5/vendor/appsero/client/src (added)
-
tags/1.5/vendor/appsero/client/src/Client.php (added)
-
tags/1.5/vendor/appsero/client/src/Insights.php (added)
-
tags/1.5/vendor/appsero/client/src/License.php (added)
-
tags/1.5/vendor/appsero/client/src/Updater.php (added)
-
tags/1.5/vendor/autoload.php (added)
-
tags/1.5/vendor/composer (added)
-
tags/1.5/vendor/composer/ClassLoader.php (added)
-
tags/1.5/vendor/composer/InstalledVersions.php (added)
-
tags/1.5/vendor/composer/LICENSE (added)
-
tags/1.5/vendor/composer/autoload_classmap.php (added)
-
tags/1.5/vendor/composer/autoload_namespaces.php (added)
-
tags/1.5/vendor/composer/autoload_psr4.php (added)
-
tags/1.5/vendor/composer/autoload_real.php (added)
-
tags/1.5/vendor/composer/autoload_static.php (added)
-
tags/1.5/vendor/composer/installed.json (added)
-
tags/1.5/vendor/composer/installed.php (added)
-
tags/1.5/vendor/composer/platform_check.php (added)
-
trunk/bunnyfont.php (modified) (6 diffs)
-
trunk/composer.json (added)
-
trunk/composer.lock (added)
-
trunk/inc/options.php (modified) (1 diff)
-
trunk/readme.txt (modified) (3 diffs)
-
trunk/vendor (added)
-
trunk/vendor/appsero (added)
-
trunk/vendor/appsero/client (added)
-
trunk/vendor/appsero/client/.editorconfig (added)
-
trunk/vendor/appsero/client/.github (added)
-
trunk/vendor/appsero/client/.github/workflows (added)
-
trunk/vendor/appsero/client/.github/workflows/wpcs.yml (added)
-
trunk/vendor/appsero/client/.gitignore (added)
-
trunk/vendor/appsero/client/.php-cs-fixer.dist.php (added)
-
trunk/vendor/appsero/client/composer.json (added)
-
trunk/vendor/appsero/client/composer.lock (added)
-
trunk/vendor/appsero/client/phpcs.xml.dist (added)
-
trunk/vendor/appsero/client/readme.md (added)
-
trunk/vendor/appsero/client/src (added)
-
trunk/vendor/appsero/client/src/Client.php (added)
-
trunk/vendor/appsero/client/src/Insights.php (added)
-
trunk/vendor/appsero/client/src/License.php (added)
-
trunk/vendor/appsero/client/src/Updater.php (added)
-
trunk/vendor/autoload.php (added)
-
trunk/vendor/composer (added)
-
trunk/vendor/composer/ClassLoader.php (added)
-
trunk/vendor/composer/InstalledVersions.php (added)
-
trunk/vendor/composer/LICENSE (added)
-
trunk/vendor/composer/autoload_classmap.php (added)
-
trunk/vendor/composer/autoload_namespaces.php (added)
-
trunk/vendor/composer/autoload_psr4.php (added)
-
trunk/vendor/composer/autoload_real.php (added)
-
trunk/vendor/composer/autoload_static.php (added)
-
trunk/vendor/composer/installed.json (added)
-
trunk/vendor/composer/installed.php (added)
-
trunk/vendor/composer/platform_check.php (added)
Legend:
- Unmodified
- Added
- Removed
-
use-bunnyfont-host-google-fonts/trunk/bunnyfont.php
r2931777 r2961908 5 5 * Plugin URI: https://wordpress.org/plugins/use-bunnyfont-host-google-fonts/ 6 6 * Description: Disable and remove google fonts or simply replace all Google Fonts with BunnyFonts (GDPR friendly) 7 * Version: 1. 4.27 * Version: 1.5 8 8 * Author: easywpstuff 9 9 * Author URI: https://easywpstuff.com/ … … 54 54 55 55 require BFH_PATH . "/inc/options.php"; 56 56 require BFH_PATH . "/vendor/autoload.php"; 57 57 /** 58 58 * Begins execution of the plugin. … … 62 62 function bfh_run_bunnyfont( $html ) { 63 63 $html = str_replace('fonts.googleapis.com', 'fonts.bunny.net', $html); 64 $html = str_replace('fonts.gstatic.com" crossorigin', 'fonts.bunny.net" crossorigin', $html); 65 $html = str_replace("fonts.gstatic.com' crossorigin", "fonts.bunny.net' crossorigin", $html); 64 $html = preg_replace_callback('/<link[^>]+>/', function($match) { 65 // Check if the <link> tag contains crossorigin, fonts.gstatic, and prefetch or preconnect 66 if (strpos($match[0], 'crossorigin') !== false 67 && strpos($match[0], 'fonts.gstatic') !== false 68 && (strpos($match[0], 'prefetch') !== false || strpos($match[0], 'preconnect') !== false) 69 ) { 70 // Replace fonts.gstatic.com with fonts.bunny.net 71 $match[0] = str_replace('fonts.gstatic.com', 'fonts.bunny.net', $match[0]); 72 } 73 return $match[0]; 74 }, $html); 66 75 return $html; 67 76 } … … 88 97 function bfh_remove_google_add_bunny($output) { 89 98 90 $output = str_replace('fonts.googleapis.com', 'fonts.bunny.net', $output); 91 $output = str_replace('fonts.gstatic.com" crossorigin', 'fonts.bunny.net" crossorigin', $output); 92 $output = str_replace("fonts.gstatic.com' crossorigin", "fonts.bunny.net' crossorigin", $output); 93 94 // Remove Google fonts 95 $output = preg_replace('/<link\s+[^>]*?href=["\']?(?<url>(?:https?:)?\/\/fonts\.googleapis\.com\/[^"\'>]+)["\']?[^>]*?>/', '', $output); 96 97 $output = preg_replace('/@font-face\s*\{[^\}]*?src:\s*url\([\'"]?(?<url>(?:https?:)?\/\/fonts\.gstatic\.com\/[^\'"]+)[\'"]?\).*?\}/s', '', $output); 98 99 $output = preg_replace('/@import\s+url\([\'"]?(?<url>(?:https?:)?\/\/fonts\.googleapis\.com\/[^\'"]+)[\'"]?\);/', '', $output); 100 101 $output = preg_replace('/<script[^>]*>([^<]*WebFontConfig[^<]*googleapis\.com[^<]*)<\/script>/', '', $output); 99 $output = bfh_run_bunnyfont( $output ); 100 $output = bfh_remove_google_fonts( $output ); 102 101 103 102 return $output; … … 115 114 116 115 // run bunnyfont function 116 117 function bfh_choose_ob_start_callback() { 118 $options = get_option('bunnyfonts_options'); 119 120 // Define the default callback 121 $callback = null; 122 123 // Check if the replace font option is enabled 124 if (isset($options['replace_google_fonts']) && $options['replace_google_fonts'] && !isset($options['block_google_fonts'])) { 125 $callback = 'bfh_run_bunnyfont'; 126 add_filter( 'wordpress_prepare_output', 'bfh_run_bunnyfont', 11 ); 127 add_filter('groovy_menu_final_output', 'bfh_run_bunnyfont', 11); 128 } 129 130 // Check if remove font option is enabled 131 if (isset($options['block_google_fonts']) && $options['block_google_fonts'] && !isset($options['replace_google_fonts'])) { 132 $callback = 'bfh_remove_google_fonts'; 133 add_filter( 'wordpress_prepare_output', 'bfh_remove_google_fonts', 11 ); 134 add_filter('groovy_menu_final_output', 'bfh_remove_google_fonts', 11); 135 } 136 137 // Check if both options are enabled 138 if (isset($options['block_google_fonts']) && $options['block_google_fonts'] && isset($options['replace_google_fonts']) && $options['replace_google_fonts']) { 139 $callback = 'bfh_remove_google_add_bunny'; 140 add_filter( 'wordpress_prepare_output', 'bfh_remove_google_add_bunny', 11 ); 141 add_filter('groovy_menu_final_output', 'bfh_remove_google_add_bunny', 11); 142 } 143 144 if ($callback !== null) { 145 ob_start($callback); 146 } 147 } 148 117 149 function run_bunnyfont_template_redirect() { 118 $options = get_option('bunnyfonts_options'); 119 // check if the replace font option is enabled 120 if (isset($options['replace_google_fonts']) && $options['replace_google_fonts'] && !isset($options['block_google_fonts'])) { 121 ob_start('bfh_run_bunnyfont'); 122 } 123 // check if remove font option is enabled 124 if (isset($options['block_google_fonts']) && $options['block_google_fonts'] && !isset($options['replace_google_fonts'])) { 125 ob_start('bfh_remove_google_fonts'); 126 } 127 // check if both option is enabled 128 if (isset($options['block_google_fonts']) && $options['block_google_fonts'] && isset($options['replace_google_fonts']) && $options['replace_google_fonts']) { 129 ob_start('bfh_remove_google_add_bunny'); 130 } 131 } 132 add_action('template_redirect', 'run_bunnyfont_template_redirect', 9); 150 // Call the function to choose the ob_start callback 151 bfh_choose_ob_start_callback(); 152 } 153 154 add_action('template_redirect', 'run_bunnyfont_template_redirect', -1000); 155 133 156 134 157 … … 158 181 } 159 182 add_filter( 'plugin_action_links_' . plugin_basename( __FILE__ ), 'bunnyadd_settings_link' ); 183 184 185 /** 186 * Initialize the plugin tracker 187 * 188 * @return void 189 */ 190 function appsero_init_tracker_use_bunnyfont_host_google_fonts() { 191 192 if ( ! class_exists( 'Appsero\Client' ) ) { 193 require_once __DIR__ . '/appsero/src/Client.php'; 194 } 195 196 $client = new Appsero\Client( '84913d70-971f-41dc-b310-6aed8fcfc989', 'Replace or Remove Google fonts', __FILE__ ); 197 198 // Active insights 199 $client->insights()->init(); 200 201 } 202 203 appsero_init_tracker_use_bunnyfont_host_google_fonts(); -
use-bunnyfont-host-google-fonts/trunk/inc/options.php
r2860127 r2961908 37 37 submit_button('Save Changes'); 38 38 ?> 39 </form> 39 </form><script>jQuery(document).ready(function(e){var o=e("#replace_google_fonts"),t=e('td label[for="block_google_fonts"]'),n="This option will remove the remaining Google Fonts that are not compatible with the Bunnyfonts replacement.",l="This option will remove all the Google fonts from HTML.";o.prop("checked")?t.text(n):t.text(l),o.change(function(){o.prop("checked")?t.text(n):t.text(l)})});</script> 40 40 </div><div class="easy"><p> 41 41 -
use-bunnyfont-host-google-fonts/trunk/readme.txt
r2931777 r2961908 4 4 Tags: remove google fonts, disable google fonts, GDPR, google fonts, speed 5 5 Requires at least: 5.0 6 Tested up to: 6. 2.26 Tested up to: 6.3 7 7 Requires PHP: 5.6 8 Stable tag: 1. 4.28 Stable tag: 1.5 9 9 License: GNU General Public License v2 or later 10 10 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 55 55 56 56 == Changelog == 57 = 1.5 = 58 * Added Support for Smart Slider and Groovy Menu. 59 * Fixed Minor Issues. 57 60 = 1.4 = 58 61 * Improved font removal … … 66 69 = 1.0 = 67 70 * Initial release. 71 72 73 ## Privacy Policy 74 This plugin uses [Appsero](https://appsero.com) SDK to collect some telemetry data upon user's confirmation. This helps us to troubleshoot problems faster & make product improvements. 75 76 Appsero SDK **does not gather any data by default.** The SDK only starts gathering basic telemetry data **when a user allows it via the admin notice**. We collect the data to ensure a great user experience for all our users. 77 78 Integrating Appsero SDK **DOES NOT IMMEDIATELY** start gathering data, **without confirmation from users in any case.** 79 80 Learn more about how [Appsero collects and uses this data](https://appsero.com/privacy-policy/).
Note: See TracChangeset
for help on using the changeset viewer.