ProShell v2.0
Dashboard
Server Info
Server: 158.106.128.192
PHP: 8.2.33
home
planet5
public_html
bansibaba.com
wp-includes
2026-09-15 00:41:10
Editing: MigrationAbstract.php
Cancel
Save Changes
<?php namespace WPMailSMTP; /** * Class MigrationAbstract helps migrate plugin options, DB tables and more. * * @since 3.0.0 */ abstract class MigrationAbstract { /** * Version of the latest migration. * * @since 3.0.0 */ const DB_VERSION = 1; /** * Option key where we save the current migration version. * * @since 3.0.0 */ const OPTION_NAME = 'wp_mail_smtp_migration_version'; /** * Option key where we save any errors while performing migration. * * @since 3.0.0 */ const ERROR_OPTION_NAME = 'wp_mail_smtp_migration_error'; /** * Current migration version, received from static::OPTION_NAME WP option * * @since 3.0.0 * * @var int */ protected $cur_ver; /** * Migration constructor. * * @since 3.0.0 */ public function __construct() { $this->cur_ver = static::get_current_version(); } /** * Initialize migration. * * @since 3.0.0 */ public function init() { $this->validate_db(); } /** * Whether migration is enabled. * * @since 3.0.0 * * @return bool */ public static function is_enabled() { return true; } /** * Static on purpose, to get current DB version without __construct() and validation. * * @since 3.0.0 * * @return int */ public static function get_current_version() { return (int) get_option( static::OPTION_NAME, 0 ); } /** * Check DB version and update to the latest one. * * @since 3.0.0 */ protected function validate_db() { if ( $this->cur_ver < static::DB_VERSION ) { $this->run( static::DB_VERSION ); } } /** * Update DB version in options table. * * @since 3.0.0 * * @param int $version Version number. */ protected function update_db_ver( $version = 0 ) { $version = (int) $version; if ( empty( $version ) ) { $version = static::DB_VERSION; } // Autoload it, because this value is checked all the time // and no need to request it separately from all autoloaded options. update_option( static::OPTION_NAME, $version, true ); } /** * Prevent running the same migration twice. * Run migration only when required. * * @since 3.0.0 * * @param int $version The current migration version. */ protected function maybe_required_older_migrations( $version ) { $version = (int) $version; if ( ( $version - $this->cur_ver ) > 1 ) { $this->run( $version - 1 ); } } /** * Actual migration launcher. * * @since 3.0.0 * * @param int $version The specified migration version to run. */ protected function run( $version ) { $version = (int) $version; if ( method_exists( $this, 'migrate_to_' . $version ) ) { $this->{'migrate_to_' . $version}(); } else { if ( WP::in_wp_admin() ) { $message = sprintf( /* translators: %1$s - the DB option name, %2$s - WP Mail SMTP, %3$s - error message. */ esc_html__( 'There was an error while upgrading the %1$s database. Please contact %2$s support with this information: %3$s.', 'wp-mail-smtp' ), static::OPTION_NAME, '<strong>WP Mail SMTP</strong>', '<code>migration from v' . static::get_current_version() . ' to v' . static::DB_VERSION . ' failed. Plugin version: v' . WPMS_PLUGIN_VER . '</code>' ); WP::add_admin_notice( $message, WP::ADMIN_NOTICE_ERROR ); } } } }
Upload Files
Cancel
Upload
Create New
Cancel
Create
Change Permissions
Cancel
Save
Change Date
Cancel
Save
Rename Item
Cancel
Save
Confirm Delete
Are you sure you want to delete the selected items?
Cancel
Delete