PluginProbe ʕ •ᴥ•ʔ
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization / 1.4.1
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization v1.4.1
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
nitropack-sdk 5 years ago view 5 years ago advanced-cache.php 5 years ago constants.php 5 years ago diagnostics.php 5 years ago functions.php 5 years ago integrations.php 5 years ago main.php 5 years ago readme.txt 5 years ago uninstall.php 6 years ago wp-cli.php 5 years ago
main.php
137 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.4.1
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_is_ezoic_active() ) {
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_ezoic_home_url' );
27 nitropack_handle_request("plugin-ezoic");
28 remove_filter( 'home_url', 'nitropack_ezoic_home_url' );
29 }, 1 );
30 } else {
31 add_action( 'plugins_loaded', 'nitropack_disable_ezoic', 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_switch_theme' );
42 add_action( 'shutdown', 'nitropack_execute_purges', -1000 );
43 add_action( 'shutdown', 'nitropack_execute_invalidations', -1000 );
44
45 add_action( 'woocommerce_updated_product_stock', 'nitropack_handle_product_stock_updates', 0, 1);
46 add_action( 'woocommerce_rest_insert_product', function($post, $request, $creating) {
47 if (!$creating) {
48 nitropack_clean_post_cache($post);
49 }
50 }, 10, 3);
51 add_action( 'woocommerce_rest_insert_product_object', function($product, $request, $creating) {
52 if (!$creating) {
53 $post = get_post($product->id);
54 nitropack_clean_post_cache($post);
55 }
56 }, 10, 3);
57
58 add_action('wcml_set_client_currency', function($currency) {
59 setcookie('np_wc_currency', $currency, time() + (86400 * 7), "/");
60 });
61
62 if (nitropack_has_advanced_cache()) {
63 // Handle automated updates
64 if (!defined("NITROPACK_ADVANCED_CACHE_VERSION") || NITROPACK_VERSION != NITROPACK_ADVANCED_CACHE_VERSION) {
65 add_action( 'plugins_loaded', 'nitropack_install_advanced_cache' );
66 }
67 }
68
69 if ( is_admin() ) {
70 add_action( 'admin_menu', 'nitropack_menu' );
71 add_action( 'admin_init', 'register_nitropack_settings' );
72 add_action( 'admin_notices', 'nitropack_admin_notices' );
73 add_action( 'network_admin_notices', 'nitropack_admin_notices' );
74 add_action( 'wp_ajax_nitropack_purge_cache', 'nitropack_purge_cache' );
75 add_action( 'wp_ajax_nitropack_invalidate_cache', 'nitropack_invalidate_cache' );
76 add_action( 'wp_ajax_nitropack_verify_connect', 'nitropack_verify_connect_ajax' );
77 add_action( 'wp_ajax_nitropack_disconnect', 'nitropack_disconnect' );
78 add_action( 'wp_ajax_nitropack_test_compression_ajax', 'nitropack_test_compression_ajax' );
79 add_action( 'wp_ajax_nitropack_set_compression_ajax', 'nitropack_set_compression_ajax' );
80 add_action( 'wp_ajax_nitropack_set_auto_cache_purge_ajax', 'nitropack_set_auto_cache_purge_ajax' );
81 add_action( 'wp_ajax_nitropack_set_cacheable_post_types', 'nitropack_set_cacheable_post_types' );
82 add_action( 'wp_ajax_nitropack_enable_warmup', 'nitropack_enable_warmup' );
83 add_action( 'wp_ajax_nitropack_disable_warmup', 'nitropack_disable_warmup' );
84 add_action( 'wp_ajax_nitropack_warmup_stats', 'nitropack_warmup_stats' );
85 add_action( 'wp_ajax_nitropack_estimate_warmup', 'nitropack_estimate_warmup' );
86 add_action( 'wp_ajax_nitropack_run_warmup', 'nitropack_run_warmup' );
87 add_action( 'wp_ajax_nitropack_purge_single_cache', 'nitropack_purge_single_cache' );
88 add_action( 'wp_ajax_nitropack_invalidate_single_cache', 'nitropack_invalidate_single_cache' );
89 add_action( 'wp_ajax_nitropack_dismiss_hosting_notice', 'nitropack_dismiss_hosting_notice' );
90 add_action( 'wp_ajax_nitropack_reconfigure_webhooks', 'nitropack_reconfigure_webhooks' );
91 add_action( 'wp_ajax_nitropack_generate_report', 'nitropack_generate_report' );//diag_ajax_hook
92 add_action( 'update_option_nitropack-enableCompression', 'nitropack_handle_compression_toggle', 10, 2 );
93 add_action( 'add_meta_boxes', 'nitropack_add_meta_box' );
94
95 register_activation_hook( __FILE__, 'nitropack_activate' );
96 register_deactivation_hook( __FILE__, 'nitropack_deactivate' );
97 } else {
98 if (null !== $nitro = get_nitropack_sdk()) {
99 $GLOBALS["NitroPack.instance"] = $nitro;
100 if (get_option('nitropack-enableCompression') == 1) {
101 $nitro->enableCompression();
102 }
103 add_action( 'wp', 'nitropack_init' );
104 }
105 }
106
107 function nitropack_menu() {
108 add_options_page( 'NitroPack Options', 'NitroPack', 'manage_options', 'nitropack', 'nitropack_options' );
109 add_filter( 'plugin_action_links_' . plugin_basename(__FILE__), 'nitropack_action_links' );
110 }
111
112 function nitropack_action_links ( $links ) {
113 $nitroLinks = array(
114 '<a href="' . admin_url( 'options-general.php?page=nitropack' ) . '">Settings</a>',
115 );
116 return array_merge( $nitroLinks, $links );
117 }
118
119 add_action( 'init', function() {
120 if (current_user_can( 'manage_options' )) {
121 // Enqueue font awesome
122 add_action( 'wp_enqueue_scripts', 'enqueue_load_fa');
123 add_action( 'admin_enqueue_scripts', 'enqueue_load_fa');
124
125 // Enqueue admin bar menu custom stylesheet
126 add_action( 'wp_enqueue_scripts', 'enqueue_nitropack_admin_bar_menu_stylesheet');
127 add_action( 'admin_enqueue_scripts', 'enqueue_nitropack_admin_bar_menu_stylesheet');
128
129 // Enqueue admin menu custom javascript
130 add_action( 'wp_enqueue_scripts', 'nitropack_admin_bar_script' );
131
132 // Add our admin menu bar entry
133 add_action('admin_bar_menu', 'nitropack_admin_bar_menu', 50);
134 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.
135 }
136 });
137