PluginProbe
BerqWP – All-In-One Optimization for Core Web Vitals, Cache, CDN, Images, CSS & JavaScript / 1.9.6
BerqWP – All-In-One Optimization for Core Web Vitals, Cache, CDN, Images, CSS & JavaScript v1.9.6
4.1.16 4.1.15 4.1.14 4.1.13 4.1.12 4.1.11 4.1.10 4.0.30 4.0.29 4.0.28 4.0.27 4.0.26 4.0.24 4.0.25 4.0.23 4.0.22 4.0.21 4.0.19 4.0.18 4.0.17 4.0.16 1.9.3 1.9.4 1.9.5 1.9.6 All 170 releases
searchpro / berqwp.php

berqwp.php in BerqWP – All-In-One Optimization for Core Web Vitals, Cache, CDN, Images, CSS & JavaScript 1.9.6, at berqwp.php

149 lines 4.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Plugin Name: BerqWP
4 * Plugin URI: https://berqwp.com
5 * Description: Automatically pass Core Web Vitals for WordPress and boost your speed score to 90+ for both mobile and desktop without any technical skills.
6 * Version: 1.9.6
7 * Requires at least: 5.3
8 * Requires PHP: 7.4
9 * Author: BerqWP
10 * Author URI: https://berqwp.com
11 * Text Domain: searchpro
12 * Domain Path: /languages
13 */
14
15 if (!defined('ABSPATH')) exit;
16
17 if (class_exists('berqWP')) {
18 include_once(ABSPATH . 'wp-admin/includes/plugin.php');
19 $free_plugin_path = 'berqwp-lite/berqwp-lite.php';
20 if (is_plugin_active($free_plugin_path)) {
21 deactivate_plugins($free_plugin_path);
22 }
23 $free_plugin_path = 'berqwp/berqwp.php';
24 if (is_plugin_active($free_plugin_path)) {
25 deactivate_plugins($free_plugin_path);
26 }
27 return;
28 }
29
30 if (!defined('BERQWP_VERSION')) {
31 define('BERQWP_VERSION', '1.9.6');
32 }
33
34 if (!defined('optifer_PATH')) {
35 define('optifer_PATH', plugin_dir_path(__FILE__));
36 }
37
38 if (!defined('optifer_URL')) {
39 define('optifer_URL', plugin_dir_url(__FILE__));
40 }
41
42 if (!defined('optifer_cache')) {
43 define('optifer_cache', WP_CONTENT_DIR . '/cache/berqwp/');
44 }
45
46 if (!defined('BERQ_SERVER')) {
47 define('BERQ_SERVER', 'https://berqwp.com/');
48 }
49
50 if (!defined('BERQ_SECRET')) {
51 define('BERQ_SECRET', '64bc22f838e982.66069471');
52 }
53
54
55 if (!defined('BERQWP_MAX_WARMUP_REQUESTS')) {
56 define('BERQWP_MAX_WARMUP_REQUESTS', 2); // The maximum number of requests in our rate limit window.
57 }
58
59 if (!defined('BERQWP_WARMUP_RATE_LIMIT_WINDOW')) {
60 define('BERQWP_WARMUP_RATE_LIMIT_WINDOW', 125); // Time window for rate limit in seconds, i.e., 5 minutes.
61 }
62
63 if (!file_exists(optifer_cache)) {
64 mkdir(optifer_cache, 0755, true);
65 }
66
67
68 // if (isset($_GET['generating_critical_css'])
69 // || isset($_GET['nocache'])
70 // || isset($_GET['creating_cache'])) {
71
72 // add_filter( 'berqwp_bypass_cache', function () { return true; } );
73
74 // if (berqReverseProxyCache::is_reverse_proxy_cache_enabled()) {
75 // berqReverseProxyCache::bypass();
76 // }
77
78 // if (!class_exists('HMWP_Models_Compatibility_Abstract')) {
79 // return;
80 // }
81 // }
82
83
84 // if (get_option('berqwp_enable_sandbox') == 1 && !isset($_GET['berqwp']) && !is_admin() && !isset($_POST)) {
85 // return;
86 // }
87
88 require_once optifer_PATH . '/inc/crawler/berqDetectCrawler.php';
89 require_once optifer_PATH . '/inc/class-berqreverseproxy.php';
90 require_once optifer_PATH . '/inc/class-ignoreparams.php';
91 require_once optifer_PATH . '/inc/class-MemoryLeakDetector.php';
92 require_once optifer_PATH . '/vendor/autoload.php';
93 require_once optifer_PATH . '/vendor/woocommerce/action-scheduler/action-scheduler.php';
94 require_once optifer_PATH . '/inc/class-berqlogs.php';
95 require_once optifer_PATH . '/inc/helper-functions.php';
96 require_once optifer_PATH . '/inc/classs-http.php';
97 require_once optifer_PATH . '/inc/photon/class-berqPageOptimizer.php';
98 require_once optifer_PATH . '/inc/photon/class-berqBufferOptimize.php';
99 require_once optifer_PATH . '/inc/photon/class-styleOptimizer.php';
100 require_once optifer_PATH . '/inc/photon/class-scriptOptimizer.php';
101 require_once optifer_PATH . '/inc/photon/class-berqImages.php';
102 require_once optifer_PATH . '/inc/photon/class-berqCDN.php';
103 require_once optifer_PATH . '/inc/photon/class-berqCriticalCSS.php';
104 require_once optifer_PATH . '/inc/photon/integration/index.php';
105 require_once optifer_PATH . '/inc/class-berqcache.php';
106 require_once optifer_PATH . '/inc/class-berqwp.php';
107 require_once optifer_PATH . '/inc/class-berqimages.php';
108 require_once optifer_PATH . '/inc/class-berqintegrations.php';
109 require_once optifer_PATH . '/inc/class-berqnotifications.php';
110
111
112 // Redirect to BerqWP admin page after activation
113 register_activation_hook(__FILE__, 'berqwp_activation');
114 register_deactivation_hook(__FILE__, 'berqwp_deactivate_plugin');
115
116 function berqwp_activation()
117 {
118 // Specify the drop-in file path
119 $dropin_file = ABSPATH . 'wp-content/advanced-cache.php';
120
121 // Dynamically create the drop-in file
122 $dropin_content = file_get_contents(optifer_PATH . 'advanced-cache.php');
123
124 // Write the drop-in content to the file, replacing any existing file
125 file_put_contents($dropin_file, $dropin_content);
126
127 // Enable object cache in wp-config.php
128 berqwp_enable_object_cache(true);
129
130 if (function_exists('wp_cache_flush')) {
131 wp_cache_flush(); // Clear the entire object cache.
132 }
133
134 set_transient( 'bqwp_hide_feedback_notice', true, 60*60 ); // Hide for one hour
135 set_transient('berqwp_redirect', true, 1);
136 }
137
138 function berqwp_deactivate_plugin() {
139 // Specify the drop-in file path
140 $dropin_file = ABSPATH . 'wp-content/advanced-cache.php';
141
142 // Check if the drop-in file exists and delete it
143 if (file_exists($dropin_file)) {
144 unlink($dropin_file);
145 }
146
147 // Disable object cache in wp-config.php
148 berqwp_enable_object_cache(false);
149 }