function post_update() { $currentVersion = get_site_option('mainwp_db_version'); if ($currentVersion === false) { return; } if (version_compare($currentVersion, '2.8', '<')) { $this->wpdb->update($this->tableName('wp_backup'), array('subfolder' => 'MainWP Backups/%url%/%type%/%date%'), array('template' => '0')); } if (version_compare($currentVersion, '4.3', '<')) { $row = $this->wpdb->get_row('SELECT * FROM ' . $this->tableName('users'), OBJECT); if ($row != null) { $row->userid = 0; $this->updateUserExtension($row); } } if (version_compare($currentVersion, '5.3', '<')) { if (MainWP_System::Instance()->isSingleUser()) { $row = $this->wpdb->get_row('SELECT * FROM ' . $this->tableName('ga'), OBJECT); $this->wpdb->update($this->tableName('ga'), array('userid' => 0), array('userid' => $row->userid)); } } if (version_compare($currentVersion, '6.0', '=')) { $this->wpdb->query('ALTER TABLE ' . $this->tableName('request_log') . ' CHANGE micro_timestamp_stop micro_timestamp_stop DECIMAL( 12, 2 ) NOT NULL DEFAULT 0'); $this->wpdb->query('ALTER TABLE ' . $this->tableName('request_log') . ' CHANGE micro_timestamp_start micro_timestamp_start DECIMAL( 12, 2 ) NOT NULL DEFAULT 0'); $this->wpdb->query('DELETE FROM ' . $this->tableName('request_log') . ' WHERE 1 '); } if (version_compare($currentVersion, '6.2', '<')) { $options = array('mainwp_db_version', 'mainwp_requests', 'mainwp_plugin_version', 'mainwp_upgradeVersionInfo', 'mainwp_cron_last_offlinecheck', 'mainwp_cron_last_updatescheck', 'mainwp_automaticUpdate_backupChecks', 'mainwp_updatescheck_mail_update_core_new', 'mainwp_updatescheck_mail_update_plugins_new', 'mainwp_updatescheck_mail_update_themes_new', 'mainwp_updatescheck_mail_update_core', 'mainwp_updatescheck_mail_update_plugins', 'mainwp_updatescheck_mail_update_themes', 'mainwp_updatescheck_mail_ignore_core', 'mainwp_updatescheck_mail_ignore_plugins', 'mainwp_updatescheck_mail_ignore_themes', 'mainwp_updatescheck_mail_ignore_core_new', 'mainwp_updatescheck_mail_ignore_plugins_new', 'mainwp_updatescheck_mail_ignore_themes_new', 'mainwp_updatescheck_mail_pluginconflicts', 'mainwp_updatescheck_mail_themeconflicts', 'mainwp_updatescheck_last', 'mainwp_updatescheck_mail_email', 'mainwp_cron_last_ping', 'mainwp_cron_last_cronconflicts', 'mainwp_pluginConflicts', 'mainwp_themeConflicts', 'mainwp_cron_last_backups_continue', 'mainwp_cron_last_backups', 'mainwp_cron_last_stats', 'mainwp_backupsOnServer', 'mainwp_maximumFileDescriptors', 'mainwp_backupOnExternalSources', 'mainwp_notificationOnBackupFail', 'mainwp_notificationOnBackupStart', 'mainwp_chunkedBackupTasks', 'mainwp_maximumRequests', 'mainwp_minimumDelay', 'mainwp_maximumIPRequests', 'mainwp_minimumIPDelay', 'mainwp_extensions', 'mainwp_extloaded', 'mainwp_api_username', 'mainwp_api_password', 'mainwp_extension_widget_view', 'mainwp_news', 'mainwp_news_timestamp', 'mainwp_optimize', 'mainwp_seo', 'mainwp_automaticDailyUpdate', 'mainwp_backup_before_upgrade', 'mainwp_maximumPosts', 'mainwp_maximumComments', 'mainwp_cron_jobs', 'mainwp_wp_cron'); foreach ($options as $option) { MainWP_Utility::fix_option($option); } } if (version_compare($currentVersion, '7.3', '<')) { //get all sites $sites = $this->wpdb->get_results('SELECT id FROM ' . $this->tableName('wp')); if (!empty($sites)) { foreach ($sites as $site) { $this->wpdb->insert($this->tableName('wp_settings_backup'), array('wpid' => $site->id, 'archiveFormat' => 'global')); } } } if (version_compare($currentVersion, '8', '<')) { $apiPass = get_option('mainwp_api_password'); MainWP_Utility::update_option('mainwp_api_password', MainWP_Utility::encrypt($apiPass, 'MainWPAPI')); } if (version_compare($currentVersion, '8.1', '<')) { //We can't split up here! $wpSyncColumns = array('version', 'totalsize', 'dbsize', 'extauth', 'last_post_gmt', 'uptodate', 'sync_errors', 'dtsSync', 'dtsSyncStart', 'dtsAutomaticSync', 'dtsAutomaticSyncStart'); foreach ($wpSyncColumns as $wpSyncColumn) { $rslts = $this->wpdb->get_results('SELECT id,' . $wpSyncColumn . ' FROM ' . $this->tableName('wp'), ARRAY_A); if (empty($rslts)) { continue; } foreach ($rslts as $rslt) { $exists = $this->wpdb->get_results('SELECT wpid FROM ' . $this->tableName('wp_sync') . ' WHERE wpid = ' . $rslt['id'], ARRAY_A); if (empty($exists)) { $this->wpdb->insert($this->tableName('wp_sync'), array('wpid' => $rslt['id'], $wpSyncColumn => $rslt[$wpSyncColumn])); } else { $this->wpdb->update($this->tableName('wp_sync'), array($wpSyncColumn => $rslt[$wpSyncColumn]), array('wpid' => $rslt['id'])); } } $suppress = $this->wpdb->suppress_errors(); $this->wpdb->query('ALTER TABLE ' . $this->tableName('wp') . ' DROP COLUMN ' . $wpSyncColumn); $this->wpdb->suppress_errors($suppress); } $optionColumns = array('last_wp_upgrades', 'last_plugin_upgrades', 'last_theme_upgrades', 'wp_upgrades', 'recent_comments', 'recent_posts', 'recent_pages'); foreach ($optionColumns as $optionColumn) { $rslts = $this->wpdb->get_results('SELECT id,' . $optionColumn . ' FROM ' . $this->tableName('wp'), ARRAY_A); if (empty($rslts)) { continue; } foreach ($rslts as $rslt) { MainWP_DB::updateWebsiteOption((object) $rslt, $optionColumn, $rslt[$optionColumn]); } $suppress = $this->wpdb->suppress_errors(); $this->wpdb->query('ALTER TABLE ' . $this->tableName('wp') . ' DROP COLUMN ' . $optionColumn); $this->wpdb->suppress_errors($suppress); } } }
public static function encrypt_string($str) { return MainWP_Utility::encrypt($str, self::$ENCRYPT); }