/** * 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'); }
/** * 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); } }
/** * 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); } }