/** * Execute upgrade for version after 4.0 * * @since 4.0.6 * * @return void */ public function execute_upgrade() { global $itsec_globals; //require plugin setup information if (!class_exists('ITSEC_Setup')) { require trailingslashit($itsec_globals['plugin_dir']) . 'core/class-itsec-setup.php'; } new ITSEC_Setup('upgrade', $itsec_globals['data']['build']); //run upgrade scripts $itsec_modules = ITSEC_Modules::get_instance(); $itsec_modules->run_activation(); }
/** * Execute module upgrade * * @return void */ public function execute_upgrade($itsec_old_version) { if ($itsec_old_version < 4000) { global $itsec_bwps_options; $current_options = get_site_option('itsec_ban_users'); // Don't do anything if settings haven't already been set, defaults exist in the module system and we prefer to use those if (false !== $current_options) { $current_options['enabled'] = isset($itsec_bwps_options['bu_enabled']) && $itsec_bwps_options['bu_enabled'] == 1 ? true : false; $current_options['default'] = isset($itsec_bwps_options['bu_blacklist']) && $itsec_bwps_options['bu_blacklist'] == 1 ? true : false; if (isset($itsec_bwps_options['bu_banlist']) && !is_array($itsec_bwps_options['bu_banlist']) && strlen($itsec_bwps_options['bu_banlist']) > 1) { $raw_hosts = explode(PHP_EOL, $itsec_bwps_options['bu_banlist']); foreach ($raw_hosts as $host) { if (strlen($host) > 1) { $current_options['host_list'][] = $host; } } } if (isset($itsec_bwps_options['bu_banagent']) && !is_array($itsec_bwps_options['bu_banagent']) && strlen($itsec_bwps_options['bu_banagent']) > 1) { $current_options['agent_list'] = explode(PHP_EOL, $itsec_bwps_options['bu_banagent']); $raw_agents = explode(PHP_EOL, $itsec_bwps_options['bu_banagent']); foreach ($raw_agents as $agent) { if (strlen($agent) > 1) { $current_options['agent_list'][] = $agent; } } } update_site_option('itsec_ban_users', $current_options); ITSEC_Response::regenerate_server_config(); } } if ($itsec_old_version < 4027) { ITSEC_Response::regenerate_server_config(); } if ($itsec_old_version < 4041) { $current_options = get_site_option('itsec_ban_users'); // If there are no current options, go with the new defaults by not saving anything if (is_array($current_options)) { $itsec_modules = ITSEC_Modules::get_instance(); // 'enable_ban_lists' was previously just 'enabled' // Make sure the new module is properly activated or deactivated if ($current_options['enabled']) { ITSEC_Modules::activate('backup'); $current_options['enable_ban_lists'] = true; } else { ITSEC_Modules::deactivate('backup'); $current_options['enable_ban_lists'] = false; } unset($current_options['enabled']); // Filter out invalid IPs $current_options['host_list'] = array_map('trim', $current_options['host_list']); if (!class_exists('ITSEC_Lib_IP_Tools')) { require_once ITSEC_Core::get_core_dir() . '/lib/class-itsec-lib-ip-tools.php'; } foreach ($current_options['host_list'] as $index => $ip) { if ('' === $ip || false === ITSEC_Lib_IP_Tools::ip_wild_to_ip_cidr($ip)) { unset($current_options['host_list'][$index]); } } $itsec_modules->set_settings('ban-users', $current_options); } } }
/** * Deactivate execution * * @since 4.0 * * @return void * */ private function deactivate_execute() { global $itsec_globals, $itsec_files, $wpdb; wp_clear_scheduled_hook('itsec_purge_lockouts'); require_once trailingslashit($itsec_globals['plugin_dir']) . 'core/class-itsec-modules.php'; $itsec_modules = ITSEC_Modules::get_instance(); $itsec_modules->run_deactivation(); $itsec_files->do_deactivate(); delete_site_option('itsec_flush_old_rewrites'); delete_site_option('itsec_manual_update'); delete_site_option('itsec_rewrites_changed'); delete_site_option('itsec_config_changed'); delete_site_option('itsec_had_other_version'); delete_site_option('itsec_no_file_lock_release'); delete_site_option('itsec_clear_login'); delete_site_option('itsec_temp_whitelist_ip'); delete_site_option('itsec_api_nag'); delete_site_transient('ITSEC_SHOW_WRITE_FILES_TOOLTIP'); delete_site_transient('itsec_upload_dir'); delete_site_transient('itsec_notification_running'); wp_clear_scheduled_hook('itsec_digest_email'); $htaccess = ITSEC_Lib::get_htaccess(); //Make sure we can write to the file $perms = substr(sprintf('%o', @fileperms($htaccess)), -4); if ($perms == '0444') { @chmod($htaccess, 0664); } flush_rewrite_rules(); //reset file permissions if we changed them if ($perms == '0444') { @chmod($htaccess, 0444); } ITSEC_Lib::clear_caches(); }
/** * Execute upgrade for version after 4.0 * * @since 4.0.6 * * @return void */ public function execute_upgrade($current_data_build = false) { global $itsec_globals; $this->doing_data_upgrade = true; //require plugin setup information if (!class_exists('ITSEC_Setup')) { require self::get_core_dir() . '/class-itsec-setup.php'; } if (empty($current_data_build)) { $current_data_build = $itsec_globals['data']['build']; } new ITSEC_Setup('upgrade', $current_data_build); //run upgrade scripts $itsec_modules = ITSEC_Modules::get_instance(); $itsec_modules->run_activation(); }
$this->load_module_file('setup.php'); do_action('itsec_modules_do_plugin_upgrade', $old_version, $new_version); } public function load_settings_page() { if ($this->_settings_files_loaded) { return; } $modules = $this->get_available_modules(); foreach ($modules as $path) { include "{$path}/settings.php"; } $this->_settings_files_loaded = true; } } ITSEC_Modules::get_instance(); abstract class ITSEC_Module_Init { protected $_id = ''; protected $_name = ''; protected $_desc = ''; public function get_id() { return $this->_id; } public function get_name() { return $this->_name; } public function get_desc() {
/** * Execute setup script for each module installed * * @return void */ function do_modules() { $itsec_modules = ITSEC_Modules::get_instance(); $itsec_modules->run_activation(); }