WordPress.org

Plugin Directory

Changeset 405522


Ignore:
Timestamp:
07/06/11 15:37:28 (3 years ago)
Author:
fredericktownes
Message:
 
Location:
w3-total-cache/trunk/lib/W3
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • w3-total-cache/trunk/lib/W3/Config.php

    r405393 r405522  
    159159        'minify.reject.ua' => 'array', 
    160160        'minify.reject.uri' => 'array', 
     161        'minify.error.last' => 'string', 
    161162        'minify.error.notification' => 'string', 
    162163        'minify.error.notification.last' => 'integer', 
     
    507508        'minify.reject.ua' => array(), 
    508509        'minify.reject.uri' => array(), 
     510        'minify.error.last' => '', 
    509511        'minify.error.notification' => '', 
    510512        'minify.error.notification.last' => 0, 
     
    12691271            @fputs($fp, sprintf("%d => ", $key)); 
    12701272        } else { 
    1271             @fputs($fp, sprintf("'%s' => ", addslashes($key))); 
     1273            @fputs($fp, sprintf("'%s' => ", addcslashes($key, "'\\"))); 
    12721274        } 
    12731275 
     
    13021304            default: 
    13031305            case 'string': 
    1304                 $data = "'" . addslashes((string) $value) . "'"; 
     1306                $data = "'" . addcslashes($value, "'\\") . "'"; 
    13051307                break; 
    13061308        } 
  • w3-total-cache/trunk/lib/W3/Minify.php

    r395455 r405522  
    2727    /** 
    2828     * PHP4 constructor 
    29      * @return W3_Minify 
    3029     */ 
    3130    function W3_Minify() { 
     
    3534    /** 
    3635     * Runs minify 
     36     * 
     37     * @return void 
    3738     */ 
    3839    function process() { 
     
    5354        if (!$file) { 
    5455            $this->error('File param is missing'); 
     56            return; 
    5557        } 
    5658 
     
    6466        } else { 
    6567            $this->error(sprintf('Bad file param format: "%s"', $file)); 
     68            return; 
    6669        } 
    6770 
     
    423426        if ($id === false) { 
    424427            $sources = $this->get_sources_custom($hash, $type); 
    425             $id = $this->_generate_id($sources, $type); 
    426             $this->_cache_set($key, $id); 
     428 
     429            if (count($sources)) { 
     430                $id = $this->_generate_id($sources, $type); 
     431 
     432                if ($id) { 
     433                    $this->_cache_set($key, $id); 
     434                } 
     435            } 
    427436        } 
    428437 
     
    445454        if ($id === false) { 
    446455            $sources = $this->get_sources_group($theme, $template, $location, $type); 
    447             $id = $this->_generate_id($sources, $type); 
    448             $this->_cache_set($key, $id); 
     456 
     457            if (count($sources)) { 
     458                $id = $this->_generate_id($sources, $type); 
     459 
     460                if ($id) { 
     461                    $this->_cache_set($key, $id); 
     462                } 
     463            } 
    449464        } 
    450465 
     
    507522            $files = array_map('w3_normalize_file_minify2', (array) $files); 
    508523        } else { 
     524            $this->error(sprintf('Unable to fetch custom files list: "%s.%s"', $hash, $type)); 
    509525            $files = array(); 
    510526        } 
     
    526542        } 
    527543 
    528         $this->_handle_error(); 
    529  
    530         header('HTTP/1.0 400 Bad Request'); 
    531  
    532         echo '<h1>W3TC Minify Error</h1>'; 
    533  
    534         if ($debug) { 
    535             echo sprintf('<p>%s.</p>', $error); 
    536         } else { 
    537             echo '<p>Enable debug mode to see error message.</p>'; 
    538         } 
    539  
    540         die(); 
     544        $this->_handle_error($error); 
     545 
     546        if (defined('W3TC_IN_MINIFY')) { 
     547            header('HTTP/1.0 400 Bad Request'); 
     548 
     549            echo '<h1>W3TC Minify Error</h1>'; 
     550 
     551            if ($debug) { 
     552                echo sprintf('<p>%s.</p>', $error); 
     553            } else { 
     554                echo '<p>Enable debug mode to see error message.</p>'; 
     555            } 
     556 
     557            die(); 
     558        } 
    541559    } 
    542560 
     
    640658     * Handle minify error 
    641659     * 
     660     * @param string 
    642661     * @return void 
    643662     */ 
    644     function _handle_error() { 
     663    function _handle_error($error) { 
    645664        $notification = $this->_config->get_string('minify.error.notification'); 
    646665 
    647666        if ($notification) { 
    648667            if (stristr($notification, 'admin') !== false) { 
     668                $this->_config->set('minify.error.last', $error); 
    649669                $this->_config->set('notes.minify_error', true); 
    650670            } 
     
    707727                    $values[] = md5($data); 
    708728                } else { 
    709                     $values[] = false; 
     729                    return false; 
    710730                } 
    711731            } 
     
    808828        $cache =& $this->_get_cache(); 
    809829 
    810         $value = @unserialize($cache->fetch($key)); 
    811  
    812         return $value; 
     830        $data = $cache->fetch($key); 
     831 
     832        if ($data) { 
     833            $value = @unserialize($data); 
     834 
     835            return $value; 
     836        } 
     837 
     838        return false; 
    813839    } 
    814840 
  • w3-total-cache/trunk/lib/W3/Plugin/Minify.php

    r405393 r405522  
    236236                        if ($this->_config->get_boolean('minify.css.enable')) { 
    237237                            $files_css = $this->get_files_css($buffer); 
    238                             $this->remove_styles($buffer, $files_css); 
    239                             $head_prepend .= $this->get_style_custom($files_css); 
     238                            $style = $this->get_style_custom($files_css); 
     239 
     240                            if ($style) { 
     241                                $head_prepend .= $style; 
     242                                $this->remove_styles($buffer, $files_css); 
     243                            } 
    240244                        } 
    241245 
    242246                        if ($this->_config->get_boolean('minify.js.enable')) { 
    243247                            $files_js = $this->get_files_js($buffer); 
    244                             $this->remove_scripts($buffer, $files_js); 
    245                             $head_prepend .= $this->get_script_custom($files_js); 
     248                            $script = $this->get_script_custom($files_js); 
     249 
     250                            if ($script) { 
     251                                $head_prepend .= $script; 
     252                                $this->remove_scripts($buffer, $files_js); 
     253                            } 
    246254                        } 
    247255                    } else { 
    248256                        if ($this->_config->get_boolean('minify.css.enable') && !in_array('include', $this->printed_styles)) { 
    249                             $head_prepend .= $this->get_style_group('include'); 
    250                             $this->remove_styles_group($buffer, 'include'); 
     257                            $style = $this->get_style_group('include'); 
     258 
     259                            if ($style) { 
     260                                $head_prepend .= $style; 
     261                                $this->remove_styles_group($buffer, 'include'); 
     262                            } 
    251263                        } 
    252264 
    253265                        if ($this->_config->get_boolean('minify.js.enable')) { 
    254266                            if (!in_array('include', $this->printed_scripts)) { 
    255                                 $this->remove_scripts_group($buffer, 'include'); 
    256                                 $head_prepend .= $this->get_script_group('include'); 
     267                                $script = $this->get_script_group('include'); 
     268 
     269                                if ($script) { 
     270                                    $head_prepend .= $script; 
     271                                    $this->remove_scripts_group($buffer, 'include'); 
     272                                } 
    257273                            } 
    258274 
    259275                            if (!in_array('include-nb', $this->printed_scripts)) { 
    260                                 $this->remove_scripts_group($buffer, 'include-nb'); 
    261                                 $head_prepend .= $this->get_script_group('include-nb'); 
     276                                $script = $this->get_script_group('include-nb'); 
     277 
     278                                if ($script) { 
     279                                    $head_prepend .= $script; 
     280                                    $this->remove_scripts_group($buffer, 'include-nb'); 
     281                                } 
    262282                            } 
    263283 
    264284                            if (!in_array('include-body', $this->printed_scripts)) { 
    265                                 $this->remove_scripts_group($buffer, 'include-body'); 
    266                                 $body_prepend .= $this->get_script_group('include-body'); 
     285                                $script = $this->get_script_group('include-body'); 
     286 
     287                                if ($script) { 
     288                                    $body_prepend .= $script; 
     289                                    $this->remove_scripts_group($buffer, 'include-body'); 
     290                                } 
    267291                            } 
    268292 
    269293                            if (!in_array('include-body-nb', $this->printed_scripts)) { 
    270                                 $this->remove_scripts_group($buffer, 'include-body-nb'); 
    271                                 $body_prepend .= $this->get_script_group('include-body-nb'); 
     294                                $script = $this->get_script_group('include-body-nb'); 
     295 
     296                                if ($script) { 
     297                                    $body_prepend .= $script; 
     298                                    $this->remove_scripts_group($buffer, 'include-body-nb'); 
     299                                } 
    272300                            } 
    273301 
    274302                            if (!in_array('include-footer', $this->printed_scripts)) { 
    275                                 $this->remove_scripts_group($buffer, 'include-footer'); 
    276                                 $body_append .= $this->get_script_group('include-footer'); 
     303                                $script = $this->get_script_group('include-footer'); 
     304 
     305                                if ($script) { 
     306                                    $body_append .= $script; 
     307                                    $this->remove_scripts_group($buffer, 'include-footer'); 
     308                                } 
    277309                            } 
    278310 
    279311                            if (!in_array('include-footer-nb', $this->printed_scripts)) { 
    280                                 $this->remove_scripts_group($buffer, 'include-footer-nb'); 
    281                                 $body_append .= $this->get_script_group('include-footer-nb'); 
     312                                $script = $this->get_script_group('include-footer-nb'); 
     313 
     314                                if ($script) { 
     315                                    $body_append .= $script; 
     316                                    $this->remove_scripts_group($buffer, 'include-footer-nb'); 
     317                                } 
    282318                            } 
    283319                        } 
     
    678714     */ 
    679715    function get_style_group($location) { 
    680         $style = ''; 
     716        $style = false; 
    681717        $type = 'css'; 
    682718        $groups = $this->_config->get_array('minify.css.groups'); 
     
    690726        if (!empty($groups[$theme][$template][$location]['files'])) { 
    691727            $url = $this->format_url_group($theme, $template, $location, $type); 
    692             $import = (isset($groups[$theme][$template][$location]['import']) ? (boolean) $groups[$theme][$template][$location]['import'] : false); 
    693  
    694             $style = $this->get_style($url, $import); 
     728 
     729            if ($url) { 
     730                $import = (isset($groups[$theme][$template][$location]['import']) ? (boolean) $groups[$theme][$template][$location]['import'] : false); 
     731 
     732                $style = $this->get_style($url, $import); 
     733            } 
    695734        } 
    696735 
     
    705744     */ 
    706745    function get_script_group($location) { 
    707         $script = ''; 
     746        $script = false; 
    708747        $type = 'js'; 
    709748        $theme = $this->get_theme(); 
     
    717756        if (!empty($groups[$theme][$template][$location]['files'])) { 
    718757            $url = $this->format_url_group($theme, $template, $location, $type); 
    719             $blocking = (isset($groups[$theme][$template][$location]['blocking']) ? (boolean) $groups[$theme][$template][$location]['blocking'] : true); 
    720  
    721             $script = $this->get_script($url, $blocking); 
     758 
     759            if ($url) { 
     760                $blocking = (isset($groups[$theme][$template][$location]['blocking']) ? (boolean) $groups[$theme][$template][$location]['blocking'] : true); 
     761 
     762                $script = $this->get_script($url, $blocking); 
     763            } 
    722764        } 
    723765 
     
    733775     */ 
    734776    function get_script_custom($files, $blocking = true) { 
    735         $script = ''; 
     777        $script = false; 
    736778 
    737779        if (count($files)) { 
    738780            $url = $this->format_url_custom($files, 'js'); 
    739             $script = $this->get_script($url, $blocking); 
     781 
     782            if ($url) { 
     783                $script = $this->get_script($url, $blocking); 
     784            } 
    740785        } 
    741786 
     
    751796     */ 
    752797    function get_style_custom($files, $import = false) { 
    753         $style = ''; 
     798        $style = false; 
    754799 
    755800        if (count($files)) { 
    756801            $url = $this->format_url_custom($files, 'css'); 
    757             $style = $this->get_style($url, $import); 
     802 
     803            if ($url) { 
     804                $style = $this->get_style($url, $import); 
     805            } 
    758806        } 
    759807 
     
    775823        $w3_minify = & W3_Minify::instance(); 
    776824 
     825        $url = false; 
    777826        $id = $w3_minify->get_id_group($theme, $template, $location, $type); 
    778827 
    779         $site_url_ssl = w3_get_site_url_ssl(); 
    780  
    781         if ($this->_config->get_boolean('minify.rewrite')) { 
    782             $url = sprintf('%s/%s/%s/%s.%s.%s.%s', $site_url_ssl, W3TC_CONTENT_MINIFY_DIR_NAME, $theme, $template, $location, $id, $type); 
    783         } else { 
    784             $url = sprintf('%s/%s/index.php?file=%s/%s.%s.%s.%s', $site_url_ssl, W3TC_CONTENT_MINIFY_DIR_NAME, $theme, $template, $location, $id, $type); 
     828        if ($id) { 
     829            $site_url_ssl = w3_get_site_url_ssl(); 
     830 
     831            if ($this->_config->get_boolean('minify.rewrite')) { 
     832                $url = sprintf('%s/%s/%s/%s.%s.%s.%s', $site_url_ssl, W3TC_CONTENT_MINIFY_DIR_NAME, $theme, $template, $location, $id, $type); 
     833            } else { 
     834                $url = sprintf('%s/%s/index.php?file=%s/%s.%s.%s.%s', $site_url_ssl, W3TC_CONTENT_MINIFY_DIR_NAME, $theme, $template, $location, $id, $type); 
     835            } 
    785836        } 
    786837 
     
    799850        $w3_minify = & W3_Minify::instance(); 
    800851 
     852        $url = false; 
    801853        $w3_minify->set_custom_files($files, $type); 
    802854        $hash = $w3_minify->get_custom_files_hash($files); 
    803855        $id = $w3_minify->get_id_custom($hash, $type); 
    804856 
    805         $site_url_ssl = w3_get_site_url_ssl(); 
    806  
    807         if ($this->_config->get_boolean('minify.rewrite')) { 
    808             $url = sprintf('%s/%s/%s.%s.%s', $site_url_ssl, W3TC_CONTENT_MINIFY_DIR_NAME, $hash, $id, $type); 
    809         } else { 
    810             $url = sprintf('%s/%s/index.php?file=%s.%s.%s', $site_url_ssl, W3TC_CONTENT_MINIFY_DIR_NAME, $hash, $id, $type); 
     857        if ($id) { 
     858            $site_url_ssl = w3_get_site_url_ssl(); 
     859 
     860            if ($this->_config->get_boolean('minify.rewrite')) { 
     861                $url = sprintf('%s/%s/%s.%s.%s', $site_url_ssl, W3TC_CONTENT_MINIFY_DIR_NAME, $hash, $id, $type); 
     862            } else { 
     863                $url = sprintf('%s/%s/index.php?file=%s.%s.%s', $site_url_ssl, W3TC_CONTENT_MINIFY_DIR_NAME, $hash, $id, $type); 
     864            } 
    811865        } 
    812866 
  • w3-total-cache/trunk/lib/W3/Plugin/TotalCacheAdmin.php

    r405393 r405522  
    820820             */ 
    821821            if ($this->_config->get('notes.minify_error')) { 
    822                 $errors[] = sprintf('Recently an error occurred while creating the CSS / JS minify cache: Some files were unavailable, please check the settings to ensure the site is working as intended. %s', $this->button_hide_note('Hide this message', 'minify_error')); 
     822                $errors[] = sprintf('Recently an error occurred while creating the CSS / JS minify cache: %s. %s', $this->_config->get_string('minify.error.last'), $this->button_hide_note('Hide this message', 'minify_error')); 
    823823            } 
    824824 
Note: See TracChangeset for help on using the changeset viewer.