| @@ -4,16 +4,16 @@ | ||
| 4 | 4 | |
| 5 | 5 | defined( 'ABSPATH' ) || exit; |
| 6 | 6 | |
| 7 | 7 | use WPCoder\Dashboard\DBManager; |
| 8 | -use WPCoder\WOW_Plugin; | |
| 8 | +use WPCoder\WPCoder; | |
| 9 | 9 | |
| 10 | 10 | class UpdateDB { |
| 11 | 11 | |
| 12 | 12 | public static function init(): void { |
| 13 | - $current_db_version = get_option( WOW_Plugin::PREFIX . '_db_version' ); | |
| 13 | + $current_db_version = get_option( WPCoder::PREFIX . '_db_version' ); | |
| 14 | 14 | |
| 15 | - if ( $current_db_version && version_compare( $current_db_version, '3.0', '>=' ) ) { | |
| 15 | + if ( $current_db_version && version_compare( $current_db_version, '3.2', '>=' ) ) { | |
| 16 | 16 | return; |
| 17 | 17 | } |
| 18 | 18 | |
| 19 | 19 | self::updateDB(); |
| @@ -18,31 +18,30 @@ | ||
| 18 | 18 | |
| 19 | 19 | self::updateDB(); |
| 20 | 20 | self::updateDBFields(); |
| 21 | 21 | |
| 22 | - update_option( WOW_Plugin::PREFIX . '_db_version', '3.0' ); | |
| 23 | - | |
| 22 | + update_option( WPCoder::PREFIX . '_db_version', '3.2' ); | |
| 24 | 23 | } |
| 25 | 24 | |
| 26 | 25 | private static function updateDB(): void { |
| 27 | 26 | global $wpdb; |
| 28 | - $table = $wpdb->prefix . WOW_Plugin::PREFIX; | |
| 27 | + $table_name = $wpdb->prefix . WPCoder::PREFIX; | |
| 28 | + $charset_collate = $wpdb->get_charset_collate(); | |
| 29 | 29 | |
| 30 | - $columns = " | |
| 31 | - id mediumint(9) NOT NULL AUTO_INCREMENT, | |
| 32 | - title VARCHAR(200) NOT NULL, | |
| 33 | - html_code LONGTEXT, | |
| 34 | - css_code LONGTEXT, | |
| 35 | - js_code LONGTEXT, | |
| 36 | - param LONGTEXT, | |
| 37 | - status BOOLEAN, | |
| 38 | - mode BOOLEAN, | |
| 39 | - tag TEXT, | |
| 40 | - UNIQUE KEY id (id) | |
| 41 | - "; | |
| 30 | + $sql = "CREATE TABLE $table_name ( | |
| 31 | + id mediumint(9) NOT NULL AUTO_INCREMENT, | |
| 32 | + title VARCHAR(200) NOT NULL, | |
| 33 | + html_code LONGTEXT, | |
| 34 | + css_code LONGTEXT, | |
| 35 | + js_code LONGTEXT, | |
| 36 | + php_code LONGTEXT, | |
| 37 | + param LONGTEXT, | |
| 38 | + status BOOLEAN, | |
| 39 | + mode BOOLEAN, | |
| 40 | + tag TEXT, | |
| 41 | + PRIMARY KEY (id) | |
| 42 | + ) $charset_collate;"; | |
| 42 | 43 | require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); |
| 43 | - | |
| 44 | - $sql = "CREATE TABLE $table ($columns) DEFAULT CHARACTER SET {$wpdb->charset} COLLATE {$wpdb->collate};"; | |
| 45 | 44 | dbDelta( $sql ); |
| 46 | 45 | } |
| 47 | 46 | |
| 48 | 47 | private static function updateDBFields(): void { |
| @@ -49,15 +48,26 @@ | ||
| 49 | 48 | $results = DBManager::get_all_data(); |
| 50 | 49 | |
| 51 | 50 | if ( ! empty( $results ) ) { |
| 52 | 51 | foreach ( $results as $key => $val ) { |
| 53 | - $id = $val->id; | |
| 54 | - $title = $val->title; | |
| 55 | - $param = maybe_unserialize( $val->param ); | |
| 52 | + $id = $val->id; | |
| 53 | + $title = $val->title; | |
| 54 | + $param = maybe_unserialize( $val->param ); | |
| 55 | + | |
| 56 | 56 | $html_code = ! empty( $param['content_html'] ) ? $param['content_html'] : ''; |
| 57 | - $css_code = ! empty( $param['content_css'] ) ? $param['content_css'] : ''; | |
| 58 | - $js_code = ! empty( $param['content_js'] ) ? $param['content_js'] : ''; | |
| 57 | + if ( ! empty ( $val->html_code ) ) { | |
| 58 | + $html_code = $val->html_code; | |
| 59 | + } | |
| 60 | + $css_code = ! empty( $param['content_css'] ) ? $param['content_css'] : ''; | |
| 61 | + if ( ! empty ( $val->css_code ) ) { | |
| 62 | + $css_code = $val->css_code; | |
| 63 | + } | |
| 59 | 64 | |
| 65 | + $js_code = ! empty( $param['content_js'] ) ? $param['content_js'] : ''; | |
| 66 | + if ( ! empty ( $val->js_code ) ) { | |
| 67 | + $js_code = $val->js_code; | |
| 68 | + } | |
| 69 | + | |
| 60 | 70 | $data = [ |
| 61 | 71 | 'title' => $title, |
| 62 | 72 | 'html_code' => $html_code, |
| 63 | 73 | 'css_code' => $css_code, |
| @@ -64,13 +74,14 @@ | ||
| 64 | 74 | 'js_code' => $js_code, |
| 65 | 75 | 'status' => 0, |
| 66 | 76 | 'mode' => 0, |
| 67 | 77 | 'tag' => '', |
| 78 | + 'param' => $val->param, | |
| 68 | 79 | ]; |
| 69 | 80 | |
| 70 | 81 | $where = [ 'id' => $id ]; |
| 71 | 82 | |
| 72 | - $data_formats = [ '%s', '%s', '%s', '%s', '%d', '%d', '%s' ]; | |
| 83 | + $data_formats = [ '%s', '%s', '%s', '%s', '%d', '%d', '%s', '%s' ]; | |
| 73 | 84 | |
| 74 | 85 | DBManager::update( $data, $where, $data_formats ); |
| 75 | 86 | } |
| 76 | 87 | } |