@@ -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 | { |
@@ -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 | } |
@@ -14,7 +14,7 @@ discard block |
||
| 14 | 14 | * |
| 15 | 15 | * @param bool|null $override Allows overriding the decision. |
| 16 | 16 | * |
| 17 | - * @return bool |
|
| 17 | + * @return boolean|null |
|
| 18 | 18 | */ |
| 19 | 19 | public static function mbstring_available( $override = null ) |
| 20 | 20 | { |
@@ -130,7 +130,7 @@ discard block |
||
| 130 | 130 | * |
| 131 | 131 | * @param bool $override Allows overriding the decision when needed. |
| 132 | 132 | * |
| 133 | - * @return bool |
|
| 133 | + * @return boolean|null |
|
| 134 | 134 | */ |
| 135 | 135 | public static function siteurl_not_root( $override = null ) |
| 136 | 136 | { |
@@ -128,6 +128,9 @@ |
||
| 128 | 128 | parent::tearDown(); |
| 129 | 129 | } |
| 130 | 130 | |
| 131 | + /** |
|
| 132 | + * @return string |
|
| 133 | + */ |
|
| 131 | 134 | protected function get_test_markup() |
| 132 | 135 | { |
| 133 | 136 | $siteurl = $this->get_urls()['siteurl']; |
@@ -29,131 +29,131 @@ |
||
| 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() ) { |
|
| 56 | - return; |
|
| 57 | - } |
|
| 58 | - |
|
| 59 | - wp_enqueue_script( |
|
| 60 | - 'dismissible-notices', |
|
| 61 | - plugins_url( 'dismiss-notice.js', __FILE__ ), |
|
| 62 | - array( 'jquery', 'common' ), |
|
| 63 | - false, |
|
| 64 | - true |
|
| 65 | - ); |
|
| 66 | - |
|
| 67 | - wp_localize_script( |
|
| 68 | - 'dismissible-notices', |
|
| 69 | - 'dismissible_notice', |
|
| 70 | - array( |
|
| 71 | - 'nonce' => wp_create_nonce( 'dismissible-notice' ), |
|
| 72 | - ) |
|
| 73 | - ); |
|
| 74 | - } |
|
| 75 | - |
|
| 76 | - /** |
|
| 77 | - * Handles Ajax request to persist notices dismissal. |
|
| 78 | - * Uses check_ajax_referer to verify nonce. |
|
| 79 | - */ |
|
| 80 | - public static function dismiss_admin_notice() { |
|
| 81 | - $option_name = sanitize_text_field( $_POST['option_name'] ); |
|
| 82 | - $dismissible_length = sanitize_text_field( $_POST['dismissible_length'] ); |
|
| 83 | - |
|
| 84 | - if ( 'forever' != $dismissible_length ) { |
|
| 85 | - // If $dismissible_length is not an integer default to 1 |
|
| 86 | - $dismissible_length = ( 0 == absint( $dismissible_length ) ) ? 1 : $dismissible_length; |
|
| 87 | - $dismissible_length = strtotime( absint( $dismissible_length ) . ' days' ); |
|
| 88 | - } |
|
| 89 | - |
|
| 90 | - check_ajax_referer( 'dismissible-notice', 'nonce' ); |
|
| 91 | - self::set_admin_notice_cache( $option_name, $dismissible_length ); |
|
| 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 = self::get_admin_notice_cache( $option_name ); |
|
| 107 | - if ( 'forever' == $db_record ) { |
|
| 108 | - return false; |
|
| 109 | - } elseif ( absint( $db_record ) >= time() ) { |
|
| 110 | - return false; |
|
| 111 | - } else { |
|
| 112 | - return true; |
|
| 113 | - } |
|
| 114 | - } |
|
| 115 | - |
|
| 116 | - /** |
|
| 117 | - * Returns admin notice cached timeout. |
|
| 118 | - * |
|
| 119 | - * @access public |
|
| 120 | - * |
|
| 121 | - * @param string|bool $id admin notice name or false. |
|
| 122 | - * |
|
| 123 | - * @return array|bool The timeout. False if expired. |
|
| 124 | - */ |
|
| 125 | - public static function get_admin_notice_cache( $id = false ) { |
|
| 126 | - if ( ! $id ) { |
|
| 127 | - return false; |
|
| 128 | - } |
|
| 129 | - $cache_key = 'pand-' . md5( $id ); |
|
| 130 | - $timeout = get_site_option( $cache_key ); |
|
| 131 | - $timeout = 'forever' === $timeout ? time() + 60 : $timeout; |
|
| 132 | - |
|
| 133 | - if ( empty( $timeout ) || time() > $timeout ) { |
|
| 134 | - return false; |
|
| 135 | - } |
|
| 136 | - |
|
| 137 | - return $timeout; |
|
| 138 | - } |
|
| 139 | - |
|
| 140 | - /** |
|
| 141 | - * Sets admin notice timeout in site option. |
|
| 142 | - * |
|
| 143 | - * @access public |
|
| 144 | - * |
|
| 145 | - * @param string $id Data Identifier. |
|
| 146 | - * @param string|bool $timeout Timeout for admin notice. |
|
| 147 | - * |
|
| 148 | - * @return bool |
|
| 149 | - */ |
|
| 150 | - public static function set_admin_notice_cache( $id, $timeout ) { |
|
| 151 | - $cache_key = 'pand-' . md5( $id ); |
|
| 152 | - update_site_option( $cache_key, $timeout ); |
|
| 153 | - |
|
| 154 | - return true; |
|
| 155 | - } |
|
| 156 | - |
|
| 157 | - } |
|
| 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() ) { |
|
| 56 | + return; |
|
| 57 | + } |
|
| 58 | + |
|
| 59 | + wp_enqueue_script( |
|
| 60 | + 'dismissible-notices', |
|
| 61 | + plugins_url( 'dismiss-notice.js', __FILE__ ), |
|
| 62 | + array( 'jquery', 'common' ), |
|
| 63 | + false, |
|
| 64 | + true |
|
| 65 | + ); |
|
| 66 | + |
|
| 67 | + wp_localize_script( |
|
| 68 | + 'dismissible-notices', |
|
| 69 | + 'dismissible_notice', |
|
| 70 | + array( |
|
| 71 | + 'nonce' => wp_create_nonce( 'dismissible-notice' ), |
|
| 72 | + ) |
|
| 73 | + ); |
|
| 74 | + } |
|
| 75 | + |
|
| 76 | + /** |
|
| 77 | + * Handles Ajax request to persist notices dismissal. |
|
| 78 | + * Uses check_ajax_referer to verify nonce. |
|
| 79 | + */ |
|
| 80 | + public static function dismiss_admin_notice() { |
|
| 81 | + $option_name = sanitize_text_field( $_POST['option_name'] ); |
|
| 82 | + $dismissible_length = sanitize_text_field( $_POST['dismissible_length'] ); |
|
| 83 | + |
|
| 84 | + if ( 'forever' != $dismissible_length ) { |
|
| 85 | + // If $dismissible_length is not an integer default to 1 |
|
| 86 | + $dismissible_length = ( 0 == absint( $dismissible_length ) ) ? 1 : $dismissible_length; |
|
| 87 | + $dismissible_length = strtotime( absint( $dismissible_length ) . ' days' ); |
|
| 88 | + } |
|
| 89 | + |
|
| 90 | + check_ajax_referer( 'dismissible-notice', 'nonce' ); |
|
| 91 | + self::set_admin_notice_cache( $option_name, $dismissible_length ); |
|
| 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 = self::get_admin_notice_cache( $option_name ); |
|
| 107 | + if ( 'forever' == $db_record ) { |
|
| 108 | + return false; |
|
| 109 | + } elseif ( absint( $db_record ) >= time() ) { |
|
| 110 | + return false; |
|
| 111 | + } else { |
|
| 112 | + return true; |
|
| 113 | + } |
|
| 114 | + } |
|
| 115 | + |
|
| 116 | + /** |
|
| 117 | + * Returns admin notice cached timeout. |
|
| 118 | + * |
|
| 119 | + * @access public |
|
| 120 | + * |
|
| 121 | + * @param string|bool $id admin notice name or false. |
|
| 122 | + * |
|
| 123 | + * @return array|bool The timeout. False if expired. |
|
| 124 | + */ |
|
| 125 | + public static function get_admin_notice_cache( $id = false ) { |
|
| 126 | + if ( ! $id ) { |
|
| 127 | + return false; |
|
| 128 | + } |
|
| 129 | + $cache_key = 'pand-' . md5( $id ); |
|
| 130 | + $timeout = get_site_option( $cache_key ); |
|
| 131 | + $timeout = 'forever' === $timeout ? time() + 60 : $timeout; |
|
| 132 | + |
|
| 133 | + if ( empty( $timeout ) || time() > $timeout ) { |
|
| 134 | + return false; |
|
| 135 | + } |
|
| 136 | + |
|
| 137 | + return $timeout; |
|
| 138 | + } |
|
| 139 | + |
|
| 140 | + /** |
|
| 141 | + * Sets admin notice timeout in site option. |
|
| 142 | + * |
|
| 143 | + * @access public |
|
| 144 | + * |
|
| 145 | + * @param string $id Data Identifier. |
|
| 146 | + * @param string|bool $timeout Timeout for admin notice. |
|
| 147 | + * |
|
| 148 | + * @return bool |
|
| 149 | + */ |
|
| 150 | + public static function set_admin_notice_cache( $id, $timeout ) { |
|
| 151 | + $cache_key = 'pand-' . md5( $id ); |
|
| 152 | + update_site_option( $cache_key, $timeout ); |
|
| 153 | + |
|
| 154 | + return true; |
|
| 155 | + } |
|
| 156 | + |
|
| 157 | + } |
|
| 158 | 158 | |
| 159 | 159 | } |
@@ -798,6 +798,9 @@ discard block |
||
| 798 | 798 | return $preload_onload; |
| 799 | 799 | } |
| 800 | 800 | |
| 801 | + /** |
|
| 802 | + * @param string $key |
|
| 803 | + */ |
|
| 801 | 804 | public function get( $key ) |
| 802 | 805 | { |
| 803 | 806 | if ( ! is_array( $this->config ) ) { |
@@ -824,6 +827,9 @@ discard block |
||
| 824 | 827 | return false; |
| 825 | 828 | } |
| 826 | 829 | |
| 830 | + /** |
|
| 831 | + * @param string $url |
|
| 832 | + */ |
|
| 827 | 833 | private function get_futtta_feeds( $url ) { |
| 828 | 834 | if ( $this->settings_screen_do_remote_http ) { |
| 829 | 835 | $rss = fetch_feed( $url ); |
@@ -370,6 +370,9 @@ discard block |
||
| 370 | 370 | } |
| 371 | 371 | } |
| 372 | 372 | |
| 373 | + /** |
|
| 374 | + * @return string |
|
| 375 | + */ |
|
| 373 | 376 | private function get_imgopt_base_url() |
| 374 | 377 | { |
| 375 | 378 | static $imgopt_base_url = null; |
@@ -718,6 +721,9 @@ discard block |
||
| 718 | 721 | return $out; |
| 719 | 722 | } |
| 720 | 723 | |
| 724 | + /** |
|
| 725 | + * @param string $tag |
|
| 726 | + */ |
|
| 721 | 727 | public function add_lazyload( $tag, $placeholder = '' ) { |
| 722 | 728 | // adds actual lazyload-attributes to an image node. |
| 723 | 729 | if ( str_ireplace( $this->get_lazyload_exclusions(), '', $tag ) === $tag ) { |
@@ -897,6 +903,9 @@ discard block |
||
| 897 | 903 | return $out; |
| 898 | 904 | } |
| 899 | 905 | |
| 906 | + /** |
|
| 907 | + * @return string |
|
| 908 | + */ |
|
| 900 | 909 | public function process_bgimage( $in ) { |
| 901 | 910 | if ( strpos( $in, 'background-image:' ) !== false && apply_filters( 'autoptimize_filter_imgopt_lazyload_backgroundimages', true ) ) { |
| 902 | 911 | $out = preg_replace_callback( |
@@ -1239,7 +1248,7 @@ discard block |
||
| 1239 | 1248 | /** |
| 1240 | 1249 | * Determines and returns the service launch status. |
| 1241 | 1250 | * |
| 1242 | - * @return bool |
|
| 1251 | + * @return null|boolean |
|
| 1243 | 1252 | */ |
| 1244 | 1253 | public function launch_ok() |
| 1245 | 1254 | { |
@@ -296,7 +296,7 @@ |
||
| 296 | 296 | * |
| 297 | 297 | * @param bool $doing_tests Allows overriding the optimization of only |
| 298 | 298 | * deciding once per request (for use in tests). |
| 299 | - * @return bool |
|
| 299 | + * @return boolean|null |
|
| 300 | 300 | */ |
| 301 | 301 | public static function should_buffer( $doing_tests = false ) |
| 302 | 302 | { |