@@ -64,7 +64,7 @@ discard block |
||
64 | 64 | * |
65 | 65 | * @param string $url URL to transform. |
66 | 66 | * |
67 | - * @return bool|string |
|
67 | + * @return false|string |
|
68 | 68 | */ |
69 | 69 | public function getpath( $url ) |
70 | 70 | { |
@@ -610,7 +610,7 @@ discard block |
||
610 | 610 | /** |
611 | 611 | * Logs given `$data` for debugging purposes (when debug logging is on). |
612 | 612 | * |
613 | - * @param mixed $data Data to log. |
|
613 | + * @param string $data Data to log. |
|
614 | 614 | * |
615 | 615 | * @return void |
616 | 616 | */ |
@@ -632,7 +632,7 @@ discard block |
||
632 | 632 | * |
633 | 633 | * @param string $filepath Filepath. |
634 | 634 | * |
635 | - * @return bool|string to be minified code or false. |
|
635 | + * @return false|string to be minified code or false. |
|
636 | 636 | */ |
637 | 637 | protected function prepare_minify_single( $filepath ) |
638 | 638 | { |
@@ -412,7 +412,7 @@ |
||
412 | 412 | * First element is the filepath, second is the md5 hash of contents |
413 | 413 | * the filepath had when it was being processed. |
414 | 414 | * If we don't have those, we'll bail out early. |
415 | - */ |
|
415 | + */ |
|
416 | 416 | $filepath = null; |
417 | 417 | $filehash = null; |
418 | 418 |
@@ -434,7 +434,7 @@ |
||
434 | 434 | * size = total filesize (in bytes) of found files |
435 | 435 | * timestamp = unix timestamp when the scan was last performed/finished. |
436 | 436 | * |
437 | - * @return array |
|
437 | + * @return integer[] |
|
438 | 438 | */ |
439 | 439 | protected static function stats_scan() |
440 | 440 | { |
@@ -752,6 +752,9 @@ discard block |
||
752 | 752 | return $preload_onload; |
753 | 753 | } |
754 | 754 | |
755 | + /** |
|
756 | + * @param string $key |
|
757 | + */ |
|
755 | 758 | public function get($key) |
756 | 759 | { |
757 | 760 | if ( ! is_array( $this->config ) ) { |
@@ -778,6 +781,9 @@ discard block |
||
778 | 781 | return false; |
779 | 782 | } |
780 | 783 | |
784 | + /** |
|
785 | + * @param string $url |
|
786 | + */ |
|
781 | 787 | private function getFutttaFeeds($url) { |
782 | 788 | if ( $this->settings_screen_do_remote_http ) { |
783 | 789 | $rss = fetch_feed( $url ); |
@@ -437,6 +437,9 @@ |
||
437 | 437 | } |
438 | 438 | } |
439 | 439 | |
440 | + /** |
|
441 | + * @return string |
|
442 | + */ |
|
440 | 443 | private function get_imgopt_base_url() |
441 | 444 | { |
442 | 445 | static $imgopt_base_url = null; |
@@ -104,7 +104,7 @@ |
||
104 | 104 | /** |
105 | 105 | * Doesn't do much in case of HTML (no cache in css/js sense there) |
106 | 106 | * |
107 | - * @return true |
|
107 | + * @return boolean |
|
108 | 108 | */ |
109 | 109 | public function cache() |
110 | 110 | { |
@@ -253,7 +253,7 @@ |
||
253 | 253 | * |
254 | 254 | * @param bool $doing_tests Allows overriding the optimization of only |
255 | 255 | * deciding once per request (for use in tests). |
256 | - * @return bool |
|
256 | + * @return boolean|null |
|
257 | 257 | */ |
258 | 258 | public function should_buffer( $doing_tests = false ) |
259 | 259 | { |
@@ -418,6 +418,10 @@ discard block |
||
418 | 418 | } |
419 | 419 | |
420 | 420 | // Checks against the white- and blacklists |
421 | + |
|
422 | + /** |
|
423 | + * @param string $tag |
|
424 | + */ |
|
421 | 425 | private function ismergeable($tag) |
422 | 426 | { |
423 | 427 | if ( ! $this->aggregate ) { |
@@ -457,6 +461,10 @@ discard block |
||
457 | 461 | } |
458 | 462 | |
459 | 463 | // Checks agains the blacklist |
464 | + |
|
465 | + /** |
|
466 | + * @param string $tag |
|
467 | + */ |
|
460 | 468 | private function ismovable($tag) |
461 | 469 | { |
462 | 470 | if ( true !== $this->include_inline || apply_filters( 'autoptimize_filter_js_unmovable', true ) ) { |
@@ -538,7 +546,7 @@ discard block |
||
538 | 546 | * @param string $filepath Filepath. |
539 | 547 | * @param bool $cache_miss Optional. Force a cache miss. Default false. |
540 | 548 | * |
541 | - * @return bool|string Url pointing to the minified js file or false. |
|
549 | + * @return false|string Url pointing to the minified js file or false. |
|
542 | 550 | */ |
543 | 551 | public function minify_single( $filepath, $cache_miss = false ) |
544 | 552 | { |
@@ -2,9 +2,9 @@ discard block |
||
2 | 2 | |
3 | 3 | //Check everything exists before using it |
4 | 4 | if(!isset($_SERVER['HTTP_ACCEPT_ENCODING'])) |
5 | - $_SERVER['HTTP_ACCEPT_ENCODING'] = ''; |
|
5 | + $_SERVER['HTTP_ACCEPT_ENCODING'] = ''; |
|
6 | 6 | if(!isset($_SERVER['HTTP_USER_AGENT'])) |
7 | - $_SERVER['HTTP_USER_AGENT'] = ''; |
|
7 | + $_SERVER['HTTP_USER_AGENT'] = ''; |
|
8 | 8 | |
9 | 9 | // Determine supported compression method |
10 | 10 | $gzip = strstr($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip'); |
@@ -15,30 +15,30 @@ discard block |
||
15 | 15 | |
16 | 16 | // Check for buggy versions of Internet Explorer |
17 | 17 | if (!strstr($_SERVER['HTTP_USER_AGENT'], 'Opera') && |
18 | - preg_match('/^Mozilla\/4\.0 \(compatible; MSIE ([0-9]\.[0-9])/i', $_SERVER['HTTP_USER_AGENT'], $matches)) |
|
18 | + preg_match('/^Mozilla\/4\.0 \(compatible; MSIE ([0-9]\.[0-9])/i', $_SERVER['HTTP_USER_AGENT'], $matches)) |
|
19 | 19 | { |
20 | - $version = floatval($matches[1]); |
|
20 | + $version = floatval($matches[1]); |
|
21 | 21 | |
22 | - if ($version < 6) |
|
23 | - $encoding = 'none'; |
|
22 | + if ($version < 6) |
|
23 | + $encoding = 'none'; |
|
24 | 24 | |
25 | - if ($version == 6 && !strstr($_SERVER['HTTP_USER_AGENT'], 'EV1')) |
|
26 | - $encoding = 'none'; |
|
25 | + if ($version == 6 && !strstr($_SERVER['HTTP_USER_AGENT'], 'EV1')) |
|
26 | + $encoding = 'none'; |
|
27 | 27 | } |
28 | 28 | |
29 | 29 | //Some servers compress the output of PHP - Don't break in those cases |
30 | 30 | if(ini_get('output_handler') == 'ob_gzhandler' || ini_get('zlib.output_compression') == 1) |
31 | - $encoding = 'none'; |
|
31 | + $encoding = 'none'; |
|
32 | 32 | |
33 | 33 | $iscompressed = file_exists(__FILE__.'.'.$encoding); |
34 | 34 | if($encoding != 'none' && $iscompressed == false) |
35 | 35 | { |
36 | - $flag = ($encoding == 'gzip' ? FORCE_GZIP : FORCE_DEFLATE); |
|
37 | - $code = file_get_contents(__FILE__.'.none'); |
|
38 | - $contents = gzencode($code,9,$flag); |
|
36 | + $flag = ($encoding == 'gzip' ? FORCE_GZIP : FORCE_DEFLATE); |
|
37 | + $code = file_get_contents(__FILE__.'.none'); |
|
38 | + $contents = gzencode($code,9,$flag); |
|
39 | 39 | }else{ |
40 | - //Get data |
|
41 | - $contents = file_get_contents(__FILE__.'.'.$encoding); |
|
40 | + //Get data |
|
41 | + $contents = file_get_contents(__FILE__.'.'.$encoding); |
|
42 | 42 | } |
43 | 43 | |
44 | 44 | // first check if we have to send 304 |
@@ -52,36 +52,36 @@ discard block |
||
52 | 52 | $modTimeMatch = (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) && strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) === $modTime); |
53 | 53 | |
54 | 54 | if (($modTimeMatch)||($eTagMatch)) { |
55 | - header('HTTP/1.1 304 Not Modified'); |
|
56 | - header('Connection: close'); |
|
55 | + header('HTTP/1.1 304 Not Modified'); |
|
56 | + header('Connection: close'); |
|
57 | 57 | } else { |
58 | - // send all sorts of headers |
|
59 | - $expireTime=60*60*24*355; // 1y max according to RFC |
|
60 | - if ($encoding != 'none') { |
|
61 | - header('Content-Encoding: '.$encoding); |
|
62 | - } |
|
63 | - header('Vary: Accept-Encoding'); |
|
64 | - header('Content-Length: '.strlen($contents)); |
|
65 | - header('Content-type: %%CONTENT%%; charset=utf-8'); |
|
66 | - header('Cache-Control: max-age='.$expireTime.', public, must-revalidate'); |
|
67 | - header('Cache-Control: max-age='.$expireTime.', public, immutable'); |
|
68 | - header('Expires: '.gmdate('D, d M Y H:i:s', time() + $expireTime).' GMT'); |
|
69 | - header('ETag: ' . $eTag); |
|
70 | - header('Last-Modified: '.gmdate('D, d M Y H:i:s', $modTime).' GMT'); |
|
58 | + // send all sorts of headers |
|
59 | + $expireTime=60*60*24*355; // 1y max according to RFC |
|
60 | + if ($encoding != 'none') { |
|
61 | + header('Content-Encoding: '.$encoding); |
|
62 | + } |
|
63 | + header('Vary: Accept-Encoding'); |
|
64 | + header('Content-Length: '.strlen($contents)); |
|
65 | + header('Content-type: %%CONTENT%%; charset=utf-8'); |
|
66 | + header('Cache-Control: max-age='.$expireTime.', public, must-revalidate'); |
|
67 | + header('Cache-Control: max-age='.$expireTime.', public, immutable'); |
|
68 | + header('Expires: '.gmdate('D, d M Y H:i:s', time() + $expireTime).' GMT'); |
|
69 | + header('ETag: ' . $eTag); |
|
70 | + header('Last-Modified: '.gmdate('D, d M Y H:i:s', $modTime).' GMT'); |
|
71 | 71 | |
72 | - // send output |
|
73 | - echo $contents; |
|
72 | + // send output |
|
73 | + echo $contents; |
|
74 | 74 | |
75 | - //And write to filesystem cache if not done yet |
|
76 | - if($encoding != 'none' && $iscompressed == false) |
|
77 | - { |
|
78 | - //Write the content we sent |
|
79 | - file_put_contents(__FILE__.'.'.$encoding,$contents); |
|
75 | + //And write to filesystem cache if not done yet |
|
76 | + if($encoding != 'none' && $iscompressed == false) |
|
77 | + { |
|
78 | + //Write the content we sent |
|
79 | + file_put_contents(__FILE__.'.'.$encoding,$contents); |
|
80 | 80 | |
81 | - //And write the new content |
|
82 | - $flag = ($encoding == 'gzip' ? FORCE_DEFLATE : FORCE_GZIP); |
|
83 | - $ext = ($encoding == 'gzip' ? 'deflate' : 'gzip'); |
|
84 | - $contents = gzencode($code,9,$flag); |
|
85 | - file_put_contents(__FILE__.'.'.$ext,$contents); |
|
86 | - } |
|
81 | + //And write the new content |
|
82 | + $flag = ($encoding == 'gzip' ? FORCE_DEFLATE : FORCE_GZIP); |
|
83 | + $ext = ($encoding == 'gzip' ? 'deflate' : 'gzip'); |
|
84 | + $contents = gzencode($code,9,$flag); |
|
85 | + file_put_contents(__FILE__.'.'.$ext,$contents); |
|
86 | + } |
|
87 | 87 | } |
@@ -29,91 +29,91 @@ |
||
29 | 29 | * Exit if called directly. |
30 | 30 | */ |
31 | 31 | if ( ! defined( 'ABSPATH' ) ) { |
32 | - die; |
|
32 | + die; |
|
33 | 33 | } |
34 | 34 | |
35 | 35 | if ( ! class_exists( 'PAnD' ) ) { |
36 | 36 | |
37 | - /** |
|
38 | - * Class PAnD |
|
39 | - */ |
|
40 | - class PAnD { |
|
41 | - |
|
42 | - /** |
|
43 | - * Init hooks. |
|
44 | - */ |
|
45 | - public static function init() { |
|
46 | - add_action( 'admin_enqueue_scripts', array( __CLASS__, 'load_script' ) ); |
|
47 | - add_action( 'wp_ajax_dismiss_admin_notice', array( __CLASS__, 'dismiss_admin_notice' ) ); |
|
48 | - } |
|
49 | - |
|
50 | - /** |
|
51 | - * Enqueue javascript and variables. |
|
52 | - */ |
|
53 | - public static function load_script() { |
|
54 | - |
|
55 | - if(is_customize_preview()) return; |
|
56 | - |
|
57 | - wp_enqueue_script( |
|
58 | - 'dismissible-notices', |
|
59 | - plugins_url( 'dismiss-notice.js', __FILE__ ), |
|
60 | - array( 'jquery', 'common' ), |
|
61 | - false, |
|
62 | - true |
|
63 | - ); |
|
64 | - |
|
65 | - wp_localize_script( |
|
66 | - 'dismissible-notices', |
|
67 | - 'dismissible_notice', |
|
68 | - array( |
|
69 | - 'nonce' => wp_create_nonce( 'dismissible-notice' ), |
|
70 | - ) |
|
71 | - ); |
|
72 | - } |
|
73 | - |
|
74 | - /** |
|
75 | - * Handles Ajax request to persist notices dismissal. |
|
76 | - * Uses check_ajax_referer to verify nonce. |
|
77 | - */ |
|
78 | - public static function dismiss_admin_notice() { |
|
79 | - $option_name = sanitize_text_field( $_POST['option_name'] ); |
|
80 | - $dismissible_length = sanitize_text_field( $_POST['dismissible_length'] ); |
|
81 | - $transient = 0; |
|
82 | - |
|
83 | - if ( 'forever' != $dismissible_length ) { |
|
84 | - // If $dismissible_length is not an integer default to 1 |
|
85 | - $dismissible_length = ( 0 == absint( $dismissible_length ) ) ? 1 : $dismissible_length; |
|
86 | - $transient = absint( $dismissible_length ) * DAY_IN_SECONDS; |
|
87 | - $dismissible_length = strtotime( absint( $dismissible_length ) . ' days' ); |
|
88 | - } |
|
89 | - |
|
90 | - check_ajax_referer( 'dismissible-notice', 'nonce' ); |
|
91 | - set_site_transient( $option_name, $dismissible_length, $transient ); |
|
92 | - wp_die(); |
|
93 | - } |
|
94 | - |
|
95 | - /** |
|
96 | - * Is admin notice active? |
|
97 | - * |
|
98 | - * @param string $arg data-dismissible content of notice. |
|
99 | - * |
|
100 | - * @return bool |
|
101 | - */ |
|
102 | - public static function is_admin_notice_active( $arg ) { |
|
103 | - $array = explode( '-', $arg ); |
|
104 | - $length = array_pop( $array ); |
|
105 | - $option_name = implode( '-', $array ); |
|
106 | - $db_record = get_site_transient( $option_name ); |
|
107 | - |
|
108 | - if ( 'forever' == $db_record ) { |
|
109 | - return false; |
|
110 | - } elseif ( absint( $db_record ) >= time() ) { |
|
111 | - return false; |
|
112 | - } else { |
|
113 | - return true; |
|
114 | - } |
|
115 | - } |
|
116 | - |
|
117 | - } |
|
37 | + /** |
|
38 | + * Class PAnD |
|
39 | + */ |
|
40 | + class PAnD { |
|
41 | + |
|
42 | + /** |
|
43 | + * Init hooks. |
|
44 | + */ |
|
45 | + public static function init() { |
|
46 | + add_action( 'admin_enqueue_scripts', array( __CLASS__, 'load_script' ) ); |
|
47 | + add_action( 'wp_ajax_dismiss_admin_notice', array( __CLASS__, 'dismiss_admin_notice' ) ); |
|
48 | + } |
|
49 | + |
|
50 | + /** |
|
51 | + * Enqueue javascript and variables. |
|
52 | + */ |
|
53 | + public static function load_script() { |
|
54 | + |
|
55 | + if(is_customize_preview()) return; |
|
56 | + |
|
57 | + wp_enqueue_script( |
|
58 | + 'dismissible-notices', |
|
59 | + plugins_url( 'dismiss-notice.js', __FILE__ ), |
|
60 | + array( 'jquery', 'common' ), |
|
61 | + false, |
|
62 | + true |
|
63 | + ); |
|
64 | + |
|
65 | + wp_localize_script( |
|
66 | + 'dismissible-notices', |
|
67 | + 'dismissible_notice', |
|
68 | + array( |
|
69 | + 'nonce' => wp_create_nonce( 'dismissible-notice' ), |
|
70 | + ) |
|
71 | + ); |
|
72 | + } |
|
73 | + |
|
74 | + /** |
|
75 | + * Handles Ajax request to persist notices dismissal. |
|
76 | + * Uses check_ajax_referer to verify nonce. |
|
77 | + */ |
|
78 | + public static function dismiss_admin_notice() { |
|
79 | + $option_name = sanitize_text_field( $_POST['option_name'] ); |
|
80 | + $dismissible_length = sanitize_text_field( $_POST['dismissible_length'] ); |
|
81 | + $transient = 0; |
|
82 | + |
|
83 | + if ( 'forever' != $dismissible_length ) { |
|
84 | + // If $dismissible_length is not an integer default to 1 |
|
85 | + $dismissible_length = ( 0 == absint( $dismissible_length ) ) ? 1 : $dismissible_length; |
|
86 | + $transient = absint( $dismissible_length ) * DAY_IN_SECONDS; |
|
87 | + $dismissible_length = strtotime( absint( $dismissible_length ) . ' days' ); |
|
88 | + } |
|
89 | + |
|
90 | + check_ajax_referer( 'dismissible-notice', 'nonce' ); |
|
91 | + set_site_transient( $option_name, $dismissible_length, $transient ); |
|
92 | + wp_die(); |
|
93 | + } |
|
94 | + |
|
95 | + /** |
|
96 | + * Is admin notice active? |
|
97 | + * |
|
98 | + * @param string $arg data-dismissible content of notice. |
|
99 | + * |
|
100 | + * @return bool |
|
101 | + */ |
|
102 | + public static function is_admin_notice_active( $arg ) { |
|
103 | + $array = explode( '-', $arg ); |
|
104 | + $length = array_pop( $array ); |
|
105 | + $option_name = implode( '-', $array ); |
|
106 | + $db_record = get_site_transient( $option_name ); |
|
107 | + |
|
108 | + if ( 'forever' == $db_record ) { |
|
109 | + return false; |
|
110 | + } elseif ( absint( $db_record ) >= time() ) { |
|
111 | + return false; |
|
112 | + } else { |
|
113 | + return true; |
|
114 | + } |
|
115 | + } |
|
116 | + |
|
117 | + } |
|
118 | 118 | |
119 | 119 | } |