コード例 #1
0
 /**
  * Activate plugin action
  *
  * @return void
  */
 function activate($network_wide)
 {
     w3_require_once(W3TC_INC_DIR . '/functions/activation.php');
     if (w3_is_network()) {
         if ($network_wide) {
             // we are in network activation
         } else {
             if ($_GET['action'] == 'error_scrape' && strpos($_SERVER['REQUEST_URI'], '/network/') !== false) {
                 // workaround for error_scrape page called after error
                 // really we are in network activation and going to throw some error
             } else {
                 echo 'Please <a href="' . network_admin_url('plugins.php') . '">network activate</a> W3 Total Cache when using WordPress Multisite.';
                 die;
             }
         }
     }
     /**
      * Create cache folder and extension files
      */
     try {
         w3_activation_create_required_files();
         if (!$this->_config->own_config_exists()) {
             $this->_config->save();
         }
         // save admin config
         $admin_config = w3_instance('W3_ConfigAdmin');
         if (!$admin_config->own_config_exists()) {
             $admin_config->save();
         }
     } catch (Exception $e) {
         w3_activation_error_on_exception($e);
     }
     delete_option('w3tc_request_data');
     add_option('w3tc_request_data', '', null, 'no');
 }
コード例 #2
0
/**
 * W3 writable error
 *
 * @param string $path
 * @return string
 */
function w3_writable_error($path)
{
    $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));
    try {
        w3_throw_on_write_error($path);
    } catch (Exception $e) {
        w3_activation_error_on_exception($e);
    }
}
コード例 #3
0
 /**
  * Activate plugin action
  *
  * @param bool $network_wide
  * @return void
  */
 function activate($network_wide)
 {
     w3_require_once(W3TC_INC_DIR . '/functions/activation.php');
     // decline non-network activation at WPMU
     if (w3_is_network()) {
         if ($network_wide) {
             // we are in network activation
         } else {
             if ($_GET['action'] == 'error_scrape' && strpos($_SERVER['REQUEST_URI'], '/network/') !== false) {
                 // workaround for error_scrape page called after error
                 // really we are in network activation and going to throw some error
             } else {
                 echo 'Please <a href="' . network_admin_url('plugins.php') . '">network activate</a> W3 Total Cache when using WordPress Multisite.';
                 die;
             }
         }
     }
     try {
         $e = w3_instance('W3_AdminEnvironment');
         /**
          * @var W3_Config $config
          */
         $config = w3_instance('W3_Config');
         $e->fix_on_event($config, 'activate');
         w3_instance('W3_AdminLinks')->link_update($config);
         // try to save config file if needed, optional thing so exceptions
         // hidden
         if (!$config->own_config_exists()) {
             try {
                 // create folders
                 $e->fix_in_wpadmin($config);
             } catch (Exception $ex) {
             }
             try {
                 $config_admin = w3_instance('W3_ConfigAdmin');
                 $config->import_legacy_config();
                 w3_require_once(W3TC_INC_FUNCTIONS_DIR . '/admin.php');
                 w3_config_save(w3_instance('W3_Config'), $config, $config_admin);
             } catch (Exception $ex) {
             }
         }
     } catch (Exception $e) {
         w3_activation_error_on_exception($e);
     }
 }