コード例 #1
1
ファイル: upgrader.php プロジェクト: EliasGoldberg/troop-sim
function rocket_new_upgrade($wp_rocket_version, $actual_version)
{
    if (version_compare($actual_version, '1.0.1', '<')) {
        wp_clear_scheduled_hook('rocket_check_event');
    }
    if (version_compare($actual_version, '1.2.0', '<')) {
        // Delete old WP Rocket cache dir
        rocket_rrmdir(WP_ROCKET_PATH . 'cache');
        // Create new WP Rocket cache dir
        if (!is_dir(WP_ROCKET_CACHE_PATH)) {
            mkdir(WP_ROCKET_CACHE_PATH);
        }
    }
    if (version_compare($actual_version, '1.3.0', '<')) {
        rocket_dismiss_box('rocket_warning_plugin_modification');
    }
    if (version_compare($actual_version, '1.3.3', '<')) {
        // Clean cache
        rocket_clean_domain();
        // Create cache files
        run_rocket_bot('cache-preload');
    }
    if (version_compare($actual_version, '2.0', '<')) {
        // Add secret cache key
        $options = get_option(WP_ROCKET_SLUG);
        $options['secret_cache_key'] = create_rocket_uniqid();
        update_option(WP_ROCKET_SLUG, $options);
        global $wp_filesystem;
        if (!$wp_filesystem) {
            require_once ABSPATH . 'wp-admin/includes/class-wp-filesystem-base.php';
            require_once ABSPATH . 'wp-admin/includes/class-wp-filesystem-direct.php';
            $wp_filesystem = new WP_Filesystem_Direct(new StdClass());
        }
        // Get chmod of old folder cache
        $chmod = is_dir(WP_CONTENT_DIR . '/wp-rocket-cache') ? substr(sprintf('%o', fileperms(WP_CONTENT_DIR . '/wp-rocket-cache')), -4) : CHMOD_WP_ROCKET_CACHE_DIRS;
        // Check and create cache folder in wp-content if not already exist
        if (!$wp_filesystem->is_dir(WP_CONTENT_DIR . '/cache')) {
            $wp_filesystem->mkdir(WP_CONTENT_DIR . '/cache', octdec($chmod));
        }
        $wp_filesystem->mkdir(WP_CONTENT_DIR . '/cache/wp-rocket', octdec($chmod));
        // Move old cache folder in new path
        @rename(WP_CONTENT_DIR . '/wp-rocket-cache', WP_CONTENT_DIR . '/cache/wp-rocket');
        // Add WP_CACHE constant in wp-config.php
        set_rocket_wp_cache_define(true);
        // Create advanced-cache.php file
        rocket_generate_advanced_cache_file();
        // Create config file
        rocket_generate_config_file();
    }
    if (version_compare($actual_version, '2.1', '<')) {
        rocket_reset_white_label_values(false);
        // Create minify cache folder if not exist
        if (!is_dir(WP_ROCKET_MINIFY_CACHE_PATH)) {
            rocket_mkdir_p(WP_ROCKET_MINIFY_CACHE_PATH);
        }
        // Create config domain folder if not exist
        if (!is_dir(WP_ROCKET_CONFIG_PATH)) {
            rocket_mkdir_p(WP_ROCKET_CONFIG_PATH);
        }
        // Create advanced-cache.php file
        rocket_generate_advanced_cache_file();
        // Create config file
        rocket_generate_config_file();
    }
    if (version_compare($actual_version, '2.3.3', '<')) {
        // Clean cache
        rocket_clean_domain();
        // Create cache files
        run_rocket_bot('cache-preload');
    }
    if (version_compare($actual_version, '2.3.9', '<')) {
        // Regenerate config file
        rocket_generate_config_file();
    }
    if (version_compare($actual_version, '2.4.1', '<')) {
        // Regenerate advanced-cache.php file
        rocket_generate_advanced_cache_file();
        delete_transient('rocket_ask_for_update');
    }
    if (version_compare($actual_version, '2.6', '<')) {
        // Activate Inline CSS & JS minification if HTML minification is activated
        $options = get_option(WP_ROCKET_SLUG);
        if (!empty($options['minify_html'])) {
            $options['minify_html_inline_css'] = 1;
            $options['minify_html_inline_js'] = 1;
        }
        update_option(WP_ROCKET_SLUG, $options);
        // Regenerate advanced-cache.php file
        rocket_generate_advanced_cache_file();
    }
}
コード例 #2
0
ファイル: command.php プロジェクト: xfifix/wp-rocket-cli
 /**
  * Regenerate file 
  *
  * ## OPTIONS
  *
  * [--file=<file>]
  * : The file to regenerate. It could be: 
  *	- htaccess 
  *	- advanced-cache
  *	- config (It's the config file stored in the wp-rocket-config folder)
  *
  * ## EXAMPLES
  *
  *	   wp rocket regenerate --file=htaccess
  *
  * @subcommand regenerate
  */
 public function regenerate($args = array(), $assoc_args = array())
 {
     if (!empty($assoc_args['file'])) {
         switch ($assoc_args['file']) {
             case 'advanced-cache':
                 rocket_generate_advanced_cache_file();
                 WP_CLI::success('The advanced-cache.php file has just been regenerated.');
                 break;
             case 'config':
                 rocket_generate_config_file();
                 WP_CLI::success('The config file has just been regenerated.');
                 break;
             case 'htaccess':
                 $GLOBALS['is_apache'] = true;
                 flush_rocket_htaccess();
                 WP_CLI::success('The .htaccess file has just been regenerated.');
                 break;
             default:
                 WP_CLI::error('You don\'t specify a good value for the "file" argument. It should be: advanced-cache, config or htaccess.');
                 break;
         }
     } else {
         WP_CLI::error('You don\'t specify the "file" argument.');
     }
 }
