WordPress.org

Plugin Directory


Ignore:
Timestamp:
08/31/11 01:53:26 (6 years ago)
Author:
fredericktownes
Message:
 
File:
1 edited

Legend:

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

    r428862 r430980  
    3838     */ 
    3939    var $_errors = array(); 
     40 
     41    /** 
     42     * Rule-related errors about modifications in .htaccess 
     43     * 
     44     * @var array 
     45     */ 
     46    var $_rule_errors = array(); 
     47 
     48    /** 
     49     * Link for auto-installing of rules 
     50     * 
     51     * @var string 
     52     */ 
     53    var $_rule_errors_autoinstall = ''; 
     54 
     55    /** 
     56     * Link for hiding of rules notification 
     57     * 
     58     * @var string 
     59     */ 
     60    var $_rule_errors_hide = ''; 
     61 
     62    /** 
     63     * Checks if cloudflare error pushed to output 
     64     * 
     65     * @var boolean 
     66     */ 
     67    var $_cloudflare_fault_signaled = false; 
    4068 
    4169    /** 
     
    685713        $notes = array(); 
    686714 
     715        /** 
     716        * CloudFlare notifications 
     717        */ 
     718        $this->_check_cloudflare_lasterror(); 
     719 
    687720        require_once W3TC_LIB_W3_DIR . '/Request.php'; 
    688721 
    689         $error = W3_Request::get_string('w3tc_error'); 
    690         $note = W3_Request::get_string('w3tc_note'); 
     722        $request_errors = W3_Request::get_string('w3tc_error'); 
     723        $request_notes = W3_Request::get_string('w3tc_note'); 
    691724 
    692725        /** 
    693726         * Handle messages from reqeust 
    694727         */ 
    695         if (isset($error_messages[$error])) { 
    696             $errors[] = $error_messages[$error]; 
    697         } 
    698  
    699         if (isset($note_messages[$note])) { 
    700             $notes[] = $note_messages[$note]; 
     728        foreach (explode(',', $request_errors) as $error) { 
     729            if ($error = 'cloudflare_api_request' && $this->_cloudflare_fault_signaled) { 
     730                // dont complain twice on cloudflare 
     731            } 
     732            elseif (isset($error_messages[$error])) { 
     733                $errors[] = $error_messages[$error]; 
     734            } 
     735        } 
     736 
     737        foreach (explode(',', $request_notes) as $note) { 
     738            if (isset($note_messages[$note])) { 
     739                $notes[] = $note_messages[$note]; 
     740            } 
    701741        } 
    702742 
     
    852892                        $this->_errors[] = 'It appears Page Cache <acronym title="Uniform Resource Locator">URL</acronym> rewriting is not working. If using apache, verify that the server configuration allows .htaccess or if using nginx verify all configuration files are included in the configuration.'; 
    853893                    } 
     894 
     895                    if ($this->_config->get_boolean('notes.pgcache_rules_legacy') && 
     896                            $w3_plugin_pgcache->check_rules_has_legacy()) { 
     897                        $this->_rule_errors[] = array( 
     898                            sprintf('Edit the configuration file (<strong>%s</strong>) and ' . 
     899                                'remove all lines between and including <strong>%s</strong> and ' . 
     900                                '<strong>%s</strong> markers inclusive.', 
     901                                w3_get_pgcache_rules_core_path(), W3TC_MARKER_BEGIN_PGCACHE_LEGACY, 
     902                                W3TC_MARKER_END_PGCACHE_LEGACY), 
     903                            'pgcache_remove_rules_legacy', 'pgcache_rules_legacy'); 
     904                    } 
    854905                } elseif ($this->_config->get_boolean('notes.pgcache_rules_core')) { 
    855                     $this->_errors[] = sprintf('Disk enhanced page caching is not active. To enable it, add the following rules into the server configuration file (<strong>%s</strong>) of the site above the WordPress directives %s <textarea class="w3tc-rules" cols="120" rows="10" readonly="readonly">%s</textarea>. Or if permission allow this can be done automatically, by clicking here: %s. %s', w3_get_pgcache_rules_core_path(), $this->button('view code', '', 'w3tc-show-rules'), htmlspecialchars($w3_plugin_pgcache->generate_rules_core()), $this->button_link('auto-install', wp_nonce_url(sprintf('admin.php?page=%s&w3tc_pgcache_write_rules_core', $this->_page), 'w3tc')), $this->button_hide_note('Hide this message', 'pgcache_rules_core')); 
    856                 } 
    857  
    858                 if ($this->_config->get_boolean('notes.pgcache_rules_legacy') && $w3_plugin_pgcache->check_rules_legacy()) { 
    859                     $this->_errors[] = sprintf('Legacy Page Cache rewrite rules have been found. To remove them manually, edit the configuration file (<strong>%s</strong>) and remove all lines between and including <strong>%s</strong> and <strong>%s</strong> markers inclusive. Or if permission allow this can be done automatically, by clicking here: %s. %s', w3_get_pgcache_rules_core_path(), W3TC_MARKER_BEGIN_PGCACHE_LEGACY, W3TC_MARKER_END_PGCACHE_LEGACY, $this->button_link('auto-remove', wp_nonce_url(sprintf('admin.php?page=%s&w3tc_pgcache_remove_rules_legacy', $this->_page), 'w3tc')), $this->button_hide_note('Hide this message', 'pgcache_rules_legacy')); 
     906                    if ($w3_plugin_pgcache->check_rules_has_core()) { 
     907                        $instructions = sprintf('replace the content of the server configuration ' . 
     908                            'file <strong>%s</strong> between %s and %s markers inclusive', 
     909                            w3_get_pgcache_rules_core_path(), 
     910                            W3TC_MARKER_BEGIN_PGCACHE_CORE, W3TC_MARKER_END_PGCACHE_CORE); 
     911                    } elseif ($w3_plugin_pgcache->check_rules_has_legacy()) { 
     912                        $instructions = sprintf('replace the content of the server configuration ' . 
     913                            'file <strong>%s</strong> between %s and %s markers inclusive', 
     914                            w3_get_pgcache_rules_core_path(), 
     915                            W3TC_MARKER_BEGIN_PGCACHE_LEGACY, W3TC_MARKER_END_PGCACHE_LEGACY); 
     916                    } else { 
     917                        $instructions = sprintf('add the following rules into the server ' . 
     918                            'configuration file (<strong>%s</strong>) of the site above the ' . 
     919                            'WordPress directives', w3_get_pgcache_rules_core_path()); 
     920                    } 
     921 
     922                    $this->_rule_errors[] = array( 
     923                        sprintf('To enable Disk enhanced page caching, ' . $instructions . 
     924                            ' %s <textarea class="w3tc-rules"' . 
     925                            ' cols="120" rows="10" readonly="readonly">%s</textarea>.', 
     926                            $this->button('view code', '', 'w3tc-show-rules'), 
     927                            htmlspecialchars($w3_plugin_pgcache->generate_rules_core())), 
     928                        'pgcache_write_rules_core', 'pgcache_rules_core'); 
    860929                } 
    861930 
     
    865934 
    866935                if ($this->_config->get_boolean('notes.pgcache_rules_cache') && !$w3_plugin_pgcache->check_rules_cache()) { 
    867                     $this->_errors[] = sprintf('Disk enhanced page caching is not active. To enable it, add the following rules into the server configuration file (<strong>%s</strong>) of the site %s <textarea class="w3tc-rules" cols="120" rows="10" readonly="readonly">%s</textarea>. This can be done automatically, by clicking here: %s. %s', w3_get_pgcache_rules_cache_path(), $this->button('view code', '', 'w3tc-show-rules'), htmlspecialchars($w3_plugin_pgcache->generate_rules_cache()), $this->button_link('auto-install', wp_nonce_url(sprintf('admin.php?page=%s&w3tc_pgcache_write_rules_cache', $this->_page), 'w3tc')), $this->button_hide_note('Hide this message', 'pgcache_rules_cache')); 
     936                    $this->_rule_errors[] = array( 
     937                        sprintf('To enable Disk enhanced page caching, add ' . 
     938                            'the following rules into the server configuration file ' . 
     939                            '(<strong>%s</strong>) of the site %s <textarea class="w3tc-rules" ' . 
     940                            'cols="120" rows="10" readonly="readonly">%s</textarea>.', 
     941                            w3_get_pgcache_rules_cache_path(), 
     942                            $this->button('view code', '', 'w3tc-show-rules'), 
     943                            htmlspecialchars($w3_plugin_pgcache->generate_rules_cache())), 
     944                        'pgcache_write_rules_cache', 'pgcache_rules_cache'); 
    868945                } 
    869             } 
    870         } 
    871  
    872         /** 
    873          * Check for browser cache availability 
    874          */ 
    875         if ($this->_config->get_boolean('browsercache.enabled') && $this->_config->get_boolean('config.check') && w3_can_check_rules()) { 
    876             $w3_plugin_browsercache = & w3_instance('W3_Plugin_BrowserCacheAdmin'); 
    877  
    878             if ($this->_config->get_boolean('notes.browsercache_rules_cache') && !$w3_plugin_browsercache->check_rules_cache()) { 
    879                 $this->_errors[] = sprintf('Browser caching is not active. To enable it, add the following rules into the server configuration file (<strong>%s</strong>) of the site %s <textarea class="w3tc-rules" cols="120" rows="10" readonly="readonly">%s</textarea>. Or if permission allow this can be done automatically, by clicking here: %s. %s', w3_get_browsercache_rules_cache_path(), $this->button('view code', '', 'w3tc-show-rules'), htmlspecialchars($w3_plugin_browsercache->generate_rules_cache()), $this->button_link('auto-install', wp_nonce_url(sprintf('admin.php?page=%s&w3tc_browsercache_write_rules_cache', $this->_page), 'w3tc')), $this->button_hide_note('Hide this message', 'browsercache_rules_cache')); 
    880             } 
    881  
    882             if ($this->_config->get_boolean('notes.browsercache_rules_no404wp') && $this->_config->get_boolean('browsercache.no404wp') && !$w3_plugin_browsercache->check_rules_no404wp()) { 
    883                 $this->_errors[] = sprintf('"Do not process 404 errors for static objects with WordPress" feature is not active. To enable it, add the following rules into the server configuration file (<strong>%s</strong>) of the site %s <textarea class="w3tc-rules" cols="120" rows="10" readonly="readonly">%s</textarea>. Or if permission allow this can be done automatically, by clicking here: %s. %s', w3_get_browsercache_rules_no404wp_path(), $this->button('view code', '', 'w3tc-show-rules'), htmlspecialchars($w3_plugin_browsercache->generate_rules_no404wp()), $this->button_link('auto-install', wp_nonce_url(sprintf('admin.php?page=%s&w3tc_browsercache_write_rules_no404wp', $this->_page), 'w3tc')), $this->button_hide_note('Hide this message', 'browsercache_rules_no404wp')); 
    884946            } 
    885947        } 
     
    896958                        $this->_errors[] = 'It appears Minify <acronym title="Uniform Resource Locator">URL</acronym> rewriting is not working. If using apache, verify that the server configuration allows .htaccess or if using nginx verify all configuration files are included in the configuration.'; 
    897959                    } 
     960 
     961                    if ($this->_config->get_boolean('notes.minify_rules_legacy') && 
     962                            $w3_plugin_minify->check_rules_has_legacy()) { 
     963                        $this->_rule_errors[] = array( 
     964                            sprintf('Edit the configuration file (<strong>%s</strong>) and ' . 
     965                                'remove all lines between and including <strong>%s</strong> and ' . 
     966                                '<strong>%s</strong> markers inclusive.', 
     967                                w3_get_minify_rules_core_path(), W3TC_MARKER_BEGIN_MINIFY_LEGACY, 
     968                                W3TC_MARKER_END_MINIFY_LEGACY), 
     969                            'minify_remove_rules_legacy', 'minify_rules_legacy'); 
     970                    } 
     971 
    898972                } elseif ($this->_config->get_boolean('notes.minify_rules_core')) { 
    899                     $this->_errors[] = sprintf('Minify is not active. To enable it, add the following rules into the server configuration file (<strong>%s</strong>) of the site %s <textarea class="w3tc-rules" cols="120" rows="10" readonly="readonly">%s</textarea>. This can be done automatically, by clicking here: %s. %s', w3_get_minify_rules_core_path(), $this->button('view code', '', 'w3tc-show-rules'), htmlspecialchars($w3_plugin_minify->generate_rules_core()), $this->button_link('auto-install', wp_nonce_url(sprintf('admin.php?page=%s&w3tc_minify_write_rules_core', $this->_page), 'w3tc')), $this->button_hide_note('Hide this message', 'minify_rules_core')); 
     973                    if ($w3_plugin_minify->check_rules_has_core()) { 
     974                        $instructions = sprintf('replace the content of the server configuration ' . 
     975                            'file <strong>%s</strong> between %s and %s markers inclusive', 
     976                            w3_get_minify_rules_core_path(), 
     977                            W3TC_MARKER_BEGIN_MINIFY_CORE, W3TC_MARKER_END_MINIFY_CORE); 
     978                    } elseif ($w3_plugin_minify->check_rules_has_legacy()) { 
     979                        $instructions = sprintf('replace the content of the server configuration ' . 
     980                            'file <strong>%s</strong> between %s and %s markers inclusive', 
     981                            w3_get_minify_rules_core_path(), 
     982                            W3TC_MARKER_BEGIN_MINIFY_LEGACY, W3TC_MARKER_END_MINIFY_LEGACY); 
     983                    } else { 
     984                        $instructions = sprintf('add the following rules into the server ' . 
     985                            'configuration file (<strong>%s</strong>) of the site', 
     986                            w3_get_minify_rules_core_path()); 
     987                    } 
     988 
     989                    $this->_rule_errors[] = array( 
     990                        sprintf('To enable Minify, ' . $instructions . 
     991                            ' %s <textarea class="w3tc-rules" cols="120" rows="10" ' . 
     992                            'readonly="readonly">%s</textarea>.', 
     993                            $this->button('view code', '', 'w3tc-show-rules'), 
     994                            htmlspecialchars($w3_plugin_minify->generate_rules_core())), 
     995                        'minify_write_rules_core', 'minify_rules_core'); 
    900996                } 
    901997 
    902                 if ($this->_config->get_boolean('notes.minify_rules_legacy') && $w3_plugin_minify->check_rules_legacy()) { 
    903                     $this->_errors[] = sprintf('Legacy Minify rewrite rules have been found. To remove them manually, edit the configuration file (<strong>%s</strong>) and remove all lines between and including <strong>%s</strong> and <strong>%s</strong> markers inclusive. Or if permission allow this can be done automatically, by clicking here: %s. %s', w3_get_minify_rules_core_path(), W3TC_MARKER_BEGIN_MINIFY_LEGACY, W3TC_MARKER_END_MINIFY_LEGACY, $this->button_link('auto-remove', wp_nonce_url(sprintf('admin.php?page=%s&w3tc_minify_remove_rules_legacy', $this->_page), 'w3tc')), $this->button_hide_note('Hide this message', 'minify_rules_legacy')); 
    904                 } 
    905  
    906998                if ($this->_config->get_string('minify.engine') == 'file' && $this->_config->get_boolean('notes.minify_rules_cache') && !$w3_plugin_minify->check_rules_cache()) { 
    907                     $this->_errors[] = sprintf('Minify is not active. To enable it, add the following rules into the server configuration file (<strong>%s</strong>) of the site %s <textarea class="w3tc-rules" cols="120" rows="10" readonly="readonly">%s</textarea>. This can be done automatically, by clicking here: %s. %s', w3_get_minify_rules_cache_path(), $this->button('view code', '', 'w3tc-show-rules'), htmlspecialchars($w3_plugin_minify->generate_rules_cache()), $this->button_link('auto-install', wp_nonce_url(sprintf('admin.php?page=%s&w3tc_minify_write_rules_cache', $this->_page), 'w3tc')), $this->button_hide_note('Hide this message', 'minify_rules_cache')); 
     999                    $this->_rule_errors[] = array( 
     1000                        sprintf('To enable Minify, add the following rules ' . 
     1001                            'into the server configuration file (<strong>%s</strong>) of the ' . 
     1002                            'site %s <textarea class="w3tc-rules" cols="120" rows="10" ' . 
     1003                            'readonly="readonly">%s</textarea>.', 
     1004                            w3_get_minify_rules_cache_path(), 
     1005                            $this->button('view code', '', 'w3tc-show-rules'), 
     1006                            htmlspecialchars($w3_plugin_minify->generate_rules_cache())), 
     1007                            'minify_write_rules_cache', 'minify_rules_cache'); 
    9081008                } 
    9091009            } 
     
    9571057 
    9581058                $this->_errors[] = $minify_error; 
     1059            } 
     1060        } 
     1061 
     1062        /** 
     1063         * Check for browser cache availability 
     1064         */ 
     1065        if ($this->_config->get_boolean('browsercache.enabled') && $this->_config->get_boolean('config.check') && w3_can_check_rules()) { 
     1066            $w3_plugin_browsercache = & w3_instance('W3_Plugin_BrowserCacheAdmin'); 
     1067 
     1068            if ($this->_config->get_boolean('notes.browsercache_rules_cache') && !$w3_plugin_browsercache->check_rules_cache()) { 
     1069                $this->_rule_errors[] = array( 
     1070                    sprintf('To enable Browser caching, add the following rules ' . 
     1071                        'into the server configuration file (<strong>%s</strong>) of the site %s '. 
     1072                        '<textarea class="w3tc-rules" cols="120" rows="10" readonly="readonly">%s' . 
     1073                        '</textarea>.', w3_get_browsercache_rules_cache_path(), 
     1074                        $this->button('view code', '', 'w3tc-show-rules'), 
     1075                        htmlspecialchars($w3_plugin_browsercache->generate_rules_cache())), 
     1076                    'browsercache_write_rules_cache', 'browsercache_rules_cache'); 
     1077            } 
     1078 
     1079            if ($this->_config->get_boolean('notes.browsercache_rules_no404wp') && $this->_config->get_boolean('browsercache.no404wp') && !$w3_plugin_browsercache->check_rules_no404wp()) { 
     1080                $this->_errors[] = sprintf('"Do not process 404 errors for static objects with WordPress" feature is not active. To enable it, add the following rules into the server configuration file (<strong>%s</strong>) of the site %s <textarea class="w3tc-rules" cols="120" rows="10" readonly="readonly">%s</textarea>. Or if permission allow this can be done automatically, by clicking here: %s. %s', w3_get_browsercache_rules_no404wp_path(), $this->button('view code', '', 'w3tc-show-rules'), htmlspecialchars($w3_plugin_browsercache->generate_rules_no404wp()), $this->button_link('auto-install', wp_nonce_url(sprintf('admin.php?page=%s&w3tc_browsercache_write_rules_no404wp', $this->_page), 'w3tc')), $this->button_hide_note('Hide this message', 'browsercache_rules_no404wp')); 
    9591081            } 
    9601082        } 
     
    11551277        if (w3_is_preview_config()) { 
    11561278            $this->_notes[] = sprintf('Preview mode is active: Changed settings will not take effect until preview mode is %s or %s. %s any changed settings (without deploying), or make additional changes.', $this->button_link('deploy', wp_nonce_url(sprintf('admin.php?page=%s&w3tc_preview_deploy', $this->_page), 'w3tc')), $this->button_link('disable', wp_nonce_url(sprintf('admin.php?page=%s&w3tc_preview_save&preview=0', $this->_page), 'w3tc')), $this->button_link('Preview', w3_get_home_url() . '/?w3tc_preview=1', true)); 
     1279        } 
     1280 
     1281        /** 
     1282         * Prepare rule errros auto-install link 
     1283         */ 
     1284 
     1285        if (count($this->_rule_errors > 0)) { 
     1286            $autoinstall_commands = ''; 
     1287            $hide_commands = ''; 
     1288            foreach ($this->_rule_errors as $error) { 
     1289                $autoinstall_commands .= ',' . $error[1]; 
     1290                $hide_commands .= ',' . $error[2]; 
     1291            } 
     1292 
     1293            $this->_rule_errors_autoinstall = $this->button_link('auto-install', 
     1294                wp_nonce_url(sprintf( 
     1295                    'admin.php?page=%s&w3tc_rules_autoinstall&autoinstall=%s', 
     1296                    $this->_page, $autoinstall_commands), 'w3tc')); 
     1297            $this->_rule_errors_hide = $this->button_hide_note('Hide this message', $hide_commands); 
    11571298        } 
    11581299 
     
    16351776        if (false !== ($output = get_transient($this->_widget_latest_cache_key()))) 
    16361777            echo $output; 
    1637         else  
     1778        else 
    16381779            include W3TC_INC_DIR . '/widget/latest.php'; 
    16391780    } 
    16401781 
    16411782    /** 
    1642      * Prints latest widget contents  
     1783     * Prints latest widget contents 
    16431784     * 
    16441785     * @return void 
     
    16791820 
    16801821        // Default lifetime in cache of 12 hours (same as the feeds) 
    1681         set_transient($this->_widget_latest_cache_key(), ob_get_flush(), 43200);  
     1822        set_transient($this->_widget_latest_cache_key(), ob_get_flush(), 43200); 
    16821823    } 
    16831824 
     
    29403081     */ 
    29413082    function action_hide_note() { 
    2942         $setting = sprintf('notes.%s', W3_Request::get_string('note')); 
    2943  
    2944         $this->_config->set($setting, false); 
     3083        $notes = explode(',', W3_Request::get_string('note')); 
     3084 
     3085        foreach ($notes as $note) { 
     3086            $setting = sprintf('notes.%s', $note); 
     3087            $this->_config->set($setting, false); 
     3088        } 
    29453089 
    29463090        if (!$this->_config->save()) { 
     
    33323476                     */ 
    33333477                    if ($this->_config->get_boolean('cloudflare.enabled')) { 
     3478                        require_once W3TC_LIB_W3_DIR . '/CloudFlare.php'; 
     3479                        W3_CloudFlare::clear_last_error(''); 
     3480 
    33343481                        $cloudflare_seclvl_old = W3_Request::get_string('cloudflare_seclvl_old'); 
    33353482                        $cloudflare_seclvl_new = W3_Request::get_string('cloudflare_seclvl_new'); 
     
    33393486 
    33403487                        if (($cloudflare_seclvl_old != $cloudflare_seclvl_new) || ($cloudflare_devmode_old != $cloudflare_devmode_new)) { 
    3341                             require_once W3TC_LIB_W3_DIR . '/CloudFlare.php'; 
    33423488                            @$w3_cloudflare =& new W3_CloudFlare(array( 
    33433489                                'email' => $this->_config->get_string('cloudflare.email'), 
     
    34733619 
    34743620    /** 
    3475      * Write page cache core rules action 
    3476      * 
    3477      * @return void 
    3478      */ 
    3479     function action_pgcache_write_rules_core() { 
    3480         $w3_plugin_pgcache = & w3_instance('W3_Plugin_PgCacheAdmin'); 
    3481  
    3482         if ($w3_plugin_pgcache->write_rules_core()) { 
    3483             $this->redirect(array( 
    3484                 'w3tc_note' => 'pgcache_write_rules_core' 
    3485             )); 
    3486         } else { 
    3487             $this->redirect(array( 
    3488                 'w3tc_error' => 'pgcache_write_rules_core' 
    3489             )); 
    3490         } 
    3491     } 
    3492  
    3493     /** 
    3494      * Write page cache cache rules action 
    3495      * 
    3496      * @return void 
    3497      */ 
    3498     function action_pgcache_write_rules_cache() { 
    3499         $w3_plugin_pgcache = & w3_instance('W3_Plugin_PgCacheAdmin'); 
    3500  
    3501         if ($w3_plugin_pgcache->write_rules_cache()) { 
    3502             $this->redirect(array( 
    3503                 'w3tc_note' => 'pgcache_write_rules_cache' 
    3504             )); 
    3505         } else { 
    3506             $this->redirect(array( 
    3507                 'w3tc_error' => 'pgcache_write_rules_cache' 
    3508             )); 
    3509         } 
    3510     } 
    3511  
    3512     /** 
    3513      * Remove page cache legacy rules action 
    3514      * 
    3515      * @return void 
    3516      */ 
    3517     function action_pgcache_remove_rules_legacy() { 
    3518         $w3_plugin_pgcache = & w3_instance('W3_Plugin_PgCacheAdmin'); 
    3519  
    3520         if ($w3_plugin_pgcache->remove_rules_legacy()) { 
    3521             $this->redirect(array( 
    3522                 'w3tc_note' => 'pgcache_remove_rules_legacy' 
    3523             )); 
    3524         } else { 
    3525             $this->redirect(array( 
    3526                 'w3tc_error' => 'pgcache_remove_rules_legacy' 
    3527             )); 
    3528         } 
     3621     * Write rules 
     3622     * 
     3623     * @return void 
     3624     */ 
     3625    function action_rules_autoinstall() { 
     3626        $commands = explode(',', W3_Request::get_string('autoinstall')); 
     3627 
     3628        $notes = array(); 
     3629        $errors = array(); 
     3630 
     3631        foreach ($commands as $command) { 
     3632            $result = null; 
     3633 
     3634            switch ($command) { 
     3635                case 'browsercache_write_rules_cache': 
     3636                    $w3_plugin_browsercache = & w3_instance('W3_Plugin_BrowserCacheAdmin'); 
     3637                    $result = $w3_plugin_browsercache->write_rules_cache(); 
     3638                    break; 
     3639 
     3640                case 'minify_remove_rules_legacy': 
     3641                    $w3_plugin_minify = & w3_instance('W3_Plugin_MinifyAdmin'); 
     3642                    $result = $w3_plugin_minify->remove_rules_legacy(); 
     3643                    break; 
     3644 
     3645                case 'minify_write_rules_cache': 
     3646                    $w3_plugin_minify = & w3_instance('W3_Plugin_MinifyAdmin'); 
     3647                    $result = $w3_plugin_minify->write_rules_cache(); 
     3648                    break; 
     3649 
     3650                case 'minify_write_rules_core': 
     3651                    $w3_plugin_minify = & w3_instance('W3_Plugin_MinifyAdmin'); 
     3652                    $result = $w3_plugin_minify->write_rules_core(); 
     3653                    break; 
     3654 
     3655                case 'pgcache_remove_rules_legacy': 
     3656                    $w3_plugin_pgcache = & w3_instance('W3_Plugin_PgCacheAdmin'); 
     3657                    $result = $w3_plugin_pgcache->remove_rules_legacy(); 
     3658                    break; 
     3659 
     3660                case 'pgcache_write_rules_cache': 
     3661                    $w3_plugin_pgcache = & w3_instance('W3_Plugin_PgCacheAdmin'); 
     3662                    $result =  $w3_plugin_pgcache->write_rules_cache(); 
     3663                    break; 
     3664 
     3665                case 'pgcache_write_rules_core': 
     3666                    $w3_plugin_pgcache = & w3_instance('W3_Plugin_PgCacheAdmin'); 
     3667                    $result = $w3_plugin_pgcache->write_rules_core(); 
     3668                    break; 
     3669            } 
     3670 
     3671            if (!is_null($result)) { 
     3672                if ($result) { 
     3673                    $notes[] = $command; 
     3674                } 
     3675                else { 
     3676                    $errors[] = $command; 
     3677                } 
     3678            } 
     3679        } 
     3680 
     3681        $this->redirect(array( 
     3682            'w3tc_note' => implode(',', $notes), 
     3683            'w3tc_error' => implode(',', $errors))); 
    35293684    } 
    35303685 
     
    35493704 
    35503705    /** 
    3551      * Write browser cache cache action 
    3552      * 
    3553      * @return void 
    3554      */ 
    3555     function action_browsercache_write_rules_cache() { 
    3556         $w3_plugin_browsercache = & w3_instance('W3_Plugin_BrowserCacheAdmin'); 
    3557  
    3558         if ($w3_plugin_browsercache->write_rules_cache()) { 
    3559             $this->redirect(array( 
    3560                 'w3tc_note' => 'browsercache_write_rules_cache' 
    3561             )); 
    3562         } else { 
    3563             $this->redirect(array( 
    3564                 'w3tc_error' => 'browsercache_write_rules_cache' 
    3565             )); 
    3566         } 
    3567     } 
    3568  
    3569     /** 
    35703706     * Write browser cache no404wp rules action 
    35713707     * 
     
    35823718            $this->redirect(array( 
    35833719                'w3tc_error' => 'browsercache_write_rules_no404wp' 
    3584             )); 
    3585         } 
    3586     } 
    3587  
    3588     /** 
    3589      * Write minify core rules action 
    3590      * 
    3591      * @return void 
    3592      */ 
    3593     function action_minify_write_rules_core() { 
    3594         $w3_plugin_minify = & w3_instance('W3_Plugin_MinifyAdmin'); 
    3595  
    3596         if ($w3_plugin_minify->write_rules_core()) { 
    3597             $this->redirect(array( 
    3598                 'w3tc_note' => 'minify_write_rules_core' 
    3599             )); 
    3600         } else { 
    3601             $this->redirect(array( 
    3602                 'w3tc_error' => 'minify_write_rules_core' 
    3603             )); 
    3604         } 
    3605     } 
    3606  
    3607     /** 
    3608      * Write minify cache rules action 
    3609      * 
    3610      * @return void 
    3611      */ 
    3612     function action_minify_write_rules_cache() { 
    3613         $w3_plugin_minify = & w3_instance('W3_Plugin_MinifyAdmin'); 
    3614  
    3615         if ($w3_plugin_minify->write_rules_cache()) { 
    3616             $this->redirect(array( 
    3617                 'w3tc_note' => 'minify_write_rules_cache' 
    3618             )); 
    3619         } else { 
    3620             $this->redirect(array( 
    3621                 'w3tc_error' => 'minify_write_rules_cache' 
    3622             )); 
    3623         } 
    3624     } 
    3625  
    3626     /** 
    3627      * Remove minify legacy rules action 
    3628      * 
    3629      * @return void 
    3630      */ 
    3631     function action_minify_remove_rules_legacy() { 
    3632         $w3_plugin_minify = & w3_instance('W3_Plugin_MinifyAdmin'); 
    3633  
    3634         if ($w3_plugin_minify->remove_rules_legacy()) { 
    3635             $this->redirect(array( 
    3636                 'w3tc_note' => 'minify_remove_rules_legacy' 
    3637             )); 
    3638         } else { 
    3639             $this->redirect(array( 
    3640                 'w3tc_error' => 'minify_remove_rules_legacy' 
    36413720            )); 
    36423721        } 
     
    57235802    } 
    57245803 
    5725     /** 
     5804    function _check_cloudflare_lasterror() { 
     5805        if ($this->_config->get_boolean('cloudflare.enabled') && W3_CloudFlare::get_last_error()) { 
     5806            if (!$this->_cloudflare_fault_signaled) { 
     5807                $this->_errors[] = sprintf('Unable to communicate with CloudFlare API: %s.', W3_CloudFlare::get_last_error()); 
     5808                $this->_cloudflare_fault_signaled = true; 
     5809            } 
     5810        } 
     5811    } 
     5812            /** 
    57265813     * Read CloudFlare settings 
    57275814     * 
     
    57625849        } 
    57635850 
     5851        $this->_check_cloudflare_lasterror(); 
     5852 
    57645853        return false; 
    57655854    } 
Note: See TracChangeset for help on using the changeset viewer.