示例#1
0
 /**
  * Activate plugin action
  */
 function activate()
 {
     if (!$this->locked() && !@copy(W3TC_INSTALL_FILE_OBJECT_CACHE, W3TC_ADDIN_FILE_OBJECT_CACHE)) {
         w3_writable_error(W3TC_ADDIN_FILE_OBJECT_CACHE);
     }
     $this->schedule();
 }
示例#2
0
 /**
  * Activate plugin action
  */
 function activate()
 {
     require_once W3TC_INC_DIR . '/functions/activation.php';
     if ($this->_config->get_boolean('pgcache.enabled') && $this->_config->get_string('pgcache.engine') == 'file_generic') {
         /**
          * Disable enhanced mode if permalink structure is disabled
          */
         $permalink_structure = get_option('permalink_structure');
         if ($permalink_structure == '') {
             $this->_config->set('pgcache.engine', 'file');
             $this->_config->save();
         } else {
             if (w3_can_modify_rules(w3_get_pgcache_rules_core_path())) {
                 $this->write_rules_core();
             }
             if (w3_can_modify_rules(w3_get_pgcache_rules_cache_path())) {
                 $this->write_rules_cache();
             }
         }
     }
     if (!$this->locked()) {
         if (!@copy(W3TC_INSTALL_FILE_ADVANCED_CACHE, W3TC_ADDIN_FILE_ADVANCED_CACHE)) {
             w3_writable_error(W3TC_ADDIN_FILE_ADVANCED_CACHE);
         }
         if ((!defined('WP_CACHE') || !WP_CACHE) && !$this->enable_wp_cache()) {
             $reactivate_url = wp_nonce_url('plugins.php?action=activate&plugin=' . W3TC_FILE, 'activate-plugin_' . W3TC_FILE);
             $reactivate_button = sprintf('<input type="button" value="re-activate plugin" onclick="top.location.href = \'%s\'" />', addslashes($reactivate_url));
             $error = sprintf('<strong>%swp-config.php</strong> could not be written, please edit config and add:<br /><strong style="color:#f00;">define(\'WP_CACHE\', true);</strong> before <strong style="color:#f00;">require_once(ABSPATH . \'wp-settings.php\');</strong><br />then %s.', ABSPATH, $reactivate_button);
             w3_activate_error($error);
         }
     }
     $this->schedule();
     $this->schedule_prime();
 }
 /**
  * Activate plugin action
  */
 function activate()
 {
     if (!$this->update_wp_config()) {
         $error = sprintf('<strong>%swp-config.php</strong> could not be written, please edit config and add:<br /><strong style="color:#f00;">define(\'WP_CACHE\', true);</strong> before <strong style="color:#f00;">require_once(ABSPATH . \'wp-settings.php\');</strong><br />then re-activate plugin.', ABSPATH);
         w3_activate_error($error);
     }
     if ($this->_config->get_boolean('pgcache.enabled') && $this->_config->get_string('pgcache.engine') == 'file_pgcache') {
         /**
          * Disable enchanged mode if permalink structure is disabled
          */
         $permalink_structure = get_option('permalink_structure');
         if ($permalink_structure == '') {
             $this->_config->set('pgcache.engine', 'file');
             $this->_config->save();
         } else {
             if (!w3_is_wpmu() && !$this->write_rules_core()) {
                 w3_writable_error(ABSPATH . '.htaccess');
             }
             if (!$this->write_rules_cache()) {
                 w3_writable_error(W3TC_CACHE_FILE_PGCACHE_DIR . '/.htaccess');
             }
         }
     }
     if (!$this->locked()) {
         if (@copy(W3TC_INSTALL_DIR . '/advanced-cache.php', WP_CONTENT_DIR . '/advanced-cache.php')) {
             @chmod(WP_CONTENT_DIR . '/advanced-cache.php', 0644);
         } else {
             w3_writable_error(WP_CONTENT_DIR . '/advanced-cache.php');
         }
     }
     $this->schedule();
 }
示例#4
0
 /**
  * Activate plugin action (called by W3_PluginProxy)
  */
 function activate()
 {
     require_once W3TC_INC_DIR . '/functions/activation.php';
     if (!$this->locked() && !@copy(W3TC_INSTALL_FILE_OBJECT_CACHE, W3TC_ADDIN_FILE_OBJECT_CACHE)) {
         w3_writable_error(W3TC_ADDIN_FILE_OBJECT_CACHE);
     }
     $this->schedule();
 }
