# wp-coder/3.1/classes/Update/UpdateDB.php

WP Coder – Insert &amp; Manage Code Snippets, version 3.1. 91 lines.

- Page: https://pluginprobe.com/plugins/wp-coder/3.1/code/classes/Update/UpdateDB.php
- Raw: https://pluginprobe.com/plugins/wp-coder/3.1/raw/classes/Update/UpdateDB.php
- Modified: 2023-11-13T09:37:16+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/wp-coder/3.1/code/classes/Update/UpdateDB.php#L10-L20`.

```php
<?php

namespace WPCoder\Update;

defined( 'ABSPATH' ) || exit;

use WPCoder\Dashboard\DBManager;
use WPCoder\WPCoder;

class UpdateDB {

	public static function init(): void {
		$current_db_version = get_option( WPCoder::PREFIX . '_db_version' );

		if ( $current_db_version && version_compare( $current_db_version, '3.0.5', '>=' ) ) {
			return;
		}

		self::updateDB();
		self::updateDBFields();

		update_option( WPCoder::PREFIX . '_db_version', '3.0.5' );
	}

	private static function updateDB(): void {
		global $wpdb;
		$table = $wpdb->prefix . WPCoder::PREFIX;

		$columns = "
			id mediumint(9) NOT NULL AUTO_INCREMENT,
			title VARCHAR(200) NOT NULL,
			html_code LONGTEXT,
			css_code LONGTEXT,
			js_code LONGTEXT,
			param LONGTEXT,
			status BOOLEAN,
			mode BOOLEAN,
			tag TEXT,
			UNIQUE KEY id (id)
			";
		require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );

		$sql = "CREATE TABLE $table ($columns) DEFAULT CHARACTER SET {$wpdb->charset} COLLATE {$wpdb->collate};";
		dbDelta( $sql );
	}

	private static function updateDBFields(): void {
		$results = DBManager::get_all_data();

		if ( ! empty( $results ) ) {
			foreach ( $results as $key => $val ) {
				$id    = $val->id;
				$title = $val->title;
				$param = maybe_unserialize( $val->param );

				$html_code = ! empty( $param['content_html'] ) ? $param['content_html'] : '';
				if ( ! empty ( $val->html_code ) ) {
					$html_code = $val->html_code;
				}
				$css_code = ! empty( $param['content_css'] ) ? $param['content_css'] : '';
				if ( ! empty ( $val->css_code ) ) {
					$css_code = $val->css_code;
				}

				$js_code = ! empty( $param['content_js'] ) ? $param['content_js'] : '';
				if ( ! empty ( $val->js_code ) ) {
					$js_code = $val->js_code;
				}

				$data = [
					'title'     => $title,
					'html_code' => $html_code,
					'css_code'  => $css_code,
					'js_code'   => $js_code,
					'status'    => 0,
					'mode'      => 0,
					'tag'       => '',
					'param'     => $val->param,
				];

				$where = [ 'id' => $id ];

				$data_formats = [ '%s', '%s', '%s', '%s', '%d', '%d', '%s', '%s' ];

				DBManager::update( $data, $where, $data_formats );
			}
		}
	}


}
```
