@@ -73,7 +73,7 @@ discard block |
||
| 73 | 73 | { |
| 74 | 74 | $this->_html = str_replace("\r\n", "\n", trim($html)); |
| 75 | 75 | if (isset($options['xhtml'])) { |
| 76 | - $this->_isXhtml = (bool)$options['xhtml']; |
|
| 76 | + $this->_isXhtml = (bool) $options['xhtml']; |
|
| 77 | 77 | } |
| 78 | 78 | if (isset($options['cssMinifier'])) { |
| 79 | 79 | $this->_cssMinifier = $options['cssMinifier']; |
@@ -98,7 +98,7 @@ discard block |
||
| 98 | 98 | $this->_isXhtml = (false !== strpos($this->_html, '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML')); |
| 99 | 99 | } |
| 100 | 100 | |
| 101 | - $this->_replacementHash = 'MINIFYHTML' . md5($_SERVER['REQUEST_TIME']); |
|
| 101 | + $this->_replacementHash = 'MINIFYHTML'.md5($_SERVER['REQUEST_TIME']); |
|
| 102 | 102 | $this->_placeholders = array(); |
| 103 | 103 | |
| 104 | 104 | // replace SCRIPTs (and minify) with placeholders |
@@ -114,7 +114,7 @@ discard block |
||
| 114 | 114 | ,$this->_html); |
| 115 | 115 | |
| 116 | 116 | // remove HTML comments (not containing IE conditional comments). |
| 117 | - if ($this->_keepComments == false) { |
|
| 117 | + if ($this->_keepComments == false) { |
|
| 118 | 118 | $this->_html = preg_replace_callback( |
| 119 | 119 | '/<!--([\\s\\S]*?)-->/' |
| 120 | 120 | ,array($this, '_commentCB') |
@@ -159,7 +159,7 @@ discard block |
||
| 159 | 159 | //$this->_html = preg_replace('/(<[a-z\\-]+)\\s+([^>]+>)/i', "$1\n$2", $this->_html); |
| 160 | 160 | |
| 161 | 161 | // reverse order while preserving keys to ensure the last replacement is done first, etc ... |
| 162 | - $this->_placeholders = array_reverse( $this->_placeholders, true ); |
|
| 162 | + $this->_placeholders = array_reverse($this->_placeholders, true); |
|
| 163 | 163 | |
| 164 | 164 | // fill placeholders |
| 165 | 165 | $this->_html = str_replace( |
@@ -179,7 +179,7 @@ discard block |
||
| 179 | 179 | |
| 180 | 180 | protected function _reservePlace($content) |
| 181 | 181 | { |
| 182 | - $placeholder = '%' . $this->_replacementHash . count($this->_placeholders) . '%'; |
|
| 182 | + $placeholder = '%'.$this->_replacementHash.count($this->_placeholders).'%'; |
|
| 183 | 183 | $this->_placeholders[$placeholder] = $content; |
| 184 | 184 | return $placeholder; |
| 185 | 185 | } |
@@ -193,7 +193,7 @@ discard block |
||
| 193 | 193 | |
| 194 | 194 | protected function _outsideTagCB($m) |
| 195 | 195 | { |
| 196 | - return '>' . preg_replace('/^\\s+|\\s+$/', ' ', $m[1]) . '<'; |
|
| 196 | + return '>'.preg_replace('/^\\s+|\\s+$/', ' ', $m[1]).'<'; |
|
| 197 | 197 | } |
| 198 | 198 | |
| 199 | 199 | protected function _removePreCB($m) |
@@ -265,7 +265,7 @@ discard block |
||
| 265 | 265 | protected function _removeCdata($str) |
| 266 | 266 | { |
| 267 | 267 | return (false !== strpos($str, '<![CDATA[')) |
| 268 | - ? str_replace(array('/* <![CDATA[ */','/* ]]> */','/*<![CDATA[*/','/*]]>*/','<![CDATA[', ']]>'), '', $str) |
|
| 268 | + ? str_replace(array('/* <![CDATA[ */', '/* ]]> */', '/*<![CDATA[*/', '/*]]>*/', '<![CDATA[', ']]>'), '', $str) |
|
| 269 | 269 | : $str; |
| 270 | 270 | } |
| 271 | 271 | |
@@ -3,7 +3,7 @@ discard block |
||
| 3 | 3 | * Critical CSS settings AJAX logic. |
| 4 | 4 | */ |
| 5 | 5 | |
| 6 | -if ( ! defined( 'ABSPATH' ) ) { |
|
| 6 | +if (!defined('ABSPATH')) { |
|
| 7 | 7 | exit; |
| 8 | 8 | } |
| 9 | 9 | |
@@ -12,7 +12,7 @@ discard block |
||
| 12 | 12 | { |
| 13 | 13 | // fetch all options at once and populate them individually explicitely as globals. |
| 14 | 14 | $all_options = autoptimizeCriticalCSSBase::fetch_options(); |
| 15 | - foreach ( $all_options as $_option => $_value ) { |
|
| 15 | + foreach ($all_options as $_option => $_value) { |
|
| 16 | 16 | global ${$_option}; |
| 17 | 17 | ${$_option} = $_value; |
| 18 | 18 | } |
@@ -21,47 +21,47 @@ discard block |
||
| 21 | 21 | |
| 22 | 22 | public function run() { |
| 23 | 23 | // add filters. |
| 24 | - add_action( 'wp_ajax_fetch_critcss', array( $this, 'critcss_fetch_callback' ) ); |
|
| 25 | - add_action( 'wp_ajax_save_critcss', array( $this, 'critcss_save_callback' ) ); |
|
| 26 | - add_action( 'wp_ajax_rm_critcss', array( $this, 'critcss_rm_callback' ) ); |
|
| 27 | - add_action( 'wp_ajax_rm_critcss_all', array( $this, 'critcss_rm_all_callback' ) ); |
|
| 28 | - add_action( 'wp_ajax_ao_ccss_export', array( $this, 'ao_ccss_export_callback' ) ); |
|
| 29 | - add_action( 'wp_ajax_ao_ccss_import', array( $this, 'ao_ccss_import_callback' ) ); |
|
| 24 | + add_action('wp_ajax_fetch_critcss', array($this, 'critcss_fetch_callback')); |
|
| 25 | + add_action('wp_ajax_save_critcss', array($this, 'critcss_save_callback')); |
|
| 26 | + add_action('wp_ajax_rm_critcss', array($this, 'critcss_rm_callback')); |
|
| 27 | + add_action('wp_ajax_rm_critcss_all', array($this, 'critcss_rm_all_callback')); |
|
| 28 | + add_action('wp_ajax_ao_ccss_export', array($this, 'ao_ccss_export_callback')); |
|
| 29 | + add_action('wp_ajax_ao_ccss_import', array($this, 'ao_ccss_import_callback')); |
|
| 30 | 30 | } |
| 31 | 31 | |
| 32 | 32 | public function critcss_fetch_callback() { |
| 33 | 33 | // Ajax handler to obtain a critical CSS file from the filesystem. |
| 34 | 34 | // Check referer. |
| 35 | - check_ajax_referer( 'fetch_critcss_nonce', 'critcss_fetch_nonce' ); |
|
| 35 | + check_ajax_referer('fetch_critcss_nonce', 'critcss_fetch_nonce'); |
|
| 36 | 36 | |
| 37 | 37 | // Initialize error flag. |
| 38 | 38 | $error = true; |
| 39 | 39 | |
| 40 | 40 | // Allow no content for MANUAL rules (as they may not exist just yet). |
| 41 | - if ( current_user_can( 'manage_options' ) && empty( $_POST['critcssfile'] ) ) { |
|
| 41 | + if (current_user_can('manage_options') && empty($_POST['critcssfile'])) { |
|
| 42 | 42 | $content = ''; |
| 43 | 43 | $error = false; |
| 44 | - } elseif ( current_user_can( 'manage_options' ) && $this->critcss_check_filename( $_POST['critcssfile'] ) ) { |
|
| 44 | + } elseif (current_user_can('manage_options') && $this->critcss_check_filename($_POST['critcssfile'])) { |
|
| 45 | 45 | // Or check user permissios and filename. |
| 46 | 46 | // Set file path and obtain its content. |
| 47 | - $critcssfile = AO_CCSS_DIR . strip_tags( $_POST['critcssfile'] ); |
|
| 48 | - if ( file_exists( $critcssfile ) ) { |
|
| 49 | - $content = file_get_contents( $critcssfile ); |
|
| 47 | + $critcssfile = AO_CCSS_DIR.strip_tags($_POST['critcssfile']); |
|
| 48 | + if (file_exists($critcssfile)) { |
|
| 49 | + $content = file_get_contents($critcssfile); |
|
| 50 | 50 | $error = false; |
| 51 | 51 | } |
| 52 | 52 | } |
| 53 | 53 | |
| 54 | 54 | // Prepare response. |
| 55 | - if ( $error ) { |
|
| 55 | + if ($error) { |
|
| 56 | 56 | $response['code'] = '500'; |
| 57 | - $response['string'] = 'Error reading file ' . $critcssfile . '.'; |
|
| 57 | + $response['string'] = 'Error reading file '.$critcssfile.'.'; |
|
| 58 | 58 | } else { |
| 59 | 59 | $response['code'] = '200'; |
| 60 | 60 | $response['string'] = $content; |
| 61 | 61 | } |
| 62 | 62 | |
| 63 | 63 | // Dispatch respose. |
| 64 | - echo json_encode( $response ); |
|
| 64 | + echo json_encode($response); |
|
| 65 | 65 | |
| 66 | 66 | // Close ajax request. |
| 67 | 67 | wp_die(); |
@@ -74,22 +74,22 @@ discard block |
||
| 74 | 74 | |
| 75 | 75 | // Ajax handler to write a critical CSS to the filesystem |
| 76 | 76 | // Check referer. |
| 77 | - check_ajax_referer( 'save_critcss_nonce', 'critcss_save_nonce' ); |
|
| 77 | + check_ajax_referer('save_critcss_nonce', 'critcss_save_nonce'); |
|
| 78 | 78 | |
| 79 | 79 | // Allow empty contents for MANUAL rules (as they are fetched later). |
| 80 | - if ( current_user_can( 'manage_options' ) && empty( $_POST['critcssfile'] ) ) { |
|
| 80 | + if (current_user_can('manage_options') && empty($_POST['critcssfile'])) { |
|
| 81 | 81 | $critcssfile = false; |
| 82 | 82 | $status = true; |
| 83 | - } elseif ( current_user_can( 'manage_options' ) && $this->critcss_check_filename( $_POST['critcssfile'] ) ) { |
|
| 83 | + } elseif (current_user_can('manage_options') && $this->critcss_check_filename($_POST['critcssfile'])) { |
|
| 84 | 84 | // Or check user permissios and filename |
| 85 | 85 | // Set critical CSS content. |
| 86 | - $critcsscontents = stripslashes( $_POST['critcsscontents'] ); |
|
| 86 | + $critcsscontents = stripslashes($_POST['critcsscontents']); |
|
| 87 | 87 | |
| 88 | 88 | // If there is content and it's valid, write the file. |
| 89 | - if ( $critcsscontents && autoptimizeCriticalCSSCore::ao_ccss_check_contents( $critcsscontents ) ) { |
|
| 89 | + if ($critcsscontents && autoptimizeCriticalCSSCore::ao_ccss_check_contents($critcsscontents)) { |
|
| 90 | 90 | // Set file path and status. |
| 91 | - $critcssfile = AO_CCSS_DIR . strip_tags( $_POST['critcssfile'] ); |
|
| 92 | - $status = file_put_contents( $critcssfile, $critcsscontents, LOCK_EX ); |
|
| 91 | + $critcssfile = AO_CCSS_DIR.strip_tags($_POST['critcssfile']); |
|
| 92 | + $status = file_put_contents($critcssfile, $critcsscontents, LOCK_EX); |
|
| 93 | 93 | // Or set as error. |
| 94 | 94 | } else { |
| 95 | 95 | $error = true; |
@@ -100,20 +100,20 @@ discard block |
||
| 100 | 100 | } |
| 101 | 101 | |
| 102 | 102 | // Prepare response. |
| 103 | - if ( ! $status || $error ) { |
|
| 103 | + if (!$status || $error) { |
|
| 104 | 104 | $response['code'] = '500'; |
| 105 | - $response['string'] = 'Error saving file ' . $critcssfile . '.'; |
|
| 105 | + $response['string'] = 'Error saving file '.$critcssfile.'.'; |
|
| 106 | 106 | } else { |
| 107 | 107 | $response['code'] = '200'; |
| 108 | - if ( $critcssfile ) { |
|
| 109 | - $response['string'] = 'File ' . $critcssfile . ' saved.'; |
|
| 108 | + if ($critcssfile) { |
|
| 109 | + $response['string'] = 'File '.$critcssfile.' saved.'; |
|
| 110 | 110 | } else { |
| 111 | 111 | $response['string'] = 'Empty content do not need to be saved.'; |
| 112 | 112 | } |
| 113 | 113 | } |
| 114 | 114 | |
| 115 | 115 | // Dispatch respose. |
| 116 | - echo json_encode( $response ); |
|
| 116 | + echo json_encode($response); |
|
| 117 | 117 | |
| 118 | 118 | // Close ajax request. |
| 119 | 119 | wp_die(); |
@@ -123,40 +123,40 @@ discard block |
||
| 123 | 123 | public function critcss_rm_callback() { |
| 124 | 124 | // Ajax handler to delete a critical CSS from the filesystem |
| 125 | 125 | // Check referer. |
| 126 | - check_ajax_referer( 'rm_critcss_nonce', 'critcss_rm_nonce' ); |
|
| 126 | + check_ajax_referer('rm_critcss_nonce', 'critcss_rm_nonce'); |
|
| 127 | 127 | |
| 128 | 128 | // Initialize error and status flags. |
| 129 | 129 | $error = true; |
| 130 | 130 | $status = false; |
| 131 | 131 | |
| 132 | 132 | // Allow no file for MANUAL rules (as they may not exist just yet). |
| 133 | - if ( current_user_can( 'manage_options' ) && empty( $_POST['critcssfile'] ) ) { |
|
| 133 | + if (current_user_can('manage_options') && empty($_POST['critcssfile'])) { |
|
| 134 | 134 | $error = false; |
| 135 | - } elseif ( current_user_can( 'manage_options' ) && $this->critcss_check_filename( $_POST['critcssfile'] ) ) { |
|
| 135 | + } elseif (current_user_can('manage_options') && $this->critcss_check_filename($_POST['critcssfile'])) { |
|
| 136 | 136 | // Or check user permissios and filename |
| 137 | 137 | // Set file path and delete it. |
| 138 | - $critcssfile = AO_CCSS_DIR . strip_tags( $_POST['critcssfile'] ); |
|
| 139 | - if ( file_exists( $critcssfile ) ) { |
|
| 140 | - $status = unlink( $critcssfile ); |
|
| 138 | + $critcssfile = AO_CCSS_DIR.strip_tags($_POST['critcssfile']); |
|
| 139 | + if (file_exists($critcssfile)) { |
|
| 140 | + $status = unlink($critcssfile); |
|
| 141 | 141 | $error = false; |
| 142 | 142 | } |
| 143 | 143 | } |
| 144 | 144 | |
| 145 | 145 | // Prepare response. |
| 146 | - if ( $error ) { |
|
| 146 | + if ($error) { |
|
| 147 | 147 | $response['code'] = '500'; |
| 148 | - $response['string'] = 'Error removing file ' . $critcssfile . '.'; |
|
| 148 | + $response['string'] = 'Error removing file '.$critcssfile.'.'; |
|
| 149 | 149 | } else { |
| 150 | 150 | $response['code'] = '200'; |
| 151 | - if ( $status ) { |
|
| 152 | - $response['string'] = 'File ' . $critcssfile . ' removed.'; |
|
| 151 | + if ($status) { |
|
| 152 | + $response['string'] = 'File '.$critcssfile.' removed.'; |
|
| 153 | 153 | } else { |
| 154 | 154 | $response['string'] = 'No file to be removed.'; |
| 155 | 155 | } |
| 156 | 156 | } |
| 157 | 157 | |
| 158 | 158 | // Dispatch respose. |
| 159 | - echo json_encode( $response ); |
|
| 159 | + echo json_encode($response); |
|
| 160 | 160 | |
| 161 | 161 | // Close ajax request. |
| 162 | 162 | wp_die(); |
@@ -165,28 +165,28 @@ discard block |
||
| 165 | 165 | public function critcss_rm_all_callback() { |
| 166 | 166 | // Ajax handler to delete a critical CSS from the filesystem |
| 167 | 167 | // Check referer. |
| 168 | - check_ajax_referer( 'rm_critcss_all_nonce', 'critcss_rm_all_nonce' ); |
|
| 168 | + check_ajax_referer('rm_critcss_all_nonce', 'critcss_rm_all_nonce'); |
|
| 169 | 169 | |
| 170 | 170 | // Initialize error and status flags. |
| 171 | 171 | $error = true; |
| 172 | 172 | $status = false; |
| 173 | 173 | |
| 174 | 174 | // Remove all ccss files on filesystem. |
| 175 | - if ( current_user_can( 'manage_options' ) ) { |
|
| 176 | - if ( file_exists( AO_CCSS_DIR ) && is_dir( AO_CCSS_DIR ) ) { |
|
| 177 | - array_map( 'unlink', glob( AO_CCSS_DIR . 'ccss_*.css', GLOB_BRACE ) ); |
|
| 175 | + if (current_user_can('manage_options')) { |
|
| 176 | + if (file_exists(AO_CCSS_DIR) && is_dir(AO_CCSS_DIR)) { |
|
| 177 | + array_map('unlink', glob(AO_CCSS_DIR.'ccss_*.css', GLOB_BRACE)); |
|
| 178 | 178 | $error = false; |
| 179 | 179 | $status = true; |
| 180 | 180 | } |
| 181 | 181 | } |
| 182 | 182 | |
| 183 | 183 | // Prepare response. |
| 184 | - if ( $error ) { |
|
| 184 | + if ($error) { |
|
| 185 | 185 | $response['code'] = '500'; |
| 186 | 186 | $response['string'] = 'Error removing all critical CSS files.'; |
| 187 | 187 | } else { |
| 188 | 188 | $response['code'] = '200'; |
| 189 | - if ( $status ) { |
|
| 189 | + if ($status) { |
|
| 190 | 190 | $response['string'] = 'Critical CSS Files removed.'; |
| 191 | 191 | } else { |
| 192 | 192 | $response['string'] = 'No file removed.'; |
@@ -194,7 +194,7 @@ discard block |
||
| 194 | 194 | } |
| 195 | 195 | |
| 196 | 196 | // Dispatch respose. |
| 197 | - echo json_encode( $response ); |
|
| 197 | + echo json_encode($response); |
|
| 198 | 198 | |
| 199 | 199 | // Close ajax request. |
| 200 | 200 | wp_die(); |
@@ -203,70 +203,70 @@ discard block |
||
| 203 | 203 | public function ao_ccss_export_callback() { |
| 204 | 204 | // Ajax handler export settings |
| 205 | 205 | // Check referer. |
| 206 | - check_ajax_referer( 'ao_ccss_export_nonce', 'ao_ccss_export_nonce' ); |
|
| 206 | + check_ajax_referer('ao_ccss_export_nonce', 'ao_ccss_export_nonce'); |
|
| 207 | 207 | |
| 208 | - if ( ! class_exists( 'ZipArchive' ) ) { |
|
| 208 | + if (!class_exists('ZipArchive')) { |
|
| 209 | 209 | $response['code'] = '500'; |
| 210 | 210 | $response['msg'] = 'PHP ZipArchive not present, cannot create zipfile'; |
| 211 | - echo json_encode( $response ); |
|
| 211 | + echo json_encode($response); |
|
| 212 | 212 | wp_die(); |
| 213 | 213 | } |
| 214 | 214 | |
| 215 | 215 | // Init array, get options and prepare the raw object. |
| 216 | 216 | $settings = array(); |
| 217 | - $settings['rules'] = get_option( 'autoptimize_ccss_rules' ); |
|
| 218 | - $settings['additional'] = get_option( 'autoptimize_ccss_additional' ); |
|
| 219 | - $settings['viewport'] = get_option( 'autoptimize_ccss_viewport' ); |
|
| 220 | - $settings['finclude'] = get_option( 'autoptimize_ccss_finclude' ); |
|
| 221 | - $settings['rlimit'] = get_option( 'autoptimize_ccss_rlimit' ); |
|
| 222 | - $settings['noptimize'] = get_option( 'autoptimize_ccss_noptimize' ); |
|
| 223 | - $settings['debug'] = get_option( 'autoptimize_ccss_debug' ); |
|
| 224 | - $settings['key'] = get_option( 'autoptimize_ccss_key' ); |
|
| 217 | + $settings['rules'] = get_option('autoptimize_ccss_rules'); |
|
| 218 | + $settings['additional'] = get_option('autoptimize_ccss_additional'); |
|
| 219 | + $settings['viewport'] = get_option('autoptimize_ccss_viewport'); |
|
| 220 | + $settings['finclude'] = get_option('autoptimize_ccss_finclude'); |
|
| 221 | + $settings['rlimit'] = get_option('autoptimize_ccss_rlimit'); |
|
| 222 | + $settings['noptimize'] = get_option('autoptimize_ccss_noptimize'); |
|
| 223 | + $settings['debug'] = get_option('autoptimize_ccss_debug'); |
|
| 224 | + $settings['key'] = get_option('autoptimize_ccss_key'); |
|
| 225 | 225 | |
| 226 | 226 | // Initialize error flag. |
| 227 | 227 | $error = true; |
| 228 | 228 | |
| 229 | 229 | // Check user permissions. |
| 230 | - if ( current_user_can( 'manage_options' ) ) { |
|
| 230 | + if (current_user_can('manage_options')) { |
|
| 231 | 231 | // Prepare settings file path and content. |
| 232 | - $exportfile = AO_CCSS_DIR . 'settings.json'; |
|
| 233 | - $contents = json_encode( $settings ); |
|
| 234 | - $status = file_put_contents( $exportfile, $contents, LOCK_EX ); |
|
| 232 | + $exportfile = AO_CCSS_DIR.'settings.json'; |
|
| 233 | + $contents = json_encode($settings); |
|
| 234 | + $status = file_put_contents($exportfile, $contents, LOCK_EX); |
|
| 235 | 235 | $error = false; |
| 236 | 236 | } |
| 237 | 237 | |
| 238 | 238 | // Prepare archive. |
| 239 | - $zipfile = AO_CCSS_DIR . date( 'Ymd-H\hi' ) . '_ao_ccss_settings.zip'; |
|
| 240 | - $file = pathinfo( $zipfile, PATHINFO_BASENAME ); |
|
| 239 | + $zipfile = AO_CCSS_DIR.date('Ymd-H\hi').'_ao_ccss_settings.zip'; |
|
| 240 | + $file = pathinfo($zipfile, PATHINFO_BASENAME); |
|
| 241 | 241 | $zip = new ZipArchive(); |
| 242 | - $ret = $zip->open( $zipfile, ZipArchive::CREATE ); |
|
| 243 | - if ( true !== $ret ) { |
|
| 242 | + $ret = $zip->open($zipfile, ZipArchive::CREATE); |
|
| 243 | + if (true !== $ret) { |
|
| 244 | 244 | $error = true; |
| 245 | 245 | } else { |
| 246 | - $zip->addFile( AO_CCSS_DIR . 'settings.json', 'settings.json' ); |
|
| 247 | - if ( file_exists( AO_CCSS_DIR . 'queue.json' ) ) { |
|
| 248 | - $zip->addFile( AO_CCSS_DIR . 'queue.json', 'queue.json' ); |
|
| 246 | + $zip->addFile(AO_CCSS_DIR.'settings.json', 'settings.json'); |
|
| 247 | + if (file_exists(AO_CCSS_DIR.'queue.json')) { |
|
| 248 | + $zip->addFile(AO_CCSS_DIR.'queue.json', 'queue.json'); |
|
| 249 | 249 | } |
| 250 | 250 | $options = array( |
| 251 | 251 | 'add_path' => './', |
| 252 | 252 | 'remove_all_path' => true, |
| 253 | 253 | ); |
| 254 | - $zip->addGlob( AO_CCSS_DIR . '*.css', 0, $options ); |
|
| 254 | + $zip->addGlob(AO_CCSS_DIR.'*.css', 0, $options); |
|
| 255 | 255 | $zip->close(); |
| 256 | 256 | } |
| 257 | 257 | |
| 258 | 258 | // Prepare response. |
| 259 | - if ( ! $status || $error ) { |
|
| 259 | + if (!$status || $error) { |
|
| 260 | 260 | $response['code'] = '500'; |
| 261 | - $response['msg'] = 'Error saving file ' . $file . ', code: ' . $ret; |
|
| 261 | + $response['msg'] = 'Error saving file '.$file.', code: '.$ret; |
|
| 262 | 262 | } else { |
| 263 | 263 | $response['code'] = '200'; |
| 264 | - $response['msg'] = 'File ' . $file . ' saved.'; |
|
| 264 | + $response['msg'] = 'File '.$file.' saved.'; |
|
| 265 | 265 | $response['file'] = $file; |
| 266 | 266 | } |
| 267 | 267 | |
| 268 | 268 | // Dispatch respose. |
| 269 | - echo json_encode( $response ); |
|
| 269 | + echo json_encode($response); |
|
| 270 | 270 | |
| 271 | 271 | // Close ajax request. |
| 272 | 272 | wp_die(); |
@@ -275,54 +275,54 @@ discard block |
||
| 275 | 275 | public function ao_ccss_import_callback() { |
| 276 | 276 | // Ajax handler import settings |
| 277 | 277 | // Check referer. |
| 278 | - check_ajax_referer( 'ao_ccss_import_nonce', 'ao_ccss_import_nonce' ); |
|
| 278 | + check_ajax_referer('ao_ccss_import_nonce', 'ao_ccss_import_nonce'); |
|
| 279 | 279 | |
| 280 | 280 | // Initialize error flag. |
| 281 | 281 | $error = false; |
| 282 | 282 | |
| 283 | 283 | // Process an uploaded file with no errors. |
| 284 | - if ( current_user_can( 'manage_options' ) && ! $_FILES['file']['error'] && strpos( $_FILES['file']['name'], '.zip' ) === strlen( $_FILES['file']['name'] ) - 4 ) { |
|
| 284 | + if (current_user_can('manage_options') && !$_FILES['file']['error'] && strpos($_FILES['file']['name'], '.zip') === strlen($_FILES['file']['name']) - 4) { |
|
| 285 | 285 | // Save file to the cache directory. |
| 286 | - $zipfile = AO_CCSS_DIR . $_FILES['file']['name']; |
|
| 287 | - move_uploaded_file( $_FILES['file']['tmp_name'], $zipfile ); |
|
| 286 | + $zipfile = AO_CCSS_DIR.$_FILES['file']['name']; |
|
| 287 | + move_uploaded_file($_FILES['file']['tmp_name'], $zipfile); |
|
| 288 | 288 | |
| 289 | 289 | // Extract archive. |
| 290 | 290 | $zip = new ZipArchive; |
| 291 | - if ( $zip->open( $zipfile ) === true ) { |
|
| 292 | - $zip->extractTo( AO_CCSS_DIR ); |
|
| 291 | + if ($zip->open($zipfile) === true) { |
|
| 292 | + $zip->extractTo(AO_CCSS_DIR); |
|
| 293 | 293 | $zip->close(); |
| 294 | 294 | } else { |
| 295 | 295 | $error = 'could not extract'; |
| 296 | 296 | } |
| 297 | 297 | |
| 298 | - if ( ! $error ) { |
|
| 298 | + if (!$error) { |
|
| 299 | 299 | // only known files allowed, all others are deleted. |
| 300 | - $_dir_contents_ccss = glob( AO_CCSS_DIR . 'ccss_*.css' ); |
|
| 301 | - $_dir_known_ok = array( AO_CCSS_DIR . 'queue.lock', AO_CCSS_DIR . 'queuelog.html', AO_CCSS_DIR . 'index.html', AO_CCSS_DIR . 'settings.json' ); |
|
| 302 | - $_dir_contents_ok = array_merge( $_dir_contents_ccss, $_dir_known_ok ); |
|
| 303 | - $_dir_contents_all = glob( AO_CCSS_DIR . '*' ); |
|
| 304 | - $_dir_to_be_deleted = array_diff( $_dir_contents_all, $_dir_contents_ok ); |
|
| 305 | - foreach ( $_dir_to_be_deleted as $_file_to_be_deleted ) { |
|
| 306 | - unlink( $_file_to_be_deleted ); |
|
| 300 | + $_dir_contents_ccss = glob(AO_CCSS_DIR.'ccss_*.css'); |
|
| 301 | + $_dir_known_ok = array(AO_CCSS_DIR.'queue.lock', AO_CCSS_DIR.'queuelog.html', AO_CCSS_DIR.'index.html', AO_CCSS_DIR.'settings.json'); |
|
| 302 | + $_dir_contents_ok = array_merge($_dir_contents_ccss, $_dir_known_ok); |
|
| 303 | + $_dir_contents_all = glob(AO_CCSS_DIR.'*'); |
|
| 304 | + $_dir_to_be_deleted = array_diff($_dir_contents_all, $_dir_contents_ok); |
|
| 305 | + foreach ($_dir_to_be_deleted as $_file_to_be_deleted) { |
|
| 306 | + unlink($_file_to_be_deleted); |
|
| 307 | 307 | } |
| 308 | 308 | |
| 309 | 309 | // Archive extraction ok, continue settings importing |
| 310 | 310 | // Settings file. |
| 311 | - $importfile = AO_CCSS_DIR . 'settings.json'; |
|
| 311 | + $importfile = AO_CCSS_DIR.'settings.json'; |
|
| 312 | 312 | |
| 313 | - if ( file_exists( $importfile ) ) { |
|
| 313 | + if (file_exists($importfile)) { |
|
| 314 | 314 | // Get settings and turn them into an object. |
| 315 | - $settings = json_decode( file_get_contents( $importfile ), true ); |
|
| 315 | + $settings = json_decode(file_get_contents($importfile), true); |
|
| 316 | 316 | |
| 317 | 317 | // Update options. |
| 318 | - update_option( 'autoptimize_ccss_rules', $settings['rules'] ); |
|
| 319 | - update_option( 'autoptimize_ccss_additional', $settings['additional'] ); |
|
| 320 | - update_option( 'autoptimize_ccss_viewport', $settings['viewport'] ); |
|
| 321 | - update_option( 'autoptimize_ccss_finclude', $settings['finclude'] ); |
|
| 322 | - update_option( 'autoptimize_ccss_rlimit', $settings['rlimit'] ); |
|
| 323 | - update_option( 'autoptimize_ccss_noptimize', $settings['noptimize'] ); |
|
| 324 | - update_option( 'autoptimize_ccss_debug', $settings['debug'] ); |
|
| 325 | - update_option( 'autoptimize_ccss_key', $settings['key'] ); |
|
| 318 | + update_option('autoptimize_ccss_rules', $settings['rules']); |
|
| 319 | + update_option('autoptimize_ccss_additional', $settings['additional']); |
|
| 320 | + update_option('autoptimize_ccss_viewport', $settings['viewport']); |
|
| 321 | + update_option('autoptimize_ccss_finclude', $settings['finclude']); |
|
| 322 | + update_option('autoptimize_ccss_rlimit', $settings['rlimit']); |
|
| 323 | + update_option('autoptimize_ccss_noptimize', $settings['noptimize']); |
|
| 324 | + update_option('autoptimize_ccss_debug', $settings['debug']); |
|
| 325 | + update_option('autoptimize_ccss_key', $settings['key']); |
|
| 326 | 326 | } else { |
| 327 | 327 | // Settings file doesn't exist, update error flag. |
| 328 | 328 | $error = 'settings file does not exist'; |
@@ -333,28 +333,28 @@ discard block |
||
| 333 | 333 | } |
| 334 | 334 | |
| 335 | 335 | // Prepare response. |
| 336 | - if ( $error ) { |
|
| 336 | + if ($error) { |
|
| 337 | 337 | $response['code'] = '500'; |
| 338 | - $response['msg'] = 'Error importing settings: ' . $error; |
|
| 338 | + $response['msg'] = 'Error importing settings: '.$error; |
|
| 339 | 339 | } else { |
| 340 | 340 | $response['code'] = '200'; |
| 341 | 341 | $response['msg'] = 'Settings imported successfully'; |
| 342 | 342 | } |
| 343 | 343 | |
| 344 | 344 | // Dispatch respose. |
| 345 | - echo json_encode( $response ); |
|
| 345 | + echo json_encode($response); |
|
| 346 | 346 | |
| 347 | 347 | // Close ajax request. |
| 348 | 348 | wp_die(); |
| 349 | 349 | } |
| 350 | 350 | |
| 351 | - public function critcss_check_filename( $filename ) { |
|
| 351 | + public function critcss_check_filename($filename) { |
|
| 352 | 352 | // Try to avoid directory traversal when reading/writing/deleting critical CSS files. |
| 353 | - if ( strpos( $filename, 'ccss_' ) !== 0 ) { |
|
| 353 | + if (strpos($filename, 'ccss_') !== 0) { |
|
| 354 | 354 | return false; |
| 355 | - } elseif ( substr( $filename, -4, 4 ) !== '.css' ) { |
|
| 355 | + } elseif (substr($filename, -4, 4) !== '.css') { |
|
| 356 | 356 | return false; |
| 357 | - } elseif ( sanitize_file_name( $filename ) !== $filename ) { |
|
| 357 | + } elseif (sanitize_file_name($filename) !== $filename) { |
|
| 358 | 358 | // Use WordPress core's sanitize_file_name to see if anything fishy is going on. |
| 359 | 359 | return false; |
| 360 | 360 | } else { |
@@ -20,24 +20,24 @@ |
||
| 20 | 20 | * to files that don't exist in AO's cache. |
| 21 | 21 | */ |
| 22 | 22 | |
| 23 | -$original_request = strtok( $_SERVER['REQUEST_URI'], '?' ); |
|
| 23 | +$original_request = strtok($_SERVER['REQUEST_URI'], '?'); |
|
| 24 | 24 | |
| 25 | -if ( strpos( $original_request, 'uucss/uucss-' ) !== false ) { |
|
| 26 | - $original_request = preg_replace( '/uucss\/uucss-[a-z0-9]{32}-/', 'css/', $original_request ); |
|
| 25 | +if (strpos($original_request, 'uucss/uucss-') !== false) { |
|
| 26 | + $original_request = preg_replace('/uucss\/uucss-[a-z0-9]{32}-/', 'css/', $original_request); |
|
| 27 | 27 | } |
| 28 | 28 | |
| 29 | -$fallback_target = preg_replace( '/(.*)_(?:[a-z0-9]{32})\.(js|css)$/', '${1}_fallback.${2}', $original_request ); |
|
| 29 | +$fallback_target = preg_replace('/(.*)_(?:[a-z0-9]{32})\.(js|css)$/', '${1}_fallback.${2}', $original_request); |
|
| 30 | 30 | $ao_cache_dir = '<!--ao-cache-dir-->'; |
| 31 | -$js_or_css = pathinfo( $original_request, PATHINFO_EXTENSION ); |
|
| 32 | -$fallback_path = $ao_cache_dir . $js_or_css . '/autoptimize_fallback.' . $js_or_css; |
|
| 31 | +$js_or_css = pathinfo($original_request, PATHINFO_EXTENSION); |
|
| 32 | +$fallback_path = $ao_cache_dir.$js_or_css.'/autoptimize_fallback.'.$js_or_css; |
|
| 33 | 33 | |
| 34 | -if ( $original_request !== $fallback_target && file_exists( $fallback_path ) ) { |
|
| 34 | +if ($original_request !== $fallback_target && file_exists($fallback_path)) { |
|
| 35 | 35 | // error_log( 'Autoptimize file ' . $original_request . ' not found, using fallback instead.' ); |
| 36 | - header( 'HTTP/1.1 301 Moved Permanently' ); |
|
| 37 | - header( 'Location: ' . $fallback_target ); |
|
| 36 | + header('HTTP/1.1 301 Moved Permanently'); |
|
| 37 | + header('Location: '.$fallback_target); |
|
| 38 | 38 | } else { |
| 39 | 39 | // error_log( 'Autoptimize file ' . $original_request . ' not found, sending 410 gone response.' ); |
| 40 | - header( 'HTTP/1.1 410 Gone' ); |
|
| 40 | + header('HTTP/1.1 410 Gone'); |
|
| 41 | 41 | } |
| 42 | 42 | |
| 43 | 43 | exit(); |