WP Fastest Cache - Version 0.8.8.0

Version Description

  • to rename the text on admin bar
  • to move cdn functions to speed up wp fastest cache
  • check if settings are indexed by multilang locales for WeePie Cookie Allow
  • [FEATURE] to add Cloudflare integration
Download this release

Release Info

Developer emrevona
Plugin Icon 128x128 WP Fastest Cache
Version 0.8.8.0
Comparing to
See all releases

Code changes from version 0.8.7.9 to 0.8.8.0

images/cloudflare.png ADDED
Binary file
images/inmotion-ads.png DELETED
Binary file
inc/admin-toolbar.php CHANGED
@@ -34,7 +34,7 @@
34
 
35
  $wp_admin_bar->add_node(array(
36
  'id' => 'wpfc-toolbar-parent',
37
- 'title' => 'WPFC'
38
  ));
39
 
40
  $wp_admin_bar->add_menu( array(
@@ -64,7 +64,7 @@
64
 
65
  $wp_admin_bar->add_node(array(
66
  'id' => 'wpfc-toolbar-parent',
67
- 'title' => 'WPFC'
68
  ));
69
 
70
  $wp_admin_bar->add_menu( array(
34
 
35
  $wp_admin_bar->add_node(array(
36
  'id' => 'wpfc-toolbar-parent',
37
+ 'title' => 'Clear Cache'
38
  ));
39
 
40
  $wp_admin_bar->add_menu( array(
64
 
65
  $wp_admin_bar->add_node(array(
66
  'id' => 'wpfc-toolbar-parent',
67
+ 'title' => 'Clear Cache'
68
  ));
69
 
70
  $wp_admin_bar->add_menu( array(
inc/admin.php CHANGED
@@ -1229,7 +1229,10 @@
1229
  "rynofitness.com.au",
1230
  "margotickets.com",
1231
  "berkatan.com",
 
 
1232
  "yenihobiler.com",
 
1233
  "hobiblogu.com",
1234
  "pembeportakal.com",
1235
  "artclinic.org",
@@ -1898,7 +1901,7 @@
1898
  <div class="meta"></div>
1899
  </div>
1900
 
1901
- <div wpfc-cdn-name="photon" class="int-item">
1902
  <img src="<?php echo plugins_url("wp-fastest-cache/images/photoncdn.png"); ?>" />
1903
  <div class="app">
1904
  <div style="font-weight:bold;font-size:14px;">CDN by Photon</div>
@@ -1907,6 +1910,16 @@
1907
  <div class="meta"></div>
1908
  </div>
1909
 
 
 
 
 
 
 
 
 
 
 
1910
  </div>
1911
  </div>
1912
  <script type="text/javascript">
1229
  "rynofitness.com.au",
1230
  "margotickets.com",
1231
  "berkatan.com",
1232
+ "tiikr.com",
1233
+ "enderwaffle.com",
1234
  "yenihobiler.com",
1235
+ "weensu.dk",
1236
  "hobiblogu.com",
1237
  "pembeportakal.com",
1238
  "artclinic.org",
1901
  <div class="meta"></div>
1902
  </div>
1903
 
1904
+ <div wpfc-cdn-name="photon" class="int-item int-item-left">
1905
  <img src="<?php echo plugins_url("wp-fastest-cache/images/photoncdn.png"); ?>" />
1906
  <div class="app">
1907
  <div style="font-weight:bold;font-size:14px;">CDN by Photon</div>
1910
  <div class="meta"></div>
1911
  </div>
1912
 
1913
+
1914
+ <div wpfc-cdn-name="cloudflare" class="int-item">
1915
+ <img style="border-radius:50px;" src="<?php echo plugins_url("wp-fastest-cache/images/cloudflare.png"); ?>" />
1916
+ <div class="app">
1917
+ <div style="font-weight:bold;font-size:14px;">CDN by Cloudflare</div>
1918
+ <p>CDN, DNS, DDoS protection and security</p>
1919
+ </div>
1920
+ <div class="meta"></div>
1921
+ </div>
1922
+
1923
  </div>
1924
  </div>
1925
  <script type="text/javascript">
inc/cache.php CHANGED
@@ -237,6 +237,27 @@
237
  // WeePie Cookie Allow: to create cache if the cookie named wpca_consent is set
238
  if($this->isPluginActive('wp-cookie-allow/wp-cookie-allow.php')){
239
  $wpca_settings_general = get_option('wpca_settings_general', array());
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
240
  $wpca_enabled = (isset($wpca_settings_general['general_plugin_status']) && $wpca_settings_general['general_plugin_status'] == '1');
241
 
242
  if($wpca_enabled){
@@ -453,15 +474,15 @@
453
  foreach((array)$this->exclude_rules as $key => $value){
454
  $value->type = isset($value->type) ? $value->type : "page";
455
 
456
- if($buffer && isset($value->prefix) && $value->prefix && ($value->type == "page")){
 
 
 
 
457
  $value->content = trim($value->content);
458
  $value->content = trim($value->content, "/");
459
 
460
- if($value->prefix == "googleanalytics"){
461
- if(preg_match("/utm_(source|medium|campaign|content|term)/i", $request_url)){
462
- return true;
463
- }
464
- }else if(preg_match("/^(homepage|category|tag|post|page|archive|attachment)$/", $value->prefix)){
465
  if(preg_match('/<\!--WPFC_PAGE_TYPE_'.$value->prefix.'-->/i', $buffer)){
466
  return true;
467
  }
@@ -492,7 +513,7 @@
492
  }
493
  }
494
  }
495
-
496
  }
497
  return false;
498
  }
237
  // WeePie Cookie Allow: to create cache if the cookie named wpca_consent is set
238
  if($this->isPluginActive('wp-cookie-allow/wp-cookie-allow.php')){
239
  $wpca_settings_general = get_option('wpca_settings_general', array());
240
+
241
+ // check if settings are indexed by multilang locales
242
+ if($this->isPluginActive('sitepress-multilingual-cms/sitepress.php')){
243
+ $wpml_current_language = apply_filters('wpml_current_language', false);
244
+
245
+ if($wpml_current_language){
246
+ $wpml_languages = apply_filters('wpml_active_languages', NULL, 'orderby=id&order=desc');
247
+
248
+ if(isset($wpml_languages[$wpml_current_language]) && isset($wpml_languages[$wpml_current_language]['default_locale'])) {
249
+ $wpml_locale = $wpml_languages[$wpml_current_language]['default_locale'];
250
+
251
+ if(isset($wpca_settings_general[$wpml_locale])) {
252
+ $wpca_settings_general = $wpca_settings_general[$wpml_locale];
253
+ if(!is_array($wpca_settings_general)) {
254
+ $wpca_settings_general = array();
255
+ }
256
+ }
257
+ }
258
+ }
259
+ }
260
+
261
  $wpca_enabled = (isset($wpca_settings_general['general_plugin_status']) && $wpca_settings_general['general_plugin_status'] == '1');
262
 
263
  if($wpca_enabled){
474
  foreach((array)$this->exclude_rules as $key => $value){
475
  $value->type = isset($value->type) ? $value->type : "page";
476
 
477
+ if($value->prefix == "googleanalytics"){
478
+ if(preg_match("/utm_(source|medium|campaign|content|term)/i", $request_url)){
479
+ return true;
480
+ }
481
+ }else if($buffer && isset($value->prefix) && $value->prefix && ($value->type == "page")){
482
  $value->content = trim($value->content);
483
  $value->content = trim($value->content, "/");
484
 
485
+ if(preg_match("/^(homepage|category|tag|post|page|archive|attachment)$/", $value->prefix)){
 
 
 
 
486
  if(preg_match('/<\!--WPFC_PAGE_TYPE_'.$value->prefix.'-->/i', $buffer)){
487
  return true;
488
  }
513
  }
514
  }
515
  }
516
+
517
  }
518
  return false;
519
  }
inc/cdn.php ADDED
@@ -0,0 +1,370 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class CdnWPFC{
3
+ public static function cloudflare_clear_cache($email = false, $key = false, $zoneid = false){
4
+ if(!$email && !$key && !$zoneid){
5
+ if($cdn_values = get_option("WpFastestCacheCDN")){
6
+ $std_obj = json_decode($cdn_values);
7
+
8
+ foreach ($std_obj as $key => $value) {
9
+ if($value->id == "cloudflare"){
10
+ $email = $value->cdnurl;
11
+ $key = $value->originurl;
12
+ break;
13
+ }
14
+ }
15
+
16
+ if($email && $key){
17
+ $zone = self::cloudflare_get_zone_id($email, $key, false);
18
+
19
+ if($zone["success"]){
20
+ $zoneid = $zone["zoneid"];
21
+ }
22
+ }
23
+ }
24
+ }
25
+
26
+ if($email && $key && $zoneid){
27
+ $header = array("method" => "DELETE",
28
+ 'headers' => array(
29
+ "X-Auth-Email" => $email,
30
+ "X-Auth-Key" => $key,
31
+ "Content-Type" => "application/json"
32
+ ),
33
+ "body" => '{"purge_everything":true}'
34
+ );
35
+
36
+ $response = wp_remote_request('https://api.cloudflare.com/client/v4/zones/'.$zoneid.'/purge_cache', $header);
37
+ }
38
+ }
39
+
40
+ public static function cloudflare_disable_rocket_loader($email = false, $key = false, $zoneid = false){
41
+ if($email && $key && $zoneid){
42
+ $header = array("method" => "PATCH",
43
+ 'headers' => array(
44
+ "X-Auth-Email" => $email,
45
+ "X-Auth-Key" => $key,
46
+ "Content-Type" => "application/json"
47
+ ),
48
+ 'body' => '{"value":"off"}'
49
+ );
50
+
51
+ $response = wp_remote_request('https://api.cloudflare.com/client/v4/zones/'.$zoneid.'/settings/rocket_loader', $header);
52
+
53
+ if(!$response || is_wp_error($response)){
54
+ return array("success" => false, "error_message" => "Unable to disable rocket loader option");
55
+ }else{
56
+ $body = json_decode(wp_remote_retrieve_body($response));
57
+
58
+ if($body->success){
59
+ return array("success" => true);
60
+ }else if(isset($body->errors) && isset($body->errors[0])){
61
+ return array("success" => false, "error_message" => $body->errors[0]->message);
62
+ }else{
63
+ return array("success" => false, "error_message" => "Unknown error: 101");
64
+ }
65
+ }
66
+
67
+ return array("success" => false, "error_message" => "Unknown error");
68
+ }
69
+ }
70
+
71
+ public static function cloudflare_disable_minify($email = false, $key = false, $zoneid = false){
72
+ if($email && $key && $zoneid){
73
+ $header = array("method" => "PATCH",
74
+ 'headers' => array(
75
+ "X-Auth-Email" => $email,
76
+ "X-Auth-Key" => $key,
77
+ "Content-Type" => "application/json"
78
+ ),
79
+ 'body' => '{"value":{"css":"off","html":"off","js":"off"}}'
80
+ );
81
+
82
+ $response = wp_remote_request('https://api.cloudflare.com/client/v4/zones/'.$zoneid.'/settings/minify', $header);
83
+
84
+ if(!$response || is_wp_error($response)){
85
+ return array("success" => false, "error_message" => "Unable to disable minify options");
86
+ }else{
87
+ $body = json_decode(wp_remote_retrieve_body($response));
88
+
89
+ if($body->success){
90
+ return array("success" => true);
91
+ }else if(isset($body->errors) && isset($body->errors[0])){
92
+ return array("success" => false, "error_message" => $body->errors[0]->message);
93
+ }else{
94
+ return array("success" => false, "error_message" => "Unknown error: 101");
95
+ }
96
+ }
97
+
98
+ return array("success" => false, "error_message" => "Unknown error");
99
+ }else{
100
+ wp_die("bad request");
101
+ }
102
+ }
103
+
104
+ public static function cloudflare_get_zone_id($email = false, $key = false){
105
+ $hostname = preg_replace("/^(https?\:\/\/)?(www\d*\.)?/", "", $_SERVER["HTTP_HOST"]);
106
+
107
+ $header = array("method" => "GET",
108
+ 'headers' => array(
109
+ "X-Auth-Email" => $email,
110
+ "X-Auth-Key" => $key,
111
+ "Content-Type" => "application/json"
112
+ ),
113
+ );
114
+
115
+ $response = wp_remote_request('https://api.cloudflare.com/client/v4/zones?name='.$hostname, $header);
116
+
117
+ if(!$response || is_wp_error($response)){
118
+ $res = array("success" => false, "error_message" => $response->get_error_message());
119
+ }else{
120
+ $zone = json_decode(wp_remote_retrieve_body($response));
121
+
122
+ if(isset($zone->errors) && isset($zone->errors[0])){
123
+ $res = array("success" => false, "error_message" => $zone->errors[0]->message);
124
+ }else{
125
+ if(isset($zone->result) && isset($zone->result[0])){
126
+ $res = array("success" => true, "zoneid" => $zone->result[0]->id);
127
+ }else{
128
+ $res = array("success" => false, "error_message" => "No zone name ".$hostname);
129
+ }
130
+ }
131
+ }
132
+
133
+ return $res;
134
+ }
135
+
136
+
137
+ public static function cloudflare_change_settings(){
138
+ //admin OR author OR editor
139
+ if(current_user_can('manage_options') || current_user_can('delete_published_posts') || current_user_can('edit_published_posts')){
140
+ if(isset($_GET["url"]) && isset($_GET["origin_url"])){
141
+ $email = $_GET["url"];
142
+ $key = $_GET["origin_url"];
143
+ }
144
+
145
+ $zone = CdnWPFC::cloudflare_get_zone_id($email, $key);
146
+
147
+ if($zone["success"]){
148
+
149
+ $minify = CdnWPFC::cloudflare_disable_minify($email, $key, $zone["zoneid"]);
150
+ $rocket_loader = CdnWPFC::cloudflare_disable_rocket_loader($email, $key, $zone["zoneid"]);
151
+ $purge_cache = CdnWPFC::cloudflare_clear_cache($email, $key, $zone["zoneid"]);
152
+
153
+ if($minify["success"]){
154
+ if($rocket_loader["success"]){
155
+ $res = array("success" => true);
156
+ }else{
157
+ $res = array("success" => false, "error_message" => $rocket_loader["error_message"]);
158
+ }
159
+ }else{
160
+ $res = array("success" => false, "error_message" => $minify["error_message"]);
161
+ }
162
+ }else{
163
+ $res = $zone;
164
+ }
165
+
166
+ wp_send_json($res);
167
+ }else{
168
+ wp_die("Must be admin");
169
+ }
170
+ }
171
+
172
+ public static function check_url(){
173
+ if(current_user_can('manage_options')){
174
+ if(isset($_GET["type"]) && $_GET["type"] == "cloudflare"){
175
+ CdnWPFC::cloudflare_change_settings();
176
+ }
177
+
178
+ if(preg_match("/wp\.com/", $_GET["url"]) || $_GET["url"] == "random"){
179
+ wp_send_json(array("success" => true));
180
+ }
181
+
182
+ $host = str_replace("www.", "", $_SERVER["HTTP_HOST"]);
183
+ $_GET["url"] = esc_url_raw($_GET["url"]);
184
+
185
+ if(!preg_match("/^http/", $_GET["url"])){
186
+ $_GET["url"] = "http://".$_GET["url"];
187
+ }
188
+
189
+ $response = wp_remote_get($_GET["url"], array('timeout' => 20 ) );
190
+
191
+ $header = wp_remote_retrieve_headers($response);
192
+
193
+ if ( !$response || is_wp_error( $response ) ) {
194
+ $res = array("success" => false, "error_message" => $response->get_error_message());
195
+
196
+ if($response->get_error_code() == "http_request_failed"){
197
+ if($response->get_error_message() == "Failure when receiving data from the peer"){
198
+ $res = array("success" => true);
199
+ }else if(preg_match("/cURL\serror\s6/i", $response->get_error_message())){
200
+ //cURL error 6: Couldn't resolve host
201
+ if(preg_match("/".preg_quote($host, "/")."/i", $_GET["url"])){
202
+ $res = array("success" => true);
203
+ }
204
+ }
205
+ }
206
+ }else{
207
+ $response_code = wp_remote_retrieve_response_code( $response );
208
+ if($response_code == 200){
209
+ $res = array("success" => true);
210
+ }else{
211
+ if(method_exists($response, "get_error_message")){
212
+ $res = array("success" => false, "error_message" => $response->get_error_message());
213
+ }else{
214
+ $res = array("success" => false, "error_message" => wp_remote_retrieve_response_message($response));
215
+ }
216
+
217
+ if(isset($header["server"]) && preg_match("/squid/i", $header["server"])){
218
+ $res = array("success" => true);
219
+ }
220
+
221
+ if(($response_code == 401) && (preg_match("/res\.cloudinary\.com/i", $_GET["url"]))){
222
+ $res = array("success" => true);
223
+ }
224
+
225
+ if(($response_code == 403) && (preg_match("/stackpathdns\.com/i", $_GET["url"]))){
226
+ $res = array("success" => true);
227
+ }
228
+ }
229
+ }
230
+
231
+ wp_send_json($res);
232
+ }else{
233
+ wp_die("Must be admin");
234
+ }
235
+ }
236
+
237
+ public static function cdn_options(){
238
+ if(current_user_can('manage_options')){
239
+ $cdn_values = get_option("WpFastestCacheCDN");
240
+ if($cdn_values){
241
+ echo $cdn_values;
242
+ }else{
243
+ echo json_encode(array("success" => false));
244
+ }
245
+ exit;
246
+ }else{
247
+ wp_die("Must be admin");
248
+ }
249
+ }
250
+
251
+ public static function remove_cdn_integration(){
252
+ if(current_user_can('manage_options')){
253
+ $cdn_values = get_option("WpFastestCacheCDN");
254
+
255
+ if($cdn_values){
256
+ $std_obj = json_decode($cdn_values);
257
+ $cdn_values_arr = array();
258
+
259
+ if(is_array($std_obj)){
260
+ $cdn_values_arr = $std_obj;
261
+ }else{
262
+ array_push($cdn_values_arr, $std_obj);
263
+ }
264
+
265
+ foreach ($cdn_values_arr as $cdn_key => $cdn_value) {
266
+ if($cdn_value->id == "amazonaws" || $cdn_value->id == "keycdn" || $cdn_value->id == "cdn77"){
267
+ $cdn_value->id = "other";
268
+ }
269
+
270
+ if($cdn_value->id == $_POST["id"]){
271
+ unset($cdn_values_arr[$cdn_key]);
272
+ }
273
+ }
274
+
275
+ $cdn_values_arr = array_values($cdn_values_arr);
276
+ }
277
+
278
+ if(count($cdn_values_arr) > 0){
279
+ update_option("WpFastestCacheCDN", json_encode($cdn_values_arr));
280
+ }else{
281
+ delete_option("WpFastestCacheCDN");
282
+ }
283
+
284
+ echo json_encode(array("success" => true));
285
+ exit;
286
+ }else{
287
+ wp_die("Must be admin");
288
+ }
289
+ }
290
+
291
+ public static function cdn_template(){
292
+ if(current_user_can('manage_options')){
293
+ if($_POST["id"] == "maxcdn"){
294
+ $path = WPFC_MAIN_PATH."templates/cdn/maxcdn.php";
295
+ }else if($_POST["id"] == "other"){
296
+ $path = WPFC_MAIN_PATH."templates/cdn/other.php";
297
+ }else if($_POST["id"] == "photon"){
298
+ $path = WPFC_MAIN_PATH."templates/cdn/photon.php";
299
+ }else if($_POST["id"] == "cloudflare"){
300
+ $path = WPFC_MAIN_PATH."templates/cdn/cloudflare.php";
301
+ }else{
302
+ die("Wrong cdn");
303
+ }
304
+
305
+
306
+ ob_start();
307
+ include_once($path);
308
+ $content = ob_get_contents();
309
+ ob_end_clean();
310
+
311
+ $res = array("success" => false, "content" => "");
312
+
313
+ if($data = @file_get_contents($path)){
314
+ $res["success"] = true;
315
+ $res["content"] = $content;
316
+ }
317
+
318
+ echo json_encode($res);
319
+ exit;
320
+ }else{
321
+ wp_die("Must be admin");
322
+ }
323
+ }
324
+
325
+ public static function save_cdn_integration(){
326
+ if(current_user_can('manage_options')){
327
+ if($data = get_option("WpFastestCacheCDN")){
328
+ $cdn_exist = false;
329
+ $arr = json_decode($data);
330
+
331
+ if(is_array($arr)){
332
+ foreach ($arr as $cdn_key => &$cdn_value) {
333
+ if($cdn_value->id == $_POST["values"]["id"]){
334
+ $cdn_value = $_POST["values"];
335
+ $cdn_exist = true;
336
+ }
337
+ }
338
+
339
+ if(!$cdn_exist){
340
+ array_push($arr, $_POST["values"]);
341
+ }
342
+
343
+ update_option("WpFastestCacheCDN", json_encode($arr));
344
+ }else{
345
+ $tmp_arr = array();
346
+
347
+ if($arr->id == $_POST["values"]["id"]){
348
+ array_push($tmp_arr, $_POST["values"]);
349
+ }else{
350
+ array_push($tmp_arr, $arr);
351
+ array_push($tmp_arr, $_POST["values"]);
352
+ }
353
+
354
+ update_option("WpFastestCacheCDN", json_encode($tmp_arr));
355
+ }
356
+ }else{
357
+ $arr = array();
358
+ array_push($arr, $_POST["values"]);
359
+
360
+ add_option("WpFastestCacheCDN", json_encode($arr), null, "yes");
361
+ }
362
+ echo json_encode(array("success" => true));
363
+ exit;
364
+ }else{
365
+ wp_die("Must be admin");
366
+ }
367
+ }
368
+
369
+ }
370
+ ?>
js/cdn/cdn.js CHANGED
@@ -34,7 +34,7 @@ var WpfcCDN = {
34
  self.click_event_add_new_keyword_button();
35
  self.add_new_keyword_keypress();
36
 
37
- if(self.id == "other" || self.id == "photon"){
38
  self.show_page("next");
39
  self.hide_button("back");
40
 
@@ -236,7 +236,7 @@ var WpfcCDN = {
236
  type: 'GET',
237
  dataType: "json",
238
  url: ajaxurl,
239
- data : {"action": "wpfc_check_url", "url" : cdn_url},
240
  success: function(res){
241
  modal.find("#cdn-url-loading").hide();
242
  if(res.success){
34
  self.click_event_add_new_keyword_button();
35
  self.add_new_keyword_keypress();
36
 
37
+ if(self.id == "other" || self.id == "photon" || self.id == "cloudflare"){
38
  self.show_page("next");
39
  self.hide_button("back");
40
 
236
  type: 'GET',
237
  dataType: "json",
238
  url: ajaxurl,
239
+ data : {"action": "wpfc_check_url", "url" : cdn_url, "origin_url" : origin_url, "type" : WpfcCDN.id},
240
  success: function(res){
241
  modal.find("#cdn-url-loading").hide();
242
  if(res.success){
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: http://profiles.wordpress.org/emrevona/
4
  Tags: cache, performance, wp-cache, total cache, super cache
5
  Requires at least: 3.3
6
  Tested up to: 4.9
7
- Stable tag: 0.8.7.9
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -102,6 +102,12 @@ Wpfc does not support Wordpress Multisite yet.
102
 
103
  == Changelog ==
104
 
 
 
 
 
 
 
105
  = 0.8.7.9 =
106
  * refactoring of delete_cache_of_term()
107
  * <strong>[FEATURE]</strong> exclude archives
4
  Tags: cache, performance, wp-cache, total cache, super cache
5
  Requires at least: 3.3
6
  Tested up to: 4.9
7
+ Stable tag: 0.8.8.0
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
102
 
103
  == Changelog ==
104
 
105
+ = 0.8.8.0 =
106
+ * to rename the text on admin bar
107
+ * to move cdn functions to speed up wp fastest cache
108
+ * check if settings are indexed by multilang locales for WeePie Cookie Allow
109
+ * <strong>[FEATURE]</strong> to add Cloudflare integration
110
+
111
  = 0.8.7.9 =
112
  * refactoring of delete_cache_of_term()
113
  * <strong>[FEATURE]</strong> exclude archives
templates/cdn/cloudflare.php ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div id="wpfc-modal-cloudflare" style="top: 10.5px; left: 226px; position: absolute; padding: 6px; height: auto; width: 560px; z-index: 10001;">
2
+ <div style="height: 100%; width: 100%; background: none repeat scroll 0% 0% rgb(0, 0, 0); position: absolute; top: 0px; left: 0px; z-index: -1; opacity: 0.5; border-radius: 8px;">
3
+ </div>
4
+ <div style="z-index: 600; border-radius: 3px;">
5
+ <div style="font-family:Verdana,Geneva,Arial,Helvetica,sans-serif;font-size:12px;background: none repeat scroll 0px 0px rgb(255, 161, 0); z-index: 1000; position: relative; padding: 2px; border-bottom: 1px solid rgb(194, 122, 0); height: 35px; border-radius: 3px 3px 0px 0px;">
6
+ <table width="100%" height="100%">
7
+ <tbody>
8
+ <tr>
9
+ <td valign="middle" style="vertical-align: middle; font-weight: bold; color: rgb(255, 255, 255); text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.5); padding-left: 10px; font-size: 13px; cursor: move;">CDN Settings</td>
10
+ <td width="20" align="center" style="vertical-align: middle;"></td>
11
+ <td width="20" align="center" style="vertical-align: middle; font-family: Arial,Helvetica,sans-serif; color: rgb(170, 170, 170); cursor: default;">
12
+ <div title="Close Window" class="close-wiz"></div>
13
+ </td>
14
+ </tr>
15
+ </tbody>
16
+ </table>
17
+ </div>
18
+ <div class="window-content-wrapper" style="padding: 8px;">
19
+ <div style="z-index: 1000; height: auto; position: relative; display: inline-block; width: 100%;" class="window-content">
20
+
21
+
22
+ <div id="wpfc-wizard-cloudflare" class="wpfc-cdn-pages-container">
23
+ <div wpfc-cdn-page="1" class="wiz-cont">
24
+ <h1>Let's Get Started</h1>
25
+ <p>Hi! If you don't have a <strong>MaxCDN</strong> account, you can create one. If you already have, please continue...</p>
26
+ <div class="wiz-input-cont" style="text-align:center;">
27
+ <a href="http://tracking.maxcdn.com/c/149801/3982/378" target="_blank">
28
+ <button class="wpfc-green-button">Create a MaxCDN Account</button>
29
+ </a>
30
+ </div>
31
+ <p class="wpfc-bottom-note" style="margin-bottom:-10px;"><a target="_blank" href="https://www.maxcdn.com/one/tutorial/implementing-cdn-on-wordpress-with-wp-fastest-cache/">Note: Please read How to Integrate MaxCDN into WP Fastest Cache</a></p>
32
+ </div>
33
+ <div wpfc-cdn-page="2" class="wiz-cont" style="display:none">
34
+ <h1>Enter API Keys</h1>
35
+ <p>Please enter your <strong>API Key</strong> below to to access Cloudflare APIs.</p>
36
+ <div class="wiz-input-cont">
37
+ <label class="mc-input-label" for="cdn-url" style="padding-right: 19px;">Email:</label><input type="text" name="" value="" class="api-key" id="cdn-url">
38
+ <div id="cdn-url-loading"></div>
39
+ <label class="wiz-error-msg"></label>
40
+ </div>
41
+ <div class="wiz-input-cont">
42
+ <label style="padding-right: 5px;" class="mc-input-label" for="origin-url">API Key:</label><input type="text" name="" value="" class="api-key" id="origin-url">
43
+ <a style="margin-left:5px;" target="_blank" href="http://www.wpfastestcache.com/tutorial/wp-fastest-cache-cloudflare/#cloudflare-api-key"><img src="http://berkatan.com/wp-content/plugins/wp-fastest-cache/images/info.png"></a>
44
+ </div>
45
+ </div>
46
+ <div wpfc-cdn-page="3" class="wiz-cont" style="display:none">
47
+ <h1>Disable Auto Minify</h1>
48
+ <p>The Auto Minify options have been disabled automatically.</p>
49
+
50
+ <div class="wpfc-checkbox-list" style="text-align:center;">
51
+ <img src="data:image/png;base64,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"/>
52
+ </div>
53
+ </div>
54
+ <div wpfc-cdn-page="4" class="wiz-cont" style="display:none">
55
+ <h1>Disable Rocket Loader</h1>
56
+ <p>The Rocket Loader option has been disabled automatically.</p>
57
+
58
+ <div class="wpfc-checkbox-list" style="text-align:center;">
59
+ <img src="data:image/png;base64,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"/>
60
+ </div>
61
+ </div>
62
+ <div wpfc-cdn-page="5" class="wiz-cont" style="display:none">
63
+ <h1>Ready to Go!</h1>
64
+ <p>You're all set! Click the finish button below and that's it.</p>
65
+ </div>
66
+ <div wpfc-cdn-page="6" class="wiz-cont" style="display:none">
67
+ <h1>Integration Ready!</h1>
68
+ <p>CloudFlare CDN integration has been added properly.</p>
69
+ </div>
70
+
71
+
72
+ <img style="border-radius:100px;" class="wiz-bg-img" src=" data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAACWCAMAAAAL34HQAAAC+lBMVEUAAADzkzDzkDD0lzDzljC4Rzu9TDrEUzjTYzXWZzPdbi/sfy70mTDyizDyhy/74jLylDGyPz7gdivBUTnIVjj89DLPYDb86zLLWzfNXTbaaTH71TL7zTL6zIT0mzDhcS7ofC3mei3kdizjdCzugS/72jLwgy/0nTD88DL5wTH70TL1ojD83DL80zL6xTH73zL6yn/715n5wzG3Tw76z4f71JP60Iz85jL71zL85DL2qTD87TL3rjH70pD3tDH4wW/4uDH826b5xXf726L83rD4tjH5w3T4ujH3sDH83Kv6yTL4umP84bP7zzL847f3szH2qzH3tlv85Lz5xnv72p71oDD95MH4vGf3tFf4uGD5vjH4vmv5yjH95sT6xzH1pDD1oTD3sU397tn3slL96Mj2qDvZeR72r0r2pjD969D1pTf96sz2rUTrkizsiSncfyf6yXv86DL4vDH97NT4vWn2qz/1ozTznDD894r2rEfxli70lzD0ljHvkS772J/1pDH0lzDniyj0mzH0lzDzmDDymC/4t178+sr895rzmDDzmTDyky7wki33s1P2qD7893f0mzD0nDD1njDyly/894D8+bb0nzDzlS/ylS/ukSztlyv4uzL1nzH1ozD5wDH3sjHzlzD4vTL89l/99OX8+K/89Tv0lzD3tDH0nzD0mjD89m/89mj89jL895L89kn1pzDzljD2sjHzlTDzmjD89lj9/OH98eD8+cD1pDDzmS/2tjD1njD9+9n8+Kf2rTHzljD2rjH1qTD4vTD3szD1sjDysS798N385L76xjL4tjHzljD2sDH0ti/9/PP8+KL1qjH4vTH1pTD3sTH3tzH880T9++b9+tLuiS75vDL6zDL5wTH1qjH3sDL0mTD5wTH0pDD89lH6xFv5vUX2qjD80DL9/Oz5wDH5wW33slH7yzHNXTD74F/70lD4uFX5vz398TL87o7843z87FX6yT/vji/78K/77Wj812T0mDD4vDH2rDH5wTL3sTL5vjGTK4dYAAAA+HRSTlMA/f39/v39/f39/f3+/f7+xv79/f7+/f79/f3+/v3+/f39/f79/v7+/v39/v7+/v79/v4F/f39/v7+/v79/f79/v39/f7+/v7+/f7+/v79/f3+/f39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"/>
73
+ </div>
74
+ </div>
75
+ </div>
76
+ <?php include WPFC_MAIN_PATH."templates/buttons.html"; ?>
77
+ </div>
78
+ </div>
79
+
80
+
81
+
wpFastestCache.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: WP Fastest Cache
4
  Plugin URI: http://wordpress.org/plugins/wp-fastest-cache/
5
  Description: The simplest and fastest WP Cache system
6
- Version: 0.8.7.9
7
  Author: Emre Vona
8
  Author URI: http://tr.linkedin.com/in/emrevona
9
  Text Domain: wp-fastest-cache
@@ -395,194 +395,29 @@ GNU General Public License for more details.
395
  }
396
 
397
  public function wpfc_check_url_ajax_request_callback(){
398
- if(current_user_can('manage_options')){
399
- if(preg_match("/wp\.com/", $_GET["url"]) || $_GET["url"] == "random"){
400
- wp_send_json(array("success" => true));
401
- }
402
-
403
- $host = str_replace("www.", "", $_SERVER["HTTP_HOST"]);
404
- $_GET["url"] = esc_url_raw($_GET["url"]);
405
-
406
- if(!preg_match("/^http/", $_GET["url"])){
407
- $_GET["url"] = "http://".$_GET["url"];
408
- }
409
-
410
- $response = wp_remote_get($_GET["url"], array('timeout' => 20 ) );
411
-
412
- $header = wp_remote_retrieve_headers($response);
413
-
414
- if ( !$response || is_wp_error( $response ) ) {
415
- $res = array("success" => false, "error_message" => $response->get_error_message());
416
-
417
- if($response->get_error_code() == "http_request_failed"){
418
- if($response->get_error_message() == "Failure when receiving data from the peer"){
419
- $res = array("success" => true);
420
- }else if(preg_match("/cURL\serror\s6/i", $response->get_error_message())){
421
- //cURL error 6: Couldn't resolve host
422
- if(preg_match("/".preg_quote($host, "/")."/i", $_GET["url"])){
423
- $res = array("success" => true);
424
- }
425
- }
426
- }
427
- }else{
428
- $response_code = wp_remote_retrieve_response_code( $response );
429
- if($response_code == 200){
430
- $res = array("success" => true);
431
- }else{
432
- if(method_exists($response, "get_error_message")){
433
- $res = array("success" => false, "error_message" => $response->get_error_message());
434
- }else{
435
- $res = array("success" => false, "error_message" => wp_remote_retrieve_response_message($response));
436
- }
437
-
438
- if(isset($header["server"]) && preg_match("/squid/i", $header["server"])){
439
- $res = array("success" => true);
440
- }
441
-
442
- if(($response_code == 401) && (preg_match("/res\.cloudinary\.com/i", $_GET["url"]))){
443
- $res = array("success" => true);
444
- }
445
-
446
- if(($response_code == 403) && (preg_match("/stackpathdns\.com/i", $_GET["url"]))){
447
- $res = array("success" => true);
448
- }
449
- }
450
- }
451
-
452
- wp_send_json($res);
453
- }else{
454
- wp_die("Must be admin");
455
- }
456
  }
457
 
458
  public function wpfc_cdn_template_ajax_request_callback(){
459
- if(current_user_can('manage_options')){
460
- if($_POST["id"] == "maxcdn"){
461
- $path = WPFC_MAIN_PATH."templates/cdn/maxcdn.php";
462
- }else if($_POST["id"] == "other"){
463
- $path = WPFC_MAIN_PATH."templates/cdn/other.php";
464
- }else if($_POST["id"] == "photon"){
465
- $path = WPFC_MAIN_PATH."templates/cdn/photon.php";
466
- }else{
467
- die("Wrong cdn");
468
- }
469
-
470
-
471
- ob_start();
472
- include_once($path);
473
- $content = ob_get_contents();
474
- ob_end_clean();
475
-
476
- $res = array("success" => false, "content" => "");
477
-
478
- if($data = @file_get_contents($path)){
479
- $res["success"] = true;
480
- $res["content"] = $content;
481
- }
482
-
483
- echo json_encode($res);
484
- exit;
485
- }else{
486
- wp_die("Must be admin");
487
- }
488
  }
489
 
490
  public function wpfc_save_cdn_integration_ajax_request_callback(){
491
- if(current_user_can('manage_options')){
492
- if($data = get_option("WpFastestCacheCDN")){
493
- $cdn_exist = false;
494
- $arr = json_decode($data);
495
-
496
- if(is_array($arr)){
497
- foreach ($arr as $cdn_key => &$cdn_value) {
498
- if($cdn_value->id == $_POST["values"]["id"]){
499
- $cdn_value = $_POST["values"];
500
- $cdn_exist = true;
501
- }
502
- }
503
-
504
- if(!$cdn_exist){
505
- array_push($arr, $_POST["values"]);
506
- }
507
-
508
- update_option("WpFastestCacheCDN", json_encode($arr));
509
- }else{
510
- $tmp_arr = array();
511
-
512
- if($arr->id == $_POST["values"]["id"]){
513
- array_push($tmp_arr, $_POST["values"]);
514
- }else{
515
- array_push($tmp_arr, $arr);
516
- array_push($tmp_arr, $_POST["values"]);
517
- }
518
-
519
- update_option("WpFastestCacheCDN", json_encode($tmp_arr));
520
- }
521
- }else{
522
- $arr = array();
523
- array_push($arr, $_POST["values"]);
524
 
525
- add_option("WpFastestCacheCDN", json_encode($arr), null, "yes");
526
- }
527
- echo json_encode(array("success" => true));
528
- exit;
529
- }else{
530
- wp_die("Must be admin");
531
- }
532
  }
533
 
534
  public function wpfc_remove_cdn_integration_ajax_request_callback(){
535
- if(current_user_can('manage_options')){
536
- $cdn_values = get_option("WpFastestCacheCDN");
537
-
538
- if($cdn_values){
539
- $std_obj = json_decode($cdn_values);
540
- $cdn_values_arr = array();
541
-
542
- if(is_array($std_obj)){
543
- $cdn_values_arr = $std_obj;
544
- }else{
545
- array_push($cdn_values_arr, $std_obj);
546
- }
547
-
548
- foreach ($cdn_values_arr as $cdn_key => $cdn_value) {
549
- if($cdn_value->id == "amazonaws" || $cdn_value->id == "keycdn" || $cdn_value->id == "cdn77"){
550
- $cdn_value->id = "other";
551
- }
552
-
553
- if($cdn_value->id == $_POST["id"]){
554
- unset($cdn_values_arr[$cdn_key]);
555
- }
556
- }
557
-
558
- $cdn_values_arr = array_values($cdn_values_arr);
559
- }
560
-
561
- if(count($cdn_values_arr) > 0){
562
- update_option("WpFastestCacheCDN", json_encode($cdn_values_arr));
563
- }else{
564
- delete_option("WpFastestCacheCDN");
565
- }
566
-
567
- echo json_encode(array("success" => true));
568
- exit;
569
- }else{
570
- wp_die("Must be admin");
571
- }
572
  }
573
 
574
  public function wpfc_cdn_options_ajax_request_callback(){
575
- if(current_user_can('manage_options')){
576
- $cdn_values = get_option("WpFastestCacheCDN");
577
- if($cdn_values){
578
- echo $cdn_values;
579
- }else{
580
- echo json_encode(array("success" => false));
581
- }
582
- exit;
583
- }else{
584
- wp_die("Must be admin");
585
- }
586
  }
587
 
588
  public function wpfc_save_exclude_pages_callback(){
@@ -785,6 +620,9 @@ GNU General Public License for more details.
785
  }
786
 
787
  public function delete_current_page_cache(){
 
 
 
788
  if(isset($_GET["path"])){
789
  if($_GET["path"]){
790
  if($_GET["path"] == "/"){
@@ -928,6 +766,9 @@ GNU General Public License for more details.
928
  }
929
 
930
  public function singleDeleteCache($comment_id = false, $post_id = false){
 
 
 
931
  $to_clear_parents = true;
932
 
933
  // not to clear cache of homepage/cats/tags after ajax request by other plugins
@@ -1043,6 +884,9 @@ GNU General Public License for more details.
1043
  }
1044
 
1045
  public function deleteHomePageCache($log = true){
 
 
 
1046
  $site_url_path = preg_replace("/https?\:\/\/[^\/]+/i", "", site_url());
1047
  $home_url_path = preg_replace("/https?\:\/\/[^\/]+/i", "", home_url());
1048
 
@@ -1091,6 +935,9 @@ GNU General Public License for more details.
1091
  }
1092
 
1093
  public function deleteCache($minified = false){
 
 
 
1094
  $this->set_preload();
1095
 
1096
  $created_tmpWpfc = false;
3
  Plugin Name: WP Fastest Cache
4
  Plugin URI: http://wordpress.org/plugins/wp-fastest-cache/
5
  Description: The simplest and fastest WP Cache system
6
+ Version: 0.8.8.0
7
  Author: Emre Vona
8
  Author URI: http://tr.linkedin.com/in/emrevona
9
  Text Domain: wp-fastest-cache
395
  }
396
 
397
  public function wpfc_check_url_ajax_request_callback(){
398
+ include_once('inc/cdn.php');
399
+ CdnWPFC::check_url();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
400
  }
401
 
402
  public function wpfc_cdn_template_ajax_request_callback(){
403
+ include_once('inc/cdn.php');
404
+ CdnWPFC::cdn_template();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
405
  }
406
 
407
  public function wpfc_save_cdn_integration_ajax_request_callback(){
408
+ include_once('inc/cdn.php');
409
+ CdnWPFC::save_cdn_integration();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
410
 
 
 
 
 
 
 
 
411
  }
412
 
413
  public function wpfc_remove_cdn_integration_ajax_request_callback(){
414
+ include_once('inc/cdn.php');
415
+ CdnWPFC::remove_cdn_integration();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
416
  }
417
 
418
  public function wpfc_cdn_options_ajax_request_callback(){
419
+ include_once('inc/cdn.php');
420
+ CdnWPFC::cdn_options();
 
 
 
 
 
 
 
 
 
421
  }
422
 
423
  public function wpfc_save_exclude_pages_callback(){
620
  }
621
 
622
  public function delete_current_page_cache(){
623
+ include_once('inc/cdn.php');
624
+ CdnWPFC::cloudflare_clear_cache();
625
+
626
  if(isset($_GET["path"])){
627
  if($_GET["path"]){
628
  if($_GET["path"] == "/"){
766
  }
767
 
768
  public function singleDeleteCache($comment_id = false, $post_id = false){
769
+ include_once('inc/cdn.php');
770
+ CdnWPFC::cloudflare_clear_cache();
771
+
772
  $to_clear_parents = true;
773
 
774
  // not to clear cache of homepage/cats/tags after ajax request by other plugins
884
  }
885
 
886
  public function deleteHomePageCache($log = true){
887
+ include_once('inc/cdn.php');
888
+ CdnWPFC::cloudflare_clear_cache();
889
+
890
  $site_url_path = preg_replace("/https?\:\/\/[^\/]+/i", "", site_url());
891
  $home_url_path = preg_replace("/https?\:\/\/[^\/]+/i", "", home_url());
892
 
935
  }
936
 
937
  public function deleteCache($minified = false){
938
+ include_once('inc/cdn.php');
939
+ CdnWPFC::cloudflare_clear_cache();
940
+
941
  $this->set_preload();
942
 
943
  $created_tmpWpfc = false;