PluginProbe
WP Coder – Insert & Manage Code Snippets / 4.1
WP Coder – Insert & Manage Code Snippets v4.1
4.5.1 1.1 2.3.1 2.3.2 2.4.1 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 3.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1 3.1.1 3.2 3.2.1 3.3 3.4 3.5 3.5.1 All 39 releases
← All changes | classes/Update/UpdateDB.php +29 -66 3.54.1 View file →
@@ -1,91 +1,54 @@
1 1 <?php
2 2
3 3 namespace WPCoder\Update;
4 4
5 -defined( 'ABSPATH' ) || exit;
6 -
7 -use WPCoder\Dashboard\DBManager;
8 5 use WPCoder\WPCoder;
9 6
10 7 class UpdateDB {
11 8
9 + const NEW_DB_VERSION = '3.6';
10 +
11 + const TABLE_COLUMNS = "
12 + id mediumint(9) NOT NULL AUTO_INCREMENT,
13 + title VARCHAR(200) NOT NULL,
14 + html_code LONGTEXT,
15 + css_code LONGTEXT,
16 + js_code LONGTEXT,
17 + php_code LONGTEXT,
18 + param LONGTEXT,
19 + status BOOLEAN,
20 + mode BOOLEAN,
21 + tag TEXT,
22 + php_include int(11) NOT NULL DEFAULT '0',
23 + UNIQUE KEY id (id),
24 + INDEX id_index (id)
25 + ";
26 +
12 27 public static function init(): void {
13 28 $current_db_version = get_option( WPCoder::PREFIX . '_db_version' );
14 29
15 - if ( $current_db_version && version_compare( $current_db_version, '3.2', '>=' ) ) {
30 + if ( $current_db_version && version_compare( $current_db_version, self::NEW_DB_VERSION, '>=' ) ) {
16 31 return;
17 32 }
18 33
19 - self::updateDB();
20 - self::updateDBFields();
34 + self::start_update();
35 + update_option( WPCoder::PREFIX . '_db_version', self::NEW_DB_VERSION );
36 + }
21 37
22 - update_option( WPCoder::PREFIX . '_db_version', '3.2' );
38 + private static function start_update(): void {
39 + self::update_database();
23 40 }
24 41
25 - private static function updateDB(): void {
42 + private static function update_database(): void {
26 43 global $wpdb;
27 - $table_name = $wpdb->prefix . WPCoder::PREFIX;
44 +
45 + $table = $wpdb->prefix . WPCoder::PREFIX;
28 46 $charset_collate = $wpdb->get_charset_collate();
29 47
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;";
43 48 require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
49 +
50 + $sql = "CREATE TABLE $table (" . self::TABLE_COLUMNS . ") $charset_collate;";
44 51 dbDelta( $sql );
45 52 }
46 -
47 - private static function updateDBFields(): void {
48 - $results = DBManager::get_all_data();
49 -
50 - if ( ! empty( $results ) ) {
51 - foreach ( $results as $key => $val ) {
52 - $id = $val->id;
53 - $title = $val->title;
54 - $param = maybe_unserialize( $val->param );
55 -
56 - $html_code = ! empty( $param['content_html'] ) ? $param['content_html'] : '';
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 - }
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 -
70 - $data = [
71 - 'title' => $title,
72 - 'html_code' => $html_code,
73 - 'css_code' => $css_code,
74 - 'js_code' => $js_code,
75 - 'status' => 0,
76 - 'mode' => 0,
77 - 'tag' => '',
78 - 'param' => $val->param,
79 - ];
80 -
81 - $where = [ 'id' => $id ];
82 -
83 - $data_formats = [ '%s', '%s', '%s', '%s', '%d', '%d', '%s', '%s' ];
84 -
85 - DBManager::update( $data, $where, $data_formats );
86 - }
87 - }
88 - }
89 -
90 53
91 54 }