示例#5
0
文件: DbCache.php 项目: alx/SBek-Arak
 /**
  * Activate plugin action
  */
 function activate()
 {
     if (!$this->locked()) {
         $file_db = WP_CONTENT_DIR . '/db.php';
         if (@copy(W3TC_INSTALL_DIR . '/db.php', $file_db)) {
             @chmod($file_db, 0644);
         } else {
             w3_writable_error($file_db);
         }
     }
     $this->schedule();
 }
 /**
  * Activate plugin action
  */
 function activate()
 {
     require_once W3TC_INC_DIR . '/functions/activation.php';
     if (!@is_dir(W3TC_CONTENT_MINIFY_DIR) && !@mkdir(W3TC_CONTENT_MINIFY_DIR)) {
         w3_writable_error(W3TC_CONTENT_MINIFY_DIR);
     }
     $file_index = W3TC_CONTENT_MINIFY_DIR . '/index.php';
     if (!@copy(W3TC_INSTALL_MINIFY_DIR . '/index.php', $file_index)) {
         w3_writable_error($file_index);
     }
     if ($this->_config->get_boolean('minify.enabled') && $this->_config->get_boolean('minify.rewrite')) {
         if (w3_can_modify_rules(w3_get_minify_rules_core_path())) {
             $this->write_rules_core();
         }
         if ($this->_config->get_string('minify.engine') == 'file' && w3_can_modify_rules(w3_get_minify_rules_cache_path())) {
             $this->write_rules_cache();
         }
     }
     $this->schedule();
 }
 /**
  * Activate plugin action
  */
 function activate()
 {
     if (!is_dir(W3TC_CONTENT_MINIFY_DIR)) {
         if (@mkdir(W3TC_CONTENT_MINIFY_DIR, 0755)) {
             @chmod(W3TC_CONTENT_MINIFY_DIR, 0755);
         } else {
             w3_writable_error(W3TC_CONTENT_MINIFY_DIR);
         }
     }
     $file_index = W3TC_CONTENT_MINIFY_DIR . '/index.php';
     if (@copy(W3TC_INSTALL_MINIFY_DIR . '/index.php', $file_index)) {
         @chmod($file_index, 0644);
     } else {
         w3_writable_error($file_index);
     }
     if ($this->_config->get_boolean('minify.rewrite') && !$this->write_rules()) {
         w3_writable_error(W3TC_CONTENT_MINIFY_DIR . '/.htaccess');
     }
     $this->schedule();
 }
示例#8
0
文件: Cdn.php 项目: alx/SBek-Arak
 /**
  * Activation action
  */
 function activate()
 {
     global $wpdb;
     $upload_info = w3_upload_info();
     if (!$upload_info) {
         $upload_path = get_option('upload_path');
         $upload_path = trim($upload_path);
         if (empty($upload_path)) {
             echo 'Your store uploads folder is not available. Default WordPress directories will be created: <strong>wp-content/uploads/</strong>.<br />';
             $upload_path = WP_CONTENT_DIR . '/uploads';
         }
         w3_writable_error($upload_path);
     }
     $sql = sprintf('DROP TABLE IF EXISTS `%s%s`', $wpdb->prefix, W3TC_CDN_TABLE_QUEUE);
     $wpdb->query($sql);
     $sql = sprintf("CREATE TABLE IF NOT EXISTS `%s%s` (\r\n            `id` int(11) unsigned NOT NULL AUTO_INCREMENT,\r\n            `local_path` varchar(150) NOT NULL DEFAULT '',\r\n            `remote_path` varchar(150) NOT NULL DEFAULT '',\r\n            `command` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '1 - Upload, 2 - Delete',\r\n            `last_error` varchar(150) NOT NULL DEFAULT '',\r\n            `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',\r\n            PRIMARY KEY (`id`),\r\n            UNIQUE KEY `path` (`local_path`, `remote_path`),\r\n            KEY `date` (`date`)\r\n        ) /*!40100 CHARACTER SET latin1 */", $wpdb->prefix, W3TC_CDN_TABLE_QUEUE);
     $wpdb->query($sql);
     if (!$wpdb->result) {
         $error = sprintf('Unable to create table <strong>%s%s</strong>: %s', $wpdb->prefix, W3TC_CDN_TABLE_QUEUE, $wpdb->last_error);
         w3_activate_error($error);
     }
     $this->schedule();
 }
 /**
  * Activate plugin action
  *
  * @return void
  */
 function activate()
 {
     require_once W3TC_INC_DIR . '/functions/activation.php';
     /**
      * Disable buggy sitewide activation in WPMU and WP 3.0
      */
     if (w3_is_wpmu() && isset($_GET['sitewide']) || w3_is_multisite() && isset($_GET['networkwide'])) {
         w3_network_activate_error();
     }
     /**
      * Check installation files
      */
     $files = array(W3TC_INSTALL_FILE_ADVANCED_CACHE, W3TC_INSTALL_FILE_DB, W3TC_INSTALL_FILE_OBJECT_CACHE);
     $nonexistent_files = array();
     foreach ($files as $file) {
         if (!file_exists($file)) {
             $nonexistent_files[] = $file;
         }
     }
     if (count($nonexistent_files)) {
         $error = sprintf('Unfortunately core file(s): (<strong>%s</strong>) are missing, so activation will fail. Please re-start the installation process from the beginning.', implode(', ', $nonexistent_files));
         w3_activate_error($error);
     }
     if (!@is_dir(W3TC_CONTENT_DIR) && !@mkdir(W3TC_CONTENT_DIR)) {
         w3_writable_error(W3TC_CONTENT_DIR);
     }
     if (!@is_dir(W3TC_CACHE_FILE_DBCACHE_DIR) && !@mkdir(W3TC_CACHE_FILE_DBCACHE_DIR)) {
         w3_writable_error(W3TC_CACHE_FILE_DBCACHE_DIR);
     }
     if (!@is_dir(W3TC_CACHE_FILE_OBJECTCACHE_DIR) && !@mkdir(W3TC_CACHE_FILE_OBJECTCACHE_DIR)) {
         w3_writable_error(W3TC_CACHE_FILE_OBJECTCACHE_DIR);
     }
     if (!@is_dir(W3TC_CACHE_FILE_PGCACHE_DIR) && !@mkdir(W3TC_CACHE_FILE_PGCACHE_DIR)) {
         w3_writable_error(W3TC_CACHE_FILE_PGCACHE_DIR);
     }
     if (!@is_dir(W3TC_CACHE_FILE_MINIFY_DIR) && !@mkdir(W3TC_CACHE_FILE_MINIFY_DIR)) {
         w3_writable_error(W3TC_CACHE_FILE_MINIFY_DIR);
     }
     if (!@is_dir(W3TC_LOG_DIR) && !@mkdir(W3TC_LOG_DIR)) {
         w3_writable_error(W3TC_LOG_DIR);
     }
     if (!@is_dir(W3TC_TMP_DIR) && !@mkdir(W3TC_TMP_DIR)) {
         w3_writable_error(W3TC_TMP_DIR);
     }
     if (w3_is_network() && file_exists(W3TC_CONFIG_MASTER_PATH)) {
         /**
          * For multisite load master config
          */
         $this->_config->load_master();
         if (!$this->_config->save(false)) {
             w3_writable_error(W3TC_CONFIG_PATH);
         }
     } elseif (!file_exists(W3TC_CONFIG_PATH)) {
         /**
          * Set default settings
          */
         $this->_config->set_defaults();
         /**
          * If config doesn't exist enable preview mode
          */
         if (!$this->_config->save(true)) {
             w3_writable_error(W3TC_CONFIG_PREVIEW_PATH);
         }
     }
     /**
      * Save blognames into file
      */
     if (w3_is_network() && !w3_is_subdomain_install()) {
         if (!w3_save_blognames()) {
             w3_writable_error(W3TC_BLOGNAMES_PATH);
         }
     }
     delete_option('w3tc_request_data');
     add_option('w3tc_request_data', '', null, 'no');
 }
