@@ -72,9 +72,9 @@ discard block |
||
| 72 | 72 | public function __construct($raisePhpLimits = true) |
| 73 | 73 | { |
| 74 | 74 | $this->raisePhpLimits = (bool) $raisePhpLimits; |
| 75 | - $this->memoryLimit = 128 * 1048576; // 128MB in bytes |
|
| 76 | - $this->pcreBacktrackLimit = 1000 * 1000; |
|
| 77 | - $this->pcreRecursionLimit = 500 * 1000; |
|
| 75 | + $this->memoryLimit = 128*1048576; // 128MB in bytes |
|
| 76 | + $this->pcreBacktrackLimit = 1000*1000; |
|
| 77 | + $this->pcreRecursionLimit = 500*1000; |
|
| 78 | 78 | $this->hexToNamedColorsMap = Colors::getHexToNamedMap(); |
| 79 | 79 | $this->namedToHexColorsMap = Colors::getNamedToHexMap(); |
| 80 | 80 | $this->namedToHexColorsRegex = sprintf( |
@@ -176,8 +176,8 @@ discard block |
||
| 176 | 176 | */ |
| 177 | 177 | private function setShortenZeroValuesRegexes() |
| 178 | 178 | { |
| 179 | - $zeroRegex = '0'. $this->unitsGroupRegex; |
|
| 180 | - $numOrPosRegex = '('. $this->numRegex .'|top|left|bottom|right|center) '; |
|
| 179 | + $zeroRegex = '0'.$this->unitsGroupRegex; |
|
| 180 | + $numOrPosRegex = '('.$this->numRegex.'|top|left|bottom|right|center) '; |
|
| 181 | 181 | $oneZeroSafeProperties = array( |
| 182 | 182 | '(?:line-)?height', |
| 183 | 183 | '(?:(?:min|max)-)?width', |
@@ -195,14 +195,14 @@ discard block |
||
| 195 | 195 | ); |
| 196 | 196 | |
| 197 | 197 | // First zero regex |
| 198 | - $regex = '/(^|;)('. implode('|', $oneZeroSafeProperties) .'):%s/Si'; |
|
| 198 | + $regex = '/(^|;)('.implode('|', $oneZeroSafeProperties).'):%s/Si'; |
|
| 199 | 199 | $this->shortenOneZeroesRegex = sprintf($regex, $zeroRegex); |
| 200 | 200 | |
| 201 | 201 | // Multiple zeroes regexes |
| 202 | 202 | $regex = '/(^|;)(margin|padding|border-(?:width|radius)|background-position):%s/Si'; |
| 203 | - $this->shortenTwoZeroesRegex = sprintf($regex, $numOrPosRegex . $zeroRegex); |
|
| 204 | - $this->shortenThreeZeroesRegex = sprintf($regex, $numOrPosRegex . $numOrPosRegex . $zeroRegex); |
|
| 205 | - $this->shortenFourZeroesRegex = sprintf($regex, $numOrPosRegex . $numOrPosRegex . $numOrPosRegex . $zeroRegex); |
|
| 203 | + $this->shortenTwoZeroesRegex = sprintf($regex, $numOrPosRegex.$zeroRegex); |
|
| 204 | + $this->shortenThreeZeroesRegex = sprintf($regex, $numOrPosRegex.$numOrPosRegex.$zeroRegex); |
|
| 205 | + $this->shortenFourZeroesRegex = sprintf($regex, $numOrPosRegex.$numOrPosRegex.$numOrPosRegex.$zeroRegex); |
|
| 206 | 206 | } |
| 207 | 207 | |
| 208 | 208 | /** |
@@ -389,7 +389,7 @@ discard block |
||
| 389 | 389 | $dataStartIndex = $matchStartIndex + 4; // url( length |
| 390 | 390 | $searchOffset = $matchStartIndex + strlen($m[0][0]); |
| 391 | 391 | $terminator = $m[1][0]; // ', " or empty (not quoted) |
| 392 | - $terminatorRegex = '/(?<!\\\\)'. (strlen($terminator) === 0 ? '' : $terminator.'\s*') .'(\))/S'; |
|
| 392 | + $terminatorRegex = '/(?<!\\\\)'.(strlen($terminator) === 0 ? '' : $terminator.'\s*').'(\))/S'; |
|
| 393 | 393 | |
| 394 | 394 | $ret .= substr($css, $substrOffset, $matchStartIndex - $substrOffset); |
| 395 | 395 | |
@@ -404,7 +404,7 @@ discard block |
||
| 404 | 404 | $token = preg_replace('/\s+/S', '', $token); |
| 405 | 405 | } |
| 406 | 406 | |
| 407 | - $ret .= 'url('. $this->registerPreservedToken(trim($token)) .')'; |
|
| 407 | + $ret .= 'url('.$this->registerPreservedToken(trim($token)).')'; |
|
| 408 | 408 | // No end terminator found, re-add the whole match. Should we throw/warn here? |
| 409 | 409 | } else { |
| 410 | 410 | $ret .= substr($css, $matchStartIndex, $searchOffset - $matchStartIndex); |
@@ -425,7 +425,7 @@ discard block |
||
| 425 | 425 | */ |
| 426 | 426 | private function processCommentsCallback($matches) |
| 427 | 427 | { |
| 428 | - return '/*'. $this->registerCommentToken($matches[1]) .'*/'; |
|
| 428 | + return '/*'.$this->registerCommentToken($matches[1]).'*/'; |
|
| 429 | 429 | } |
| 430 | 430 | |
| 431 | 431 | /** |
@@ -435,7 +435,7 @@ discard block |
||
| 435 | 435 | */ |
| 436 | 436 | private function processOldIeSpecificMatrixDefinitionCallback($matches) |
| 437 | 437 | { |
| 438 | - return 'filter:progid:DXImageTransform.Microsoft.Matrix('. $this->registerPreservedToken($matches[1]) .')'; |
|
| 438 | + return 'filter:progid:DXImageTransform.Microsoft.Matrix('.$this->registerPreservedToken($matches[1]).')'; |
|
| 439 | 439 | } |
| 440 | 440 | |
| 441 | 441 | /** |
@@ -458,7 +458,7 @@ discard block |
||
| 458 | 458 | // minify alpha opacity in filter strings |
| 459 | 459 | $match = str_ireplace('progid:DXImageTransform.Microsoft.Alpha(Opacity=', 'alpha(opacity=', $match); |
| 460 | 460 | |
| 461 | - return $quote . $this->registerPreservedToken($match) . $quote; |
|
| 461 | + return $quote.$this->registerPreservedToken($match).$quote; |
|
| 462 | 462 | } |
| 463 | 463 | |
| 464 | 464 | /** |
@@ -469,7 +469,7 @@ discard block |
||
| 469 | 469 | */ |
| 470 | 470 | private function processImportUnquotedUrlAtRulesCallback($matches) |
| 471 | 471 | { |
| 472 | - return '@import url('. $this->registerPreservedToken($matches[1]) .')'. $matches[2]; |
|
| 472 | + return '@import url('.$this->registerPreservedToken($matches[1]).')'.$matches[2]; |
|
| 473 | 473 | } |
| 474 | 474 | |
| 475 | 475 | /** |
@@ -480,7 +480,7 @@ discard block |
||
| 480 | 480 | private function processComments($css) |
| 481 | 481 | { |
| 482 | 482 | foreach ($this->comments as $commentId => $comment) { |
| 483 | - $commentIdString = '/*'. $commentId .'*/'; |
|
| 483 | + $commentIdString = '/*'.$commentId.'*/'; |
|
| 484 | 484 | |
| 485 | 485 | // ! in the first position of the comment means preserve |
| 486 | 486 | // so push to the preserved tokens keeping the ! |
@@ -531,7 +531,7 @@ discard block |
||
| 531 | 531 | $blockEndPos = strpos($css, '}', $blockStartPos); |
| 532 | 532 | // When ending curly brace is missing, let's |
| 533 | 533 | // behave like there was one at the end of the block... |
| 534 | - if ( false === $blockEndPos ) { |
|
| 534 | + if (false === $blockEndPos) { |
|
| 535 | 535 | $blockEndPos = strlen($css) - 1; |
| 536 | 536 | } |
| 537 | 537 | $nextBlockStartPos = strpos($css, '{', $blockStartPos + 1); |
@@ -543,7 +543,7 @@ discard block |
||
| 543 | 543 | } else { |
| 544 | 544 | $ruleBody = substr($css, $blockStartPos + 1, $blockEndPos - $blockStartPos - 1); |
| 545 | 545 | $ruleBodyToken = $this->registerRuleBodyToken($this->processRuleBody($ruleBody)); |
| 546 | - $ret .= '{'. $ruleBodyToken .'}'; |
|
| 546 | + $ret .= '{'.$ruleBodyToken.'}'; |
|
| 547 | 547 | $searchOffset = $blockEndPos + 1; |
| 548 | 548 | } |
| 549 | 549 | |
@@ -643,8 +643,8 @@ discard block |
||
| 643 | 643 | $body = preg_replace('/([ :,(])\+(\.?\d+)/S', '$1$2', $body); |
| 644 | 644 | |
| 645 | 645 | // shorten ms to s |
| 646 | - $body = preg_replace_callback('/([ :,(])(-?)(\d{3,})ms/Si', function ($matches) { |
|
| 647 | - return $matches[1] . $matches[2] . ((int) $matches[3] / 1000) .'s'; |
|
| 646 | + $body = preg_replace_callback('/([ :,(])(-?)(\d{3,})ms/Si', function($matches) { |
|
| 647 | + return $matches[1].$matches[2].((int) $matches[3]/1000).'s'; |
|
| 648 | 648 | }, $body); |
| 649 | 649 | |
| 650 | 650 | // Remove leading zeros from integer and float numbers. |
@@ -756,13 +756,13 @@ discard block |
||
| 756 | 756 | $css = preg_replace('/::(before|after|first-(?:line|letter))(\{|,)/Si', ':$1$2', $css); |
| 757 | 757 | |
| 758 | 758 | // Retain space for special IE6 cases |
| 759 | - $css = preg_replace_callback('/:first-(line|letter)(\{|,)/Si', function ($matches) { |
|
| 760 | - return ':first-'. strtolower($matches[1]) .' '. $matches[2]; |
|
| 759 | + $css = preg_replace_callback('/:first-(line|letter)(\{|,)/Si', function($matches) { |
|
| 760 | + return ':first-'.strtolower($matches[1]).' '.$matches[2]; |
|
| 761 | 761 | }, $css); |
| 762 | 762 | |
| 763 | 763 | // Find a fraction that may used in some @media queries such as: (min-aspect-ratio: 1/1) |
| 764 | 764 | // Add token to add the "/" back in later |
| 765 | - $css = preg_replace('/\(([a-z-]+):([0-9]+)\/([0-9]+)\)/Si', '($1:$2'. self::QUERY_FRACTION .'$3)', $css); |
|
| 765 | + $css = preg_replace('/\(([a-z-]+):([0-9]+)\/([0-9]+)\)/Si', '($1:$2'.self::QUERY_FRACTION.'$3)', $css); |
|
| 766 | 766 | |
| 767 | 767 | // Remove empty rule blocks up to 2 levels deep. |
| 768 | 768 | $css = preg_replace(array_fill(0, 2, '/(\{)[^{};\/\n]+\{\}/S'), '$1', $css); |
@@ -810,7 +810,7 @@ discard block |
||
| 810 | 810 | } |
| 811 | 811 | |
| 812 | 812 | // @import handling |
| 813 | - $css = preg_replace_callback($this->importRegex, function ($matches) use (&$imports) { |
|
| 813 | + $css = preg_replace_callback($this->importRegex, function($matches) use (&$imports) { |
|
| 814 | 814 | // Keep all @import at-rules found for later |
| 815 | 815 | $imports .= $matches[0]; |
| 816 | 816 | // Delete all @import at-rules |
@@ -818,7 +818,7 @@ discard block |
||
| 818 | 818 | }, $css); |
| 819 | 819 | |
| 820 | 820 | // @namespace handling |
| 821 | - $css = preg_replace_callback($this->namespaceRegex, function ($matches) use (&$namespaces) { |
|
| 821 | + $css = preg_replace_callback($this->namespaceRegex, function($matches) use (&$namespaces) { |
|
| 822 | 822 | // Keep all @namespace at-rules found for later |
| 823 | 823 | $namespaces .= $matches[0]; |
| 824 | 824 | // Delete all @namespace at-rules |
@@ -829,7 +829,7 @@ discard block |
||
| 829 | 829 | // 1. @charset first |
| 830 | 830 | // 2. @imports below @charset |
| 831 | 831 | // 3. @namespaces below @imports |
| 832 | - $css = $charset . $imports . $namespaces . $css; |
|
| 832 | + $css = $charset.$imports.$namespaces.$css; |
|
| 833 | 833 | |
| 834 | 834 | return $css; |
| 835 | 835 | } |
@@ -883,10 +883,10 @@ discard block |
||
| 883 | 883 | // Restore space after rgb() or hsl() function in some cases such as: |
| 884 | 884 | // background-image: linear-gradient(to bottom, rgb(210,180,140) 10%, rgb(255,0,0) 90%); |
| 885 | 885 | if (!empty($terminator) && !preg_match('/[ ,);]/S', $terminator)) { |
| 886 | - $terminator = ' '. $terminator; |
|
| 886 | + $terminator = ' '.$terminator; |
|
| 887 | 887 | } |
| 888 | 888 | |
| 889 | - return '#'. implode('', $hexColors) . $terminator; |
|
| 889 | + return '#'.implode('', $hexColors).$terminator; |
|
| 890 | 890 | } |
| 891 | 891 | |
| 892 | 892 | /** |
@@ -900,16 +900,16 @@ discard block |
||
| 900 | 900 | |
| 901 | 901 | // Shorten suitable 6 chars HEX colors |
| 902 | 902 | if (strlen($hex) === 6 && preg_match('/^([0-9a-f])\1([0-9a-f])\2([0-9a-f])\3$/Si', $hex, $m)) { |
| 903 | - $hex = $m[1] . $m[2] . $m[3]; |
|
| 903 | + $hex = $m[1].$m[2].$m[3]; |
|
| 904 | 904 | } |
| 905 | 905 | |
| 906 | 906 | // Lowercase |
| 907 | - $hex = '#'. strtolower($hex); |
|
| 907 | + $hex = '#'.strtolower($hex); |
|
| 908 | 908 | |
| 909 | 909 | // Replace Hex colors with shorter color names |
| 910 | 910 | $color = array_key_exists($hex, $this->hexToNamedColorsMap) ? $this->hexToNamedColorsMap[$hex] : $hex; |
| 911 | 911 | |
| 912 | - return $color . $matches[2]; |
|
| 912 | + return $color.$matches[2]; |
|
| 913 | 913 | } |
| 914 | 914 | |
| 915 | 915 | /** |
@@ -920,7 +920,7 @@ discard block |
||
| 920 | 920 | */ |
| 921 | 921 | private function shortenNamedColorsCallback($matches) |
| 922 | 922 | { |
| 923 | - return $matches[1] . $this->namedToHexColorsMap[strtolower($matches[2])] . $matches[3]; |
|
| 923 | + return $matches[1].$this->namedToHexColorsMap[strtolower($matches[2])].$matches[3]; |
|
| 924 | 924 | } |
| 925 | 925 | |
| 926 | 926 | /** |
@@ -3,50 +3,50 @@ discard block |
||
| 3 | 3 | * WP tests bootstrap. |
| 4 | 4 | */ |
| 5 | 5 | |
| 6 | -$_tests_dir = getenv( 'WP_TESTS_DIR' ); |
|
| 7 | -if ( ! $_tests_dir ) { |
|
| 8 | - $tmp_dir = getenv( 'TMPDIR' ); |
|
| 9 | - if ( ! empty( $tmp_dir ) ) { |
|
| 10 | - $_tests_dir = rtrim( $tmp_dir, '/' ) . '/wordpress-tests-lib'; |
|
| 11 | - if ( ! is_dir( $_tests_dir ) ) { |
|
| 6 | +$_tests_dir = getenv('WP_TESTS_DIR'); |
|
| 7 | +if (!$_tests_dir) { |
|
| 8 | + $tmp_dir = getenv('TMPDIR'); |
|
| 9 | + if (!empty($tmp_dir)) { |
|
| 10 | + $_tests_dir = rtrim($tmp_dir, '/').'/wordpress-tests-lib'; |
|
| 11 | + if (!is_dir($_tests_dir)) { |
|
| 12 | 12 | $_tests_dir = null; |
| 13 | 13 | } |
| 14 | 14 | } |
| 15 | 15 | } |
| 16 | 16 | |
| 17 | -if ( ! $_tests_dir ) { |
|
| 17 | +if (!$_tests_dir) { |
|
| 18 | 18 | $_tests_dir = '/tmp/wordpress-tests-lib'; |
| 19 | 19 | } |
| 20 | 20 | |
| 21 | -require_once $_tests_dir . '/includes/functions.php'; |
|
| 21 | +require_once $_tests_dir.'/includes/functions.php'; |
|
| 22 | 22 | |
| 23 | 23 | function _manually_load_plugin() { |
| 24 | - define( 'AUTOPTIMIZE_INIT_EARLIER', true ); |
|
| 24 | + define('AUTOPTIMIZE_INIT_EARLIER', true); |
|
| 25 | 25 | |
| 26 | 26 | // For overriding cache dirs and whatnot. Kinda works if you keep a few things in mind. |
| 27 | - if ( getenv('CUSTOM_CONSTANTS' ) ) { |
|
| 28 | - define( 'AUTOPTIMIZE_CACHE_CHILD_DIR', '/c/ao/' ); |
|
| 29 | - $pathname = WP_CONTENT_DIR . AUTOPTIMIZE_CACHE_CHILD_DIR; |
|
| 30 | - if ( is_multisite() && apply_filters( 'autoptimize_separate_blog_caches', true ) ) { |
|
| 27 | + if (getenv('CUSTOM_CONSTANTS')) { |
|
| 28 | + define('AUTOPTIMIZE_CACHE_CHILD_DIR', '/c/ao/'); |
|
| 29 | + $pathname = WP_CONTENT_DIR.AUTOPTIMIZE_CACHE_CHILD_DIR; |
|
| 30 | + if (is_multisite() && apply_filters('autoptimize_separate_blog_caches', true)) { |
|
| 31 | 31 | $blog_id = get_current_blog_id(); |
| 32 | - $pathname .= $blog_id . '/'; |
|
| 32 | + $pathname .= $blog_id.'/'; |
|
| 33 | 33 | } |
| 34 | - define( 'AUTOPTIMIZE_CACHE_DIR', $pathname ); |
|
| 34 | + define('AUTOPTIMIZE_CACHE_DIR', $pathname); |
|
| 35 | 35 | |
| 36 | 36 | $custom_site_url = 'http://localhost/wordpress'; |
| 37 | - define( 'AUTOPTIMIZE_WP_SITE_URL', $custom_site_url ); |
|
| 38 | - add_filter( 'site_url', function( $url, $path, $scheme, $blog_id ) use ( $custom_site_url ) { |
|
| 37 | + define('AUTOPTIMIZE_WP_SITE_URL', $custom_site_url); |
|
| 38 | + add_filter('site_url', function($url, $path, $scheme, $blog_id) use ($custom_site_url) { |
|
| 39 | 39 | return $custom_site_url; |
| 40 | - }, 10, 4 ); |
|
| 41 | - add_filter( 'content_url', function( $url, $path ) use ( $custom_site_url ) { |
|
| 42 | - return $custom_site_url . '/wp-content'; |
|
| 43 | - }, 10, 2 ); |
|
| 44 | - define( 'AO_TEST_SUBFOLDER_INSTALL', true ); |
|
| 40 | + }, 10, 4); |
|
| 41 | + add_filter('content_url', function($url, $path) use ($custom_site_url) { |
|
| 42 | + return $custom_site_url.'/wp-content'; |
|
| 43 | + }, 10, 2); |
|
| 44 | + define('AO_TEST_SUBFOLDER_INSTALL', true); |
|
| 45 | 45 | |
| 46 | - define( 'CUSTOM_CONSTANTS_USED', true ); |
|
| 46 | + define('CUSTOM_CONSTANTS_USED', true); |
|
| 47 | 47 | } else { |
| 48 | - define( 'CUSTOM_CONSTANTS_USED', false ); |
|
| 49 | - define( 'AO_TEST_SUBFOLDER_INSTALL', false ); |
|
| 48 | + define('CUSTOM_CONSTANTS_USED', false); |
|
| 49 | + define('AO_TEST_SUBFOLDER_INSTALL', false); |
|
| 50 | 50 | } |
| 51 | 51 | |
| 52 | 52 | /* |
@@ -54,18 +54,18 @@ discard block |
||
| 54 | 54 | update_option( 'active_plugins', $active_plugins ); |
| 55 | 55 | */ |
| 56 | 56 | |
| 57 | - update_option( 'autoptimize_js', 1 ); |
|
| 58 | - update_option( 'autoptimize_css', 1 ); |
|
| 59 | - update_option( 'autoptimize_html', 0 ); |
|
| 60 | - update_option( 'autoptimize_cdn_url', 'http://cdn.example.org' ); |
|
| 61 | - update_option( 'autoptimize_cache_nogzip', 1 ); |
|
| 57 | + update_option('autoptimize_js', 1); |
|
| 58 | + update_option('autoptimize_css', 1); |
|
| 59 | + update_option('autoptimize_html', 0); |
|
| 60 | + update_option('autoptimize_cdn_url', 'http://cdn.example.org'); |
|
| 61 | + update_option('autoptimize_cache_nogzip', 1); |
|
| 62 | 62 | |
| 63 | - add_filter( 'autoptimize_css_include_inline', function( $include_inline ) { |
|
| 63 | + add_filter('autoptimize_css_include_inline', function($include_inline) { |
|
| 64 | 64 | return true; |
| 65 | 65 | }); |
| 66 | 66 | |
| 67 | - require dirname( dirname( __FILE__ ) ) . '/autoptimize.php'; |
|
| 67 | + require dirname(dirname(__FILE__)).'/autoptimize.php'; |
|
| 68 | 68 | } |
| 69 | -tests_add_filter( 'muplugins_loaded', '_manually_load_plugin' ); |
|
| 69 | +tests_add_filter('muplugins_loaded', '_manually_load_plugin'); |
|
| 70 | 70 | |
| 71 | -require $_tests_dir . '/includes/bootstrap.php'; |
|
| 71 | +require $_tests_dir.'/includes/bootstrap.php'; |
|
@@ -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 | } |
@@ -28,11 +28,11 @@ discard block |
||
| 28 | 28 | /** |
| 29 | 29 | * Exit if called directly. |
| 30 | 30 | */ |
| 31 | -if ( ! defined( 'ABSPATH' ) ) { |
|
| 31 | +if (!defined('ABSPATH')) { |
|
| 32 | 32 | die; |
| 33 | 33 | } |
| 34 | 34 | |
| 35 | -if ( ! class_exists( 'PAnD' ) ) { |
|
| 35 | +if (!class_exists('PAnD')) { |
|
| 36 | 36 | |
| 37 | 37 | /** |
| 38 | 38 | * Class PAnD |
@@ -43,8 +43,8 @@ discard block |
||
| 43 | 43 | * Init hooks. |
| 44 | 44 | */ |
| 45 | 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' ) ); |
|
| 46 | + add_action('admin_enqueue_scripts', array(__CLASS__, 'load_script')); |
|
| 47 | + add_action('wp_ajax_dismiss_admin_notice', array(__CLASS__, 'dismiss_admin_notice')); |
|
| 48 | 48 | } |
| 49 | 49 | |
| 50 | 50 | /** |
@@ -52,14 +52,14 @@ discard block |
||
| 52 | 52 | */ |
| 53 | 53 | public static function load_script() { |
| 54 | 54 | |
| 55 | - if ( is_customize_preview() ) { |
|
| 55 | + if (is_customize_preview()) { |
|
| 56 | 56 | return; |
| 57 | 57 | } |
| 58 | 58 | |
| 59 | 59 | wp_enqueue_script( |
| 60 | 60 | 'dismissible-notices', |
| 61 | - plugins_url( 'dismiss-notice.js', __FILE__ ), |
|
| 62 | - array( 'jquery', 'common' ), |
|
| 61 | + plugins_url('dismiss-notice.js', __FILE__), |
|
| 62 | + array('jquery', 'common'), |
|
| 63 | 63 | false, |
| 64 | 64 | true |
| 65 | 65 | ); |
@@ -68,7 +68,7 @@ discard block |
||
| 68 | 68 | 'dismissible-notices', |
| 69 | 69 | 'dismissible_notice', |
| 70 | 70 | array( |
| 71 | - 'nonce' => wp_create_nonce( 'dismissible-notice' ), |
|
| 71 | + 'nonce' => wp_create_nonce('dismissible-notice'), |
|
| 72 | 72 | ) |
| 73 | 73 | ); |
| 74 | 74 | } |
@@ -78,17 +78,17 @@ discard block |
||
| 78 | 78 | * Uses check_ajax_referer to verify nonce. |
| 79 | 79 | */ |
| 80 | 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'] ); |
|
| 81 | + $option_name = sanitize_text_field($_POST['option_name']); |
|
| 82 | + $dismissible_length = sanitize_text_field($_POST['dismissible_length']); |
|
| 83 | 83 | |
| 84 | - if ( 'forever' != $dismissible_length ) { |
|
| 84 | + if ('forever' != $dismissible_length) { |
|
| 85 | 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' ); |
|
| 86 | + $dismissible_length = (0 == absint($dismissible_length)) ? 1 : $dismissible_length; |
|
| 87 | + $dismissible_length = strtotime(absint($dismissible_length).' days'); |
|
| 88 | 88 | } |
| 89 | 89 | |
| 90 | - check_ajax_referer( 'dismissible-notice', 'nonce' ); |
|
| 91 | - self::set_admin_notice_cache( $option_name, $dismissible_length ); |
|
| 90 | + check_ajax_referer('dismissible-notice', 'nonce'); |
|
| 91 | + self::set_admin_notice_cache($option_name, $dismissible_length); |
|
| 92 | 92 | wp_die(); |
| 93 | 93 | } |
| 94 | 94 | |
@@ -99,14 +99,14 @@ discard block |
||
| 99 | 99 | * |
| 100 | 100 | * @return bool |
| 101 | 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 ) { |
|
| 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 | 108 | return false; |
| 109 | - } elseif ( absint( $db_record ) >= time() ) { |
|
| 109 | + } elseif (absint($db_record) >= time()) { |
|
| 110 | 110 | return false; |
| 111 | 111 | } else { |
| 112 | 112 | return true; |
@@ -122,15 +122,15 @@ discard block |
||
| 122 | 122 | * |
| 123 | 123 | * @return array|bool The timeout. False if expired. |
| 124 | 124 | */ |
| 125 | - public static function get_admin_notice_cache( $id = false ) { |
|
| 126 | - if ( ! $id ) { |
|
| 125 | + public static function get_admin_notice_cache($id = false) { |
|
| 126 | + if (!$id) { |
|
| 127 | 127 | return false; |
| 128 | 128 | } |
| 129 | - $cache_key = 'pand-' . md5( $id ); |
|
| 130 | - $timeout = get_site_option( $cache_key ); |
|
| 129 | + $cache_key = 'pand-'.md5($id); |
|
| 130 | + $timeout = get_site_option($cache_key); |
|
| 131 | 131 | $timeout = 'forever' === $timeout ? time() + 60 : $timeout; |
| 132 | 132 | |
| 133 | - if ( empty( $timeout ) || time() > $timeout ) { |
|
| 133 | + if (empty($timeout) || time() > $timeout) { |
|
| 134 | 134 | return false; |
| 135 | 135 | } |
| 136 | 136 | |
@@ -147,9 +147,9 @@ discard block |
||
| 147 | 147 | * |
| 148 | 148 | * @return bool |
| 149 | 149 | */ |
| 150 | - public static function set_admin_notice_cache( $id, $timeout ) { |
|
| 151 | - $cache_key = 'pand-' . md5( $id ); |
|
| 152 | - update_site_option( $cache_key, $timeout ); |
|
| 150 | + public static function set_admin_notice_cache($id, $timeout) { |
|
| 151 | + $cache_key = 'pand-'.md5($id); |
|
| 152 | + update_site_option($cache_key, $timeout); |
|
| 153 | 153 | |
| 154 | 154 | return true; |
| 155 | 155 | } |
@@ -70,7 +70,7 @@ discard block |
||
| 70 | 70 | protected $inputLength = 0; |
| 71 | 71 | protected $lookAhead = null; |
| 72 | 72 | protected $output = ''; |
| 73 | - protected $lastByteOut = ''; |
|
| 73 | + protected $lastByteOut = ''; |
|
| 74 | 74 | protected $keptComment = ''; |
| 75 | 75 | |
| 76 | 76 | /** |
@@ -106,7 +106,7 @@ discard block |
||
| 106 | 106 | } |
| 107 | 107 | |
| 108 | 108 | $mbIntEnc = null; |
| 109 | - if (function_exists('mb_strlen') && ((int)ini_get('mbstring.func_overload') & 2)) { |
|
| 109 | + if (function_exists('mb_strlen') && ((int) ini_get('mbstring.func_overload') & 2)) { |
|
| 110 | 110 | $mbIntEnc = mb_internal_encoding(); |
| 111 | 111 | mb_internal_encoding('8bit'); |
| 112 | 112 | } |
@@ -128,7 +128,7 @@ discard block |
||
| 128 | 128 | && ($this->b === $this->lastByteOut)) { |
| 129 | 129 | // Don't delete this space. If we do, the addition/subtraction |
| 130 | 130 | // could be parsed as a post-increment |
| 131 | - } elseif (! $this->isAlphaNum($this->b)) { |
|
| 131 | + } elseif (!$this->isAlphaNum($this->b)) { |
|
| 132 | 132 | $command = self::ACTION_DELETE_A; |
| 133 | 133 | } |
| 134 | 134 | } elseif ($this->a === "\n") { |
@@ -139,10 +139,10 @@ discard block |
||
| 139 | 139 | // otherwise mb_strpos will give WARNING |
| 140 | 140 | } elseif ($this->b === null |
| 141 | 141 | || (false === strpos('{[(+-!~', $this->b) |
| 142 | - && ! $this->isAlphaNum($this->b))) { |
|
| 142 | + && !$this->isAlphaNum($this->b))) { |
|
| 143 | 143 | $command = self::ACTION_DELETE_A; |
| 144 | 144 | } |
| 145 | - } elseif (! $this->isAlphaNum($this->a)) { |
|
| 145 | + } elseif (!$this->isAlphaNum($this->a)) { |
|
| 146 | 146 | if ($this->b === ' ' |
| 147 | 147 | || ($this->b === "\n" |
| 148 | 148 | && (false === strpos('}])+-"\'', $this->a)))) { |
@@ -196,9 +196,9 @@ discard block |
||
| 196 | 196 | // fallthrough intentional |
| 197 | 197 | case self::ACTION_DELETE_A: // 2 |
| 198 | 198 | $this->a = $this->b; |
| 199 | - if ($this->a === "'" || $this->a === '"'|| $this->a === '`') { // string/template literal |
|
| 199 | + if ($this->a === "'" || $this->a === '"' || $this->a === '`') { // string/template literal |
|
| 200 | 200 | $str = $this->a; // in case needed for exception |
| 201 | - for(;;) { |
|
| 201 | + for (;;) { |
|
| 202 | 202 | $this->output .= $this->a; |
| 203 | 203 | $this->lastByteOut = $this->a; |
| 204 | 204 | |
@@ -226,13 +226,13 @@ discard block |
||
| 226 | 226 | case self::ACTION_DELETE_A_B: // 3 |
| 227 | 227 | $this->b = $this->next(); |
| 228 | 228 | if ($this->b === '/' && $this->isRegexpLiteral()) { |
| 229 | - $this->output .= $this->a . $this->b; |
|
| 229 | + $this->output .= $this->a.$this->b; |
|
| 230 | 230 | $pattern = '/'; // keep entire pattern in case we need to report it in the exception |
| 231 | - for(;;) { |
|
| 231 | + for (;;) { |
|
| 232 | 232 | $this->a = $this->get(); |
| 233 | 233 | $pattern .= $this->a; |
| 234 | 234 | if ($this->a === '[') { |
| 235 | - for(;;) { |
|
| 235 | + for (;;) { |
|
| 236 | 236 | $this->output .= $this->a; |
| 237 | 237 | $this->a = $this->get(); |
| 238 | 238 | $pattern .= $this->a; |
@@ -247,7 +247,7 @@ discard block |
||
| 247 | 247 | if ($this->isEOF($this->a)) { |
| 248 | 248 | throw new JSMin_UnterminatedRegExpException( |
| 249 | 249 | "JSMin: Unterminated set in RegExp at byte " |
| 250 | - . $this->inputIndex .": {$pattern}"); |
|
| 250 | + . $this->inputIndex.": {$pattern}"); |
|
| 251 | 251 | } |
| 252 | 252 | } |
| 253 | 253 | } |
@@ -292,7 +292,7 @@ discard block |
||
| 292 | 292 | |
| 293 | 293 | // if the "/" follows a keyword, it must be a regexp, otherwise it's best to assume division |
| 294 | 294 | |
| 295 | - $subject = $this->output . trim($this->a); |
|
| 295 | + $subject = $this->output.trim($this->a); |
|
| 296 | 296 | if (!preg_match('/(?:case|else|in|return|typeof)$/', $subject, $m)) { |
| 297 | 297 | // not a keyword |
| 298 | 298 | return false; |
@@ -403,7 +403,7 @@ discard block |
||
| 403 | 403 | { |
| 404 | 404 | $this->get(); |
| 405 | 405 | $comment = ''; |
| 406 | - for(;;) { |
|
| 406 | + for (;;) { |
|
| 407 | 407 | $get = $this->get(); |
| 408 | 408 | if ($get === '*') { |
| 409 | 409 | if ($this->peek() === '/') { // end of comment reached |
@@ -414,7 +414,7 @@ discard block |
||
| 414 | 414 | // don't prepend a newline if two comments right after one another |
| 415 | 415 | $this->keptComment = "\n"; |
| 416 | 416 | } |
| 417 | - $this->keptComment .= "/*!" . substr($comment, 1) . "*/\n"; |
|
| 417 | + $this->keptComment .= "/*!".substr($comment, 1)."*/\n"; |
|
| 418 | 418 | } else if (preg_match('/^@(?:cc_on|if|elif|else|end)\\b/', $comment)) { |
| 419 | 419 | // IE conditional |
| 420 | 420 | $this->keptComment .= "/*{$comment}*/"; |
@@ -6,7 +6,7 @@ discard block |
||
| 6 | 6 | * Checks if cachesize is > 0.5GB (size is filterable), if so, an option is set which controls showing an admin notice. |
| 7 | 7 | */ |
| 8 | 8 | |
| 9 | -if ( ! defined( 'ABSPATH' ) ) { |
|
| 9 | +if (!defined('ABSPATH')) { |
|
| 10 | 10 | exit; |
| 11 | 11 | } |
| 12 | 12 | |
@@ -25,48 +25,48 @@ discard block |
||
| 25 | 25 | |
| 26 | 26 | public function add_hooks() |
| 27 | 27 | { |
| 28 | - if ( is_admin() ) { |
|
| 29 | - add_action( 'plugins_loaded', array( $this, 'setup' ) ); |
|
| 28 | + if (is_admin()) { |
|
| 29 | + add_action('plugins_loaded', array($this, 'setup')); |
|
| 30 | 30 | } |
| 31 | - add_action( self::SCHEDULE_HOOK, array( $this, 'cronjob' ) ); |
|
| 32 | - add_action( 'admin_notices', array( $this, 'show_admin_notice' ) ); |
|
| 31 | + add_action(self::SCHEDULE_HOOK, array($this, 'cronjob')); |
|
| 32 | + add_action('admin_notices', array($this, 'show_admin_notice')); |
|
| 33 | 33 | } |
| 34 | 34 | |
| 35 | 35 | public function setup() |
| 36 | 36 | { |
| 37 | - $do_cache_check = (bool) apply_filters( 'autoptimize_filter_cachecheck_do', true ); |
|
| 38 | - $schedule = wp_get_schedule( self::SCHEDULE_HOOK ); |
|
| 39 | - $frequency = apply_filters( 'autoptimize_filter_cachecheck_frequency', 'twicedaily' ); |
|
| 40 | - if ( ! in_array( $frequency, array( 'hourly', 'twicedaily', 'daily', 'weekly', 'monthly' ) ) ) { |
|
| 37 | + $do_cache_check = (bool) apply_filters('autoptimize_filter_cachecheck_do', true); |
|
| 38 | + $schedule = wp_get_schedule(self::SCHEDULE_HOOK); |
|
| 39 | + $frequency = apply_filters('autoptimize_filter_cachecheck_frequency', 'twicedaily'); |
|
| 40 | + if (!in_array($frequency, array('hourly', 'twicedaily', 'daily', 'weekly', 'monthly'))) { |
|
| 41 | 41 | $frequency = 'twicedaily'; |
| 42 | 42 | } |
| 43 | - if ( $do_cache_check && ( ! $schedule || $schedule !== $frequency ) ) { |
|
| 44 | - wp_schedule_event( time(), $frequency, self::SCHEDULE_HOOK ); |
|
| 45 | - } elseif ( $schedule && ! $do_cache_check ) { |
|
| 46 | - wp_clear_scheduled_hook( self::SCHEDULE_HOOK ); |
|
| 43 | + if ($do_cache_check && (!$schedule || $schedule !== $frequency)) { |
|
| 44 | + wp_schedule_event(time(), $frequency, self::SCHEDULE_HOOK); |
|
| 45 | + } elseif ($schedule && !$do_cache_check) { |
|
| 46 | + wp_clear_scheduled_hook(self::SCHEDULE_HOOK); |
|
| 47 | 47 | } |
| 48 | 48 | } |
| 49 | 49 | |
| 50 | 50 | public function cronjob() |
| 51 | 51 | { |
| 52 | 52 | // Check cachesize and act accordingly. |
| 53 | - $max_size = (int) apply_filters( 'autoptimize_filter_cachecheck_maxsize', 536870912 ); |
|
| 54 | - $do_cache_check = (bool) apply_filters( 'autoptimize_filter_cachecheck_do', true ); |
|
| 53 | + $max_size = (int) apply_filters('autoptimize_filter_cachecheck_maxsize', 536870912); |
|
| 54 | + $do_cache_check = (bool) apply_filters('autoptimize_filter_cachecheck_do', true); |
|
| 55 | 55 | $stat_array = autoptimizeCache::stats(); |
| 56 | - $cache_size = round( $stat_array[1] ); |
|
| 57 | - if ( ( $cache_size > $max_size ) && ( $do_cache_check ) ) { |
|
| 58 | - update_option( 'autoptimize_cachesize_notice', true ); |
|
| 59 | - if ( apply_filters( 'autoptimize_filter_cachecheck_sendmail', true ) ) { |
|
| 60 | - $site_url = esc_url( site_url() ); |
|
| 61 | - $ao_mailto = apply_filters( 'autoptimize_filter_cachecheck_mailto', get_option( 'admin_email', '' ) ); |
|
| 62 | - |
|
| 63 | - $ao_mailsubject = __( 'Autoptimize cache size warning', 'autoptimize' ) . ' (' . $site_url . ')'; |
|
| 64 | - $ao_mailbody = __( 'Autoptimize\'s cache size is getting big, consider purging the cache. Have a look at https://wordpress.org/plugins/autoptimize/faq/ to see how you can keep the cache size under control.', 'autoptimize' ) . ' (site: ' . $site_url . ')'; |
|
| 65 | - |
|
| 66 | - if ( ! empty( $ao_mailto ) ) { |
|
| 67 | - $ao_mailresult = wp_mail( $ao_mailto, $ao_mailsubject, $ao_mailbody ); |
|
| 68 | - if ( ! $ao_mailresult ) { |
|
| 69 | - error_log( 'Autoptimize could not send cache size warning mail.' ); |
|
| 56 | + $cache_size = round($stat_array[1]); |
|
| 57 | + if (($cache_size > $max_size) && ($do_cache_check)) { |
|
| 58 | + update_option('autoptimize_cachesize_notice', true); |
|
| 59 | + if (apply_filters('autoptimize_filter_cachecheck_sendmail', true)) { |
|
| 60 | + $site_url = esc_url(site_url()); |
|
| 61 | + $ao_mailto = apply_filters('autoptimize_filter_cachecheck_mailto', get_option('admin_email', '')); |
|
| 62 | + |
|
| 63 | + $ao_mailsubject = __('Autoptimize cache size warning', 'autoptimize').' ('.$site_url.')'; |
|
| 64 | + $ao_mailbody = __('Autoptimize\'s cache size is getting big, consider purging the cache. Have a look at https://wordpress.org/plugins/autoptimize/faq/ to see how you can keep the cache size under control.', 'autoptimize').' (site: '.$site_url.')'; |
|
| 65 | + |
|
| 66 | + if (!empty($ao_mailto)) { |
|
| 67 | + $ao_mailresult = wp_mail($ao_mailto, $ao_mailsubject, $ao_mailbody); |
|
| 68 | + if (!$ao_mailresult) { |
|
| 69 | + error_log('Autoptimize could not send cache size warning mail.'); |
|
| 70 | 70 | } |
| 71 | 71 | } |
| 72 | 72 | } |
@@ -85,16 +85,16 @@ discard block |
||
| 85 | 85 | public function show_admin_notice() |
| 86 | 86 | { |
| 87 | 87 | // fixme: make notices dismissable. |
| 88 | - if ( (bool) get_option( 'autoptimize_cachesize_notice', false ) ) { |
|
| 88 | + if ((bool) get_option('autoptimize_cachesize_notice', false)) { |
|
| 89 | 89 | echo '<div class="notice notice-warning"><p>'; |
| 90 | - _e( '<strong>Autoptimize\'s cache size is getting big</strong>, consider purging the cache. Have a look at <a href="https://wordpress.org/plugins/autoptimize/faq/" target="_blank" rel="noopener noreferrer">the Autoptimize FAQ</a> to see how you can keep the cache size under control.', 'autoptimize' ); |
|
| 90 | + _e('<strong>Autoptimize\'s cache size is getting big</strong>, consider purging the cache. Have a look at <a href="https://wordpress.org/plugins/autoptimize/faq/" target="_blank" rel="noopener noreferrer">the Autoptimize FAQ</a> to see how you can keep the cache size under control.', 'autoptimize'); |
|
| 91 | 91 | echo '</p></div>'; |
| 92 | - update_option( 'autoptimize_cachesize_notice', false ); |
|
| 92 | + update_option('autoptimize_cachesize_notice', false); |
|
| 93 | 93 | } |
| 94 | 94 | |
| 95 | 95 | // Notice for image proxy usage. |
| 96 | 96 | $_imgopt_notice = autoptimizeExtra::get_imgopt_status_notice_wrapper(); |
| 97 | - if ( is_array( $_imgopt_notice ) && array_key_exists( 'status', $_imgopt_notice ) && in_array( $_imgopt_notice['status'], array( 1, -1 ) ) ) { |
|
| 97 | + if (is_array($_imgopt_notice) && array_key_exists('status', $_imgopt_notice) && in_array($_imgopt_notice['status'], array(1, -1))) { |
|
| 98 | 98 | $_dismissible = 'ao-img-opt-notice-'; |
| 99 | 99 | $_hide_notice = '7'; |
| 100 | 100 | |
@@ -102,10 +102,10 @@ discard block |
||
| 102 | 102 | $_hide_notice = '1'; |
| 103 | 103 | } |
| 104 | 104 | |
| 105 | - $_imgopt_notice_dismissible = apply_filters( 'autoptimize_filter_imgopt_notice_dismissable', $_dismissible . $_hide_notice ); |
|
| 105 | + $_imgopt_notice_dismissible = apply_filters('autoptimize_filter_imgopt_notice_dismissable', $_dismissible.$_hide_notice); |
|
| 106 | 106 | |
| 107 | - if ( $_imgopt_notice && PAnD::is_admin_notice_active( $_imgopt_notice_dismissible ) ) { |
|
| 108 | - echo '<div class="notice notice-warning is-dismissible" data-dismissible="' . $_imgopt_notice_dismissible . '"><p>' . $_imgopt_notice['notice'] . '</p></div>'; |
|
| 107 | + if ($_imgopt_notice && PAnD::is_admin_notice_active($_imgopt_notice_dismissible)) { |
|
| 108 | + echo '<div class="notice notice-warning is-dismissible" data-dismissible="'.$_imgopt_notice_dismissible.'"><p>'.$_imgopt_notice['notice'].'</p></div>'; |
|
| 109 | 109 | } |
| 110 | 110 | } |
| 111 | 111 | } |