PluginProbe ʕ •ᴥ•ʔ
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization / 1.5.6
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization v1.5.6
1.19.8 1.19.7 1.19.6 1.19.5 trunk 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.12.0 1.13.0 1.14.0 1.15.0 1.15.1 1.15.2 1.15.3 1.16.0 1.16.1 1.16.2 1.16.3 1.16.4 1.16.5 1.16.6 1.16.7 1.16.8 1.17.0 1.17.6 1.17.7 1.17.8 1.17.9 1.18.0 1.18.1 1.18.2 1.18.3 1.18.4 1.18.5 1.18.6 1.18.7 1.18.8 1.18.9 1.19.0 1.19.1 1.19.2 1.19.3 1.19.4 1.3.19 1.3.20 1.4.0 1.4.1 1.5.0 1.5.1 1.5.10 1.5.11 1.5.12 1.5.13 1.5.14 1.5.15 1.5.16 1.5.17 1.5.18 1.5.19 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.7.0 1.7.1 1.8.0 1.8.1 1.8.3 1.9.0 1.9.1 1.9.2
nitropack / main.php
nitropack Last commit date
classes 4 years ago nitropack-sdk 4 years ago view 4 years ago advanced-cache.php 5 years ago cf-helper.php 5 years ago constants.php 4 years ago diagnostics.php 4 years ago functions.php 4 years ago integrations.php 4 years ago main.php 4 years ago readme.txt 4 years ago uninstall.php 4 years ago wp-cli.php 5 years ago
main.php
152 lines
1 <?php
2 /*
3 Plugin Name: NitroPack
4 Plugin URI: https://nitropack.io/platform/wordpress
5 Description: Everything you need for a fast website. Simple set up, easy to use, awesome support. Caching, Lazy Loading, Minification, Defer CSS/JS, CDN and more!
6 Version: 1.5.6
7 Author: NitroPack LLC
8 Author URI: https://nitropack.io/
9 License: GPL2
10 License URI: https://www.gnu.org/licenses/gpl-2.0.html
11 */
12
13 defined( 'ABSPATH' ) or die( 'No script kiddies please!' );
14 $np_basePath = dirname(__FILE__) . '/';
15 require_once $np_basePath . 'functions.php';
16 require_once $np_basePath . 'diagnostics.php';
17
18 if (nitropack_is_wp_cli()) {
19 require_once $np_basePath . 'wp-cli.php';
20 }
21
22 if ( \NitroPack\Integration\Plugin\Ezoic::isActive() ) {
23 if (!nitropack_is_optimizer_request()) {
24 // We need to serve the cached content after Ezoic's output buffering has started at plugins_loaded,0
25 add_action( 'plugins_loaded', function() {
26 add_filter( 'home_url', ['\NitroPack\Integration\Plugin\Ezoic', 'getHomeUrl'] );
27 nitropack_handle_request("plugin-ezoic");
28 remove_filter( 'home_url', ['\NitroPack\Integration\Plugin\Ezoic', 'getHomeUrl'] );
29 }, 1 );
30 } else {
31 add_action( 'plugins_loaded', ['\NitroPack\Integration\Plugin\Ezoic', 'disable'], 1);
32 }
33 } else {
34 nitropack_handle_request("plugin");
35 }
36
37 add_action( 'pre_post_update', 'nitropack_log_post_pre_update', 10, 3);
38 add_action( 'transition_post_status', 'nitropack_handle_post_transition', 10, 3);
39 add_action( 'transition_comment_status', 'nitropack_handle_comment_transition', 10, 3);
40 add_action( 'comment_post', 'nitropack_handle_comment_post', 10, 2);
41 add_action( 'switch_theme', 'nitropack_theme_handler' );
42 add_action( 'shutdown', 'nitropack_execute_purges', -1000 );
43 add_action( 'shutdown', 'nitropack_execute_invalidations', -1000 );
44 add_action( 'shutdown', 'nitropack_execute_warmups', -1000 );
45
46 add_action( 'woocommerce_product_object_updated_props', 'nitropack_handle_product_updates', 0, 2);
47 add_action( 'woocommerce_rest_insert_product', function($post, $request, $creating) {
48 if (!$creating) {
49 nitropack_clean_post_cache($post);
50 }
51 }, 10, 3);
52 add_action( 'woocommerce_rest_insert_product_object', function($product, $request, $creating) {
53 if (!$creating) {
54 $post = get_post($product->id);
55 nitropack_clean_post_cache($post);
56 }
57 }, 10, 3);
58
59 add_action('wcml_set_client_currency', function($currency) {
60 setcookie('np_wc_currency', $currency, time() + (86400 * 7), "/");
61 });
62
63 if (nitropack_has_advanced_cache()) {
64 // Handle automated updates
65 if (!defined("NITROPACK_ADVANCED_CACHE_VERSION") || NITROPACK_VERSION != NITROPACK_ADVANCED_CACHE_VERSION) {
66 add_action( 'plugins_loaded', 'nitropack_install_advanced_cache' );
67 }
68 }
69
70 add_action('wp_footer', 'nitropack_print_heartbeat_script');
71 add_action('admin_footer', 'nitropack_print_heartbeat_script');
72 add_action('get_footer', 'nitropack_print_heartbeat_script');
73
74 if ( is_admin() ) {
75 add_action( 'admin_menu', 'nitropack_menu' );
76 add_action( 'admin_init', 'register_nitropack_settings' );
77 add_action( 'admin_notices', 'nitropack_admin_notices' );
78 add_action( 'network_admin_notices', 'nitropack_admin_notices' );
79 add_action( 'wp_ajax_nitropack_purge_cache', 'nitropack_purge_cache' );
80 add_action( 'wp_ajax_nitropack_invalidate_cache', 'nitropack_invalidate_cache' );
81 add_action( 'wp_ajax_nitropack_clear_residual_cache', 'nitropack_clear_residual_cache' );
82 add_action( 'wp_ajax_nitropack_verify_connect', 'nitropack_verify_connect_ajax' );
83 add_action( 'wp_ajax_nitropack_disconnect', 'nitropack_disconnect' );
84 add_action( 'wp_ajax_nitropack_test_compression_ajax', 'nitropack_test_compression_ajax' );
85 add_action( 'wp_ajax_nitropack_set_compression_ajax', 'nitropack_set_compression_ajax' );
86 add_action( 'wp_ajax_nitropack_set_auto_cache_purge_ajax', 'nitropack_set_auto_cache_purge_ajax' );
87 add_action( 'wp_ajax_nitropack_set_bb_cache_purge_sync_ajax', 'nitropack_set_bb_cache_purge_sync_ajax' );
88 add_action( 'wp_ajax_nitropack_set_cacheable_post_types', 'nitropack_set_cacheable_post_types' );
89 add_action( 'wp_ajax_nitropack_enable_warmup', 'nitropack_enable_warmup' );
90 add_action( 'wp_ajax_nitropack_disable_warmup', 'nitropack_disable_warmup' );
91 add_action( 'wp_ajax_nitropack_warmup_stats', 'nitropack_warmup_stats' );
92 add_action( 'wp_ajax_nitropack_estimate_warmup', 'nitropack_estimate_warmup' );
93 add_action( 'wp_ajax_nitropack_run_warmup', 'nitropack_run_warmup' );
94 add_action( 'wp_ajax_nitropack_purge_single_cache', 'nitropack_purge_single_cache' );
95 add_action( 'wp_ajax_nitropack_invalidate_single_cache', 'nitropack_invalidate_single_cache' );
96 add_action( 'wp_ajax_nitropack_dismiss_hosting_notice', 'nitropack_dismiss_hosting_notice' );
97 add_action( 'wp_ajax_nitropack_dismiss_woocommerce_notice', 'nitropack_dismiss_woocommerce_notice' );
98 add_action( 'wp_ajax_nitropack_reconfigure_webhooks', 'nitropack_reconfigure_webhooks' );
99 add_action( 'wp_ajax_nitropack_generate_report', 'nitropack_generate_report' );//diag_ajax_hook
100 add_action( 'wp_ajax_nitropack_enable_safemode', 'nitropack_enable_safemode' );
101 add_action( 'wp_ajax_nitropack_disable_safemode', 'nitropack_disable_safemode' );
102 add_action( 'wp_ajax_nitropack_safemode_status', 'nitropack_safemode_status' );
103 add_action( 'activated_plugin', 'nitropack_upgrade_handler' );
104 add_action( 'deactivated_plugin', 'nitropack_upgrade_handler' );
105 add_action( 'upgrader_process_complete', 'nitropack_upgrade_handler');
106 add_action( 'update_option_nitropack-enableCompression', 'nitropack_handle_compression_toggle', 10, 2 );
107 add_action( 'add_meta_boxes', 'nitropack_add_meta_box' );
108 add_action( 'plugins_loaded', 'nitropack_offer_safemode');
109
110 register_activation_hook( __FILE__, 'nitropack_activate' );
111 register_deactivation_hook( __FILE__, 'nitropack_deactivate' );
112 } else {
113 if (null !== $nitro = get_nitropack_sdk()) {
114 $GLOBALS["NitroPack.instance"] = $nitro;
115 if (get_option('nitropack-enableCompression') == 1) {
116 $nitro->enableCompression();
117 }
118 add_action( 'wp', 'nitropack_init' );
119 }
120 }
121
122 function nitropack_menu() {
123 add_options_page( 'NitroPack Options', 'NitroPack', 'manage_options', 'nitropack', 'nitropack_options' );
124 add_filter( 'plugin_action_links_' . plugin_basename(__FILE__), 'nitropack_action_links' );
125 }
126
127 function nitropack_action_links ( $links ) {
128 $nitroLinks = array(
129 '<a href="' . admin_url( 'options-general.php?page=nitropack' ) . '">Settings</a>',
130 );
131 return array_merge( $nitroLinks, $links );
132 }
133
134 add_action( 'init', function() {
135 if (current_user_can( 'manage_options' )) {
136 // Enqueue font awesome
137 add_action( 'wp_enqueue_scripts', 'nitropack_enqueue_load_fa');
138 add_action( 'admin_enqueue_scripts', 'nitropack_enqueue_load_fa');
139
140 // Enqueue admin bar menu custom stylesheet
141 add_action( 'wp_enqueue_scripts', 'enqueue_nitropack_admin_bar_menu_stylesheet');
142 add_action( 'admin_enqueue_scripts', 'enqueue_nitropack_admin_bar_menu_stylesheet');
143
144 // Enqueue admin menu custom javascript
145 add_action( 'wp_enqueue_scripts', 'nitropack_admin_bar_script' );
146
147 // Add our admin menu bar entry
148 add_action('admin_bar_menu', 'nitropack_admin_bar_menu', 50);
149 add_action('plugins_loaded', 'nitropack_plugin_notices'); // Run the checks early, because we need to set some headers. The results from the checks will be cached, so future calls will work as expected.
150 }
151 });
152