PluginProbe ʕ •ᴥ•ʔ
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization / 1.5.1
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization v1.5.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 cf-helper.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
141 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.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 add_action('wp_footer', 'nitropack_print_heartbeat_script');
70 add_action('admin_footer', 'nitropack_print_heartbeat_script');
71 add_action('get_footer', 'nitropack_print_heartbeat_script');
72
73 if ( is_admin() ) {
74 add_action( 'admin_menu', 'nitropack_menu' );
75 add_action( 'admin_init', 'register_nitropack_settings' );
76 add_action( 'admin_notices', 'nitropack_admin_notices' );
77 add_action( 'network_admin_notices', 'nitropack_admin_notices' );
78 add_action( 'wp_ajax_nitropack_purge_cache', 'nitropack_purge_cache' );
79 add_action( 'wp_ajax_nitropack_invalidate_cache', 'nitropack_invalidate_cache' );
80 add_action( 'wp_ajax_nitropack_verify_connect', 'nitropack_verify_connect_ajax' );
81 add_action( 'wp_ajax_nitropack_disconnect', 'nitropack_disconnect' );
82 add_action( 'wp_ajax_nitropack_test_compression_ajax', 'nitropack_test_compression_ajax' );
83 add_action( 'wp_ajax_nitropack_set_compression_ajax', 'nitropack_set_compression_ajax' );
84 add_action( 'wp_ajax_nitropack_set_auto_cache_purge_ajax', 'nitropack_set_auto_cache_purge_ajax' );
85 add_action( 'wp_ajax_nitropack_set_cacheable_post_types', 'nitropack_set_cacheable_post_types' );
86 add_action( 'wp_ajax_nitropack_enable_warmup', 'nitropack_enable_warmup' );
87 add_action( 'wp_ajax_nitropack_disable_warmup', 'nitropack_disable_warmup' );
88 add_action( 'wp_ajax_nitropack_warmup_stats', 'nitropack_warmup_stats' );
89 add_action( 'wp_ajax_nitropack_estimate_warmup', 'nitropack_estimate_warmup' );
90 add_action( 'wp_ajax_nitropack_run_warmup', 'nitropack_run_warmup' );
91 add_action( 'wp_ajax_nitropack_purge_single_cache', 'nitropack_purge_single_cache' );
92 add_action( 'wp_ajax_nitropack_invalidate_single_cache', 'nitropack_invalidate_single_cache' );
93 add_action( 'wp_ajax_nitropack_dismiss_hosting_notice', 'nitropack_dismiss_hosting_notice' );
94 add_action( 'wp_ajax_nitropack_reconfigure_webhooks', 'nitropack_reconfigure_webhooks' );
95 add_action( 'wp_ajax_nitropack_generate_report', 'nitropack_generate_report' );//diag_ajax_hook
96 add_action( 'update_option_nitropack-enableCompression', 'nitropack_handle_compression_toggle', 10, 2 );
97 add_action( 'add_meta_boxes', 'nitropack_add_meta_box' );
98
99 register_activation_hook( __FILE__, 'nitropack_activate' );
100 register_deactivation_hook( __FILE__, 'nitropack_deactivate' );
101 } else {
102 if (null !== $nitro = get_nitropack_sdk()) {
103 $GLOBALS["NitroPack.instance"] = $nitro;
104 if (get_option('nitropack-enableCompression') == 1) {
105 $nitro->enableCompression();
106 }
107 add_action( 'wp', 'nitropack_init' );
108 }
109 }
110
111 function nitropack_menu() {
112 add_options_page( 'NitroPack Options', 'NitroPack', 'manage_options', 'nitropack', 'nitropack_options' );
113 add_filter( 'plugin_action_links_' . plugin_basename(__FILE__), 'nitropack_action_links' );
114 }
115
116 function nitropack_action_links ( $links ) {
117 $nitroLinks = array(
118 '<a href="' . admin_url( 'options-general.php?page=nitropack' ) . '">Settings</a>',
119 );
120 return array_merge( $nitroLinks, $links );
121 }
122
123 add_action( 'init', function() {
124 if (current_user_can( 'manage_options' )) {
125 // Enqueue font awesome
126 add_action( 'wp_enqueue_scripts', 'nitropack_enqueue_load_fa');
127 add_action( 'admin_enqueue_scripts', 'nitropack_enqueue_load_fa');
128
129 // Enqueue admin bar menu custom stylesheet
130 add_action( 'wp_enqueue_scripts', 'enqueue_nitropack_admin_bar_menu_stylesheet');
131 add_action( 'admin_enqueue_scripts', 'enqueue_nitropack_admin_bar_menu_stylesheet');
132
133 // Enqueue admin menu custom javascript
134 add_action( 'wp_enqueue_scripts', 'nitropack_admin_bar_script' );
135
136 // Add our admin menu bar entry
137 add_action('admin_bar_menu', 'nitropack_admin_bar_menu', 50);
138 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.
139 }
140 });
141