示例#10
0
 /**
  * Activate plugin action
  */
 function activate()
 {
     if (!is_dir(W3TC_CONTENT_DIR)) {
         if (@mkdir(W3TC_CONTENT_DIR, 0755)) {
             @chmod(W3TC_CONTENT_DIR, 0755);
         } else {
             w3_writable_error(W3TC_CONTENT_DIR);
         }
     }
     if (!is_dir(W3TC_CACHE_FILE_DBCACHE_DIR)) {
         if (@mkdir(W3TC_CACHE_FILE_DBCACHE_DIR, 0755)) {
             @chmod(W3TC_CACHE_FILE_DBCACHE_DIR, 0755);
         } else {
             w3_writable_error(W3TC_CACHE_FILE_DBCACHE_DIR);
         }
     }
     if (!is_dir(W3TC_CACHE_FILE_PGCACHE_DIR)) {
         if (@mkdir(W3TC_CACHE_FILE_PGCACHE_DIR, 0755)) {
             @chmod(W3TC_CACHE_FILE_PGCACHE_DIR, 0755);
         } else {
             w3_writable_error(W3TC_CACHE_FILE_PGCACHE_DIR);
         }
     }
     if (!is_dir(W3TC_CACHE_FILE_MINIFY_DIR)) {
         if (@mkdir(W3TC_CACHE_FILE_MINIFY_DIR, 0755)) {
             @chmod(W3TC_CACHE_FILE_MINIFY_DIR, 0755);
         } else {
             w3_writable_error(W3TC_CACHE_FILE_MINIFY_DIR);
         }
     }
     if (!is_dir(W3TC_LOG_DIR)) {
         if (@mkdir(W3TC_LOG_DIR, 0755)) {
             @chmod(W3TC_LOG_DIR, 0755);
         } else {
             w3_writable_error(W3TC_LOG_DIR);
         }
     }
     if (!is_dir(W3TC_TMP_DIR)) {
         if (@mkdir(W3TC_TMP_DIR, 0755)) {
             @chmod(W3TC_TMP_DIR, 0755);
         } else {
             w3_writable_error(W3TC_TMP_DIR);
         }
     }
     if (!$this->_config->get_integer('common.install')) {
         $this->_config->set('common.install', time());
     }
     if (w3_is_wpmu()) {
         $this->_config->load_master();
     }
     if (!$this->_config->save()) {
         w3_writable_error(W3TC_CONFIG_PATH);
     }
     delete_option('w3tc_request_data');
     add_option('w3tc_request_data', '', null, 'no');
     $this->link_update();
 }