PluginProbe
WP Mail Log / dev
WP Mail Log vdev
1.1.6 trunk 0.1 0.2 0.3 0.4 0.5 1.0 1.0.1 1.0.2 1.1.1 1.1.2 1.1.3 1.1.5 dev
wp-mail-log / classes / db-table.php

db-table.php in WP Mail Log dev, at classes/db-table.php

71 lines 1.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace WML\Classes;
4
5 /**
6 * Database Tables
7 *
8 * This class is to manage database table.
9 *
10 */
11
12 class DbTable {
13
14 private static $wml_db_version = '1.1';
15 /**
16 * This function fire on plugins_loaded action in bootstrap file.
17 *
18 * @access public
19 * @since 0.3
20 * @return void
21 */
22 public static function wml_plugin_activated() {
23
24 if ( get_option( 'wml_db_version' ) !== self::$wml_db_version ) {
25 self::create_db_table();
26 }
27 }
28
29 /**
30 * Create Database Table
31 *
32 * @return void
33 * @since 0.3
34 * @access public
35 */
36
37 public static function create_db_table() {
38 global $wpdb;
39 $table_name = $wpdb->prefix . 'wml_entries';
40
41 $wpdb_collate = $wpdb->collate;
42
43 $sql = "CREATE TABLE {$table_name} (
44 `id` int(11) PRIMARY KEY AUTO_INCREMENT NOT NULL,
45 `to_email` VARCHAR(100) NOT NULL,
46 `subject` VARCHAR(250) NOT NULL,
47 `message` TEXT NOT NULL,
48 `headers` TEXT NOT NULL,
49 `attachments` VARCHAR(50) NOT NULL,
50 `sent_date` VARCHAR(50) NOT NULL,
51 `captured_gmt` VARCHAR(50) NOT NULL,
52 `attachments_file` TEXT,
53 ) collate {$wpdb_collate};";
54
55 require_once ABSPATH . 'wp-admin/includes/upgrade.php';
56 dbDelta( $sql, true );
57
58 $db_version_update = true;
59
60 if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->prefix}wml_entries'" ) === null ) {
61 $db_version_update = false;
62 }
63
64 if ( $db_version_update ) {
65 update_option( 'wml_db_version', self::$wml_db_version );
66 } else {
67 update_option( 'wml_db_version', '0' );
68 }
69 }
70 }
71