コード例 #3
0
ファイル: wp-rocket.php プロジェクト: EliasGoldberg/troop-sim
function rocket_activation()
{
    // Last constants
    define('WP_ROCKET_PLUGIN_NAME', 'WP Rocket');
    define('WP_ROCKET_PLUGIN_SLUG', sanitize_key(WP_ROCKET_PLUGIN_NAME));
    if (defined('SUNRISE') && SUNRISE == 'on' && function_exists('domain_mapping_siteurl')) {
        require WP_ROCKET_INC_PATH . 'domain-mapping.php';
    }
    require WP_ROCKET_FUNCTIONS_PATH . 'options.php';
    require WP_ROCKET_FUNCTIONS_PATH . 'files.php';
    require WP_ROCKET_FUNCTIONS_PATH . 'formatting.php';
    require WP_ROCKET_FUNCTIONS_PATH . 'plugins.php';
    require WP_ROCKET_FUNCTIONS_PATH . 'i18n.php';
    require WP_ROCKET_FUNCTIONS_PATH . 'htaccess.php';
    if (rocket_valid_key()) {
        // Add All WP Rocket rules of the .htaccess file
        flush_rocket_htaccess();
        // Add WP_CACHE constant in wp-config.php
        set_rocket_wp_cache_define(true);
    }
    // Create the cache folders (wp-rocket & min)
    rocket_init_cache_dir();
    // Create the config folder (wp-rocket-config)
    rocket_init_config_dir();
    // Create advanced-cache.php file
    rocket_generate_advanced_cache_file();
    // Create config file
    rocket_generate_config_file();
    // Update customer key & licence.
    wp_remote_get(WP_ROCKET_WEB_API . 'activate-licence.php', array('blocking' => false));
}
コード例 #4
0
ファイル: options.php プロジェクト: EliasGoldberg/troop-sim
function rocket_pre_main_option($newvalue, $oldvalue)
{
    if (isset($newvalue['purge_cron_interval'], $oldvalue['purge_cron_interval']) && $newvalue['purge_cron_interval'] != $oldvalue['purge_cron_interval'] || isset($newvalue['purge_cron_unit'], $oldvalue['purge_cron_unit']) && $newvalue['purge_cron_unit'] != $oldvalue['purge_cron_unit']) {
        // Clear WP Rocket cron
        if (wp_next_scheduled('rocket_purge_time_event')) {
            wp_clear_scheduled_hook('rocket_purge_time_event');
        }
    }
    // Regenerate the minify key if CSS files have been modified
    if (isset($newvalue['minify_css'], $oldvalue['minify_css']) && $newvalue['minify_css'] != $oldvalue['minify_css'] || isset($newvalue['exclude_css'], $oldvalue['exclude_css']) && $newvalue['exclude_css'] != $oldvalue['exclude_css'] || (isset($oldvalue['cdn']) && !isset($newvalue['cdn']) || !isset($oldvalue['cdn']) && isset($newvalue['cdn']))) {
        $newvalue['minify_css_key'] = create_rocket_uniqid();
    }
    // Regenerate the minify key if JS files have been modified
    if (isset($newvalue['minify_js'], $oldvalue['minify_js']) && $newvalue['minify_js'] != $oldvalue['minify_js'] || isset($newvalue['exclude_js'], $oldvalue['exclude_js']) && $newvalue['exclude_js'] != $oldvalue['exclude_js'] || isset($newvalue['minify_js_in_footer'], $oldvalue['minify_js_in_footer']) && $newvalue['minify_js_in_footer'] != $oldvalue['minify_js_in_footer'] || (isset($oldvalue['cdn']) && !isset($newvalue['cdn']) || !isset($oldvalue['cdn']) && isset($newvalue['cdn']))) {
        $newvalue['minify_js_key'] = create_rocket_uniqid();
    }
    // Save old CloudFlare settings
    if (isset($newvalue['cloudflare_auto_settings'], $oldvalue['cloudflare_auto_settings']) && $newvalue['cloudflare_auto_settings'] != $oldvalue['cloudflare_auto_settings'] && $newvalue['cloudflare_auto_settings'] == 1) {
        $cf_settings = get_rocket_cloudflare_settings();
        $cf_settings = array($cf_settings->cache_lvl, (int) $cf_settings->minify, !is_string($cf_settings->async) ? (int) $cf_settings->async : $cf_settings->async);
        $cf_settings = array_filter($cf_settings);
        $newvalue['cloudflare_old_settings'] = isset($cf_settings) ? implode(',', $cf_settings) : '';
    }
    if (!defined('WP_ROCKET_ADVANCED_CACHE')) {
        rocket_generate_advanced_cache_file();
    }
    if ($keys = get_transient(WP_ROCKET_SLUG)) {
        delete_transient(WP_ROCKET_SLUG);
        $newvalue = array_merge($newvalue, $keys);
    }
    return $newvalue;
}
コード例 #5
0
ファイル: admin.php プロジェクト: EliasGoldberg/troop-sim
function __rocket_maybe_generate_advanced_cache_file()
{
    if (!defined('WP_ROCKET_ADVANCED_CACHE') || defined('WP_ROCKET_ADVANCED_CACHE_PROBLEM') && WP_ROCKET_ADVANCED_CACHE_PROBLEM) {
        rocket_generate_advanced_cache_file();
    }
}