| Server IP : 194.61.116.167 / Your IP : 216.73.217.84 Web Server : Apache/2 System : Linux nimbus2000.evosiber.com 5.14.0-503.11.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Nov 12 09:26:13 EST 2024 x86_64 User : evoplastik ( 1130) PHP Version : 8.1.34 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/evoplastik/public_html/wp-content/plugins/wp-mail-smtp/src/Queue/ |
Upload File : |
<?php
namespace WPMailSMTP\Queue;
use WPMailSMTP\MigrationAbstract;
/**
* Class Migration.
*
* @since 4.0.0
*/
class Migration extends MigrationAbstract {
/**
* Version of the database table(s) for queue functionality.
*
* @since 4.0.0
*/
const DB_VERSION = 1;
/**
* Option key where we save the current DB version for queue functionality.
*
* @since 4.0.0
*/
const OPTION_NAME = 'wp_mail_smtp_queue_db_version';
/**
* Option key where we save any errors while creating the queue DB table.
*
* @since 4.0.0
*/
const ERROR_OPTION_NAME = 'wp_mail_smtp_queue_db_error';
/**
* Whether the queue is enabled.
*
* @since 4.0.0
*
* @return bool
*/
public static function is_enabled() {
return wp_mail_smtp()->get_queue()->is_enabled();
}
/**
* Initial migration - create the table structure.
*
* @since 4.0.0
*/
protected function migrate_to_1() {
global $wpdb;
$table = Queue::get_table_name();
$collate = ! empty( $wpdb->collate ) ? "COLLATE='{$wpdb->collate}'" : '';
/*
* Create the table.
*/
$sql = "
CREATE TABLE `$table` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`data` LONGTEXT NULL,
`status` TINYINT UNSIGNED NOT NULL DEFAULT '0',
`date_enqueued` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`date_processed` TIMESTAMP NULL,
PRIMARY KEY (id),
INDEX status (status),
INDEX date_processed (date_processed)
)
ENGINE='InnoDB'
{$collate};";
$result = $wpdb->query( $sql ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.DirectDatabaseQuery.NoCaching
if ( ! empty( $wpdb->last_error ) ) {
update_option( self::ERROR_OPTION_NAME, $wpdb->last_error, false );
}
// Save the current version to DB.
if ( $result !== false ) {
$this->update_db_ver( 1 );
}
}
}