PluginProbe
WP Coder – Insert & Manage Code Snippets / 3.3
WP Coder – Insert & Manage Code Snippets v3.3
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.3, at classes/Update/UpdateDB.php

91 lines 2.2 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.2', '>=' ) ) {
16 return;
17 }
18
19 self::updateDB();
20 self::updateDBFields();
21
22 update_option( WPCoder::PREFIX . '_db_version', '3.2' );
23 }
24
25 private static function updateDB(): void {
26 global $wpdb;
27 $table_name = $wpdb->prefix . WPCoder::PREFIX;
28 $charset_collate = $wpdb->get_charset_collate();
29
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 require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
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 }