PluginProbe
WP Coder – Insert & Manage Code Snippets / 3.1
WP Coder – Insert & Manage Code Snippets v3.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
wp-coder / classes / Update / UpdateDB.php

UpdateDB.php in WP Coder – Insert & Manage Code Snippets 3.1, at classes/Update/UpdateDB.php

91 lines 2.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace WPCoder\Update;
4
5 defined( 'ABSPATH' ) || exit;
6
7 use WPCoder\Dashboard\DBManager;
8 use WPCoder\WPCoder;
9
10 class UpdateDB {
11
12 public static function init(): void {
13 $current_db_version = get_option( WPCoder::PREFIX . '_db_version' );
14
15 if ( $current_db_version && version_compare( $current_db_version, '3.0.5', '>=' ) ) {
16 return;
17 }
18
19 self::updateDB();
20 self::updateDBFields();
21
22 update_option( WPCoder::PREFIX . '_db_version', '3.0.5' );
23 }
24
25 private static function updateDB(): void {
26 global $wpdb;
27 $table = $wpdb->prefix . WPCoder::PREFIX;
28
29 $columns = "
30 id mediumint(9) NOT NULL AUTO_INCREMENT,
31 title VARCHAR(200) NOT NULL,
32 html_code LONGTEXT,
33 css_code LONGTEXT,
34 js_code LONGTEXT,
35 param LONGTEXT,
36 status BOOLEAN,
37 mode BOOLEAN,
38 tag TEXT,
39 UNIQUE KEY id (id)
40 ";
41 require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
42
43 $sql = "CREATE TABLE $table ($columns) DEFAULT CHARACTER SET {$wpdb->charset} COLLATE {$wpdb->collate};";
44 dbDelta( $sql );
45 }
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
91 }