From 83f12e99e595b97c72f4eb77833ca652d5219b6b Mon Sep 17 00:00:00 2001 From: yehuda Date: Mon, 4 Mar 2019 17:53:45 +0200 Subject: * start switch to custom db * remove blog_id notice --- Postman/PostmanLogMeta.php | 76 ++++++++++++++++++++++++++++++++++++++++++++++ Postman/PostmanOptions.php | 3 +- 2 files changed, 77 insertions(+), 2 deletions(-) create mode 100644 Postman/PostmanLogMeta.php diff --git a/Postman/PostmanLogMeta.php b/Postman/PostmanLogMeta.php new file mode 100644 index 0000000..8a05b3a --- /dev/null +++ b/Postman/PostmanLogMeta.php @@ -0,0 +1,76 @@ +log_meta_type}_{$wpdb->prefix}_{$this->log_meta_type}` (
 + `meta_id` bigint(20) NOT NULL AUTO_INCREMENT,
 + `post_smtp_id` bigint(20) NOT NULL DEFAULT '0',
 + `meta_key` varchar(255) DEFAULT NULL,
 `meta_value` longtext,
 + PRIMARY KEY (`meta_id`),
 + KEY `post_smtp_id` (`post_smtp_id`),
 + KEY `meta_key` (`meta_key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
"; + + dbDelta( $sql ); + } + + function migrate_data() { + $args = array( + 'post_type' => 'postman_sent_mail', + 'posts_per_page' => -1, + ); + + $logs = new WP_Query($args); + + $failed_records = 0; + foreach ( $logs->posts as $log ) { + + foreach ( $this->meta_fields as $key ) { + $value = $this->get_meta( $log->ID, $key, true ); + + if ( $this->add_meta( $log->ID, $key, $value ) ) { + delete_post_meta( $log->ID, $key ); + } else { + $failed_records++; + } + } + } + } + + function add_meta( $post_id = 0, $meta_key = '', $meta_value = '' ) { + return add_metadata( $this->log_meta_type, $post_id, $meta_key, $meta_value ); + } + + function update_meta( $post_id = 0, $meta_key = '', $meta_value = '' ) { + return update_metadata( $this->log_meta_type, $post_id, $meta_key, $meta_value ); + } + + function get_meta( $post_id = 0, $meta_key = '', $single = false ) { + return get_metadata( $this->log_meta_type, $post_id, $meta_key, $single ); + } + + function delete_meta( $post_id = 0, $meta_key = '' ) { + return delete_metadata( $this->log_meta_type, $post_id, $meta_key ); + } + +} \ No newline at end of file diff --git a/Postman/PostmanOptions.php b/Postman/PostmanOptions.php index b6eaaf4..af88b18 100644 --- a/Postman/PostmanOptions.php +++ b/Postman/PostmanOptions.php @@ -174,10 +174,9 @@ if ( ! class_exists( 'PostmanOptions' ) ) { if ( is_multisite() ) { $network_options = get_site_option( self::POSTMAN_NETWORK_OPTIONS ); + $blog_id = get_current_blog_id(); if ( isset( $network_options['post_smtp_global_settings'] ) ) { $blog_id = apply_filters( 'post_smtp_default_site_option', 1 ); - } elseif ( $options && isset( $network_options['post_smtp_allow_overwrite'] ) ) { - $blog_id = get_current_blog_id(); } switch_to_blog($blog_id); -- cgit v1.2.3