Code Duplication    Length = 95-95 lines in 2 locations

includes/class-give-db-form-meta.php 1 location

@@ 24-118 (lines=95) @@
21
 *
22
 * @since 2.0
23
 */
24
class Give_DB_Form_Meta extends Give_DB_Meta {
25
	/**
26
	 * Post type
27
	 *
28
	 * @since  2.0
29
	 * @access protected
30
	 * @var bool
31
	 */
32
	protected $post_type = 'give_forms';
33
34
	/**
35
	 * Meta type
36
	 *
37
	 * @since  2.0
38
	 * @access protected
39
	 * @var bool
40
	 */
41
	protected $meta_type = 'form';
42
43
	/**
44
	 * Give_DB_Form_Meta constructor.
45
	 *
46
	 * @access  public
47
	 * @since   2.0
48
	 */
49
	public function __construct() {
50
		/* @var WPDB $wpdb */
51
		global $wpdb;
52
53
		$wpdb->formmeta    = $this->table_name = $wpdb->prefix . 'give_formmeta';
54
		$this->primary_key = 'meta_id';
55
		$this->version     = '1.0';
56
57
		$this->register_table();
58
59
		parent::__construct();
60
	}
61
62
	/**
63
	 * Get table columns and data types.
64
	 *
65
	 * @access  public
66
	 * @since   2.0
67
	 *
68
	 * @return  array  Columns and formats.
69
	 */
70
	public function get_columns() {
71
		return array(
72
			'meta_id'    => '%d',
73
			'form_id'    => '%d',
74
			'meta_key'   => '%s',
75
			'meta_value' => '%s',
76
		);
77
	}
78
79
	/**
80
	 * Create the table
81
	 *
82
	 * @access public
83
	 * @since  2.0
84
	 *
85
	 * @return void
86
	 */
87
	public function create_table() {
88
		global $wpdb;
89
90
		$charset_collate = $wpdb->get_charset_collate();
91
92
		$sql = "CREATE TABLE {$this->table_name} (
93
			meta_id bigint(20) NOT NULL AUTO_INCREMENT,
94
			form_id bigint(20) NOT NULL,
95
			meta_key varchar(255) DEFAULT NULL,
96
			meta_value longtext,
97
			PRIMARY KEY  (meta_id),
98
			KEY form_id (form_id),
99
			KEY meta_key (meta_key)
100
			) {$charset_collate};";
101
102
		require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
103
		dbDelta( $sql );
104
105
		update_option( $this->table_name . '_db_version', $this->version );
106
	}
107
108
	/**
109
	 * check if custom meta table enabled or not.
110
	 *
111
	 * @since  2.0
112
	 * @access protected
113
	 * @return bool
114
	 */
115
	protected function is_custom_meta_table_active() {
116
		return give_has_upgrade_completed( 'v20_move_metadata_into_new_table' );
117
	}
118
}
119

includes/class-give-db-payment-meta.php 1 location

@@ 24-118 (lines=95) @@
21
 *
22
 * @since 2.0
23
 */
24
class Give_DB_Payment_Meta extends Give_DB_Meta {
25
	/**
26
	 * Post type
27
	 *
28
	 * @since  2.0
29
	 * @access protected
30
	 * @var bool
31
	 */
32
	protected $post_type = 'give_payment';
33
34
	/**
35
	 * Meta type
36
	 *
37
	 * @since  2.0
38
	 * @access protected
39
	 * @var bool
40
	 */
41
	protected $meta_type = 'payment';
42
43
	/**
44
	 * Give_DB_Payment_Meta constructor.
45
	 *
46
	 * @access  public
47
	 * @since   2.0
48
	 */
49
	public function __construct() {
50
		/* @var WPDB $wpdb */
51
		global $wpdb;
52
53
		$wpdb->paymentmeta = $this->table_name = $wpdb->prefix . 'give_paymentmeta';
54
		$this->primary_key = 'meta_id';
55
		$this->version     = '1.0';
56
57
		$this->register_table();
58
59
		parent::__construct();
60
	}
61
62
	/**
63
	 * Get table columns and data types.
64
	 *
65
	 * @access  public
66
	 * @since   2.0
67
	 *
68
	 * @return  array  Columns and formats.
69
	 */
70
	public function get_columns() {
71
		return array(
72
			'meta_id'    => '%d',
73
			'payment_id' => '%d',
74
			'meta_key'   => '%s',
75
			'meta_value' => '%s',
76
		);
77
	}
78
79
	/**
80
	 * Create the table
81
	 *
82
	 * @access public
83
	 * @since  2.0
84
	 *
85
	 * @return void
86
	 */
87
	public function create_table() {
88
		global $wpdb;
89
90
		$charset_collate = $wpdb->get_charset_collate();
91
92
		$sql = "CREATE TABLE {$this->table_name} (
93
			meta_id bigint(20) NOT NULL AUTO_INCREMENT,
94
			payment_id bigint(20) NOT NULL,
95
			meta_key varchar(255) DEFAULT NULL,
96
			meta_value longtext,
97
			PRIMARY KEY  (meta_id),
98
			KEY payment_id (payment_id),
99
			KEY meta_key (meta_key)
100
			) {$charset_collate};";
101
102
		require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
103
		dbDelta( $sql );
104
105
		update_option( $this->table_name . '_db_version', $this->version );
106
	}
107
108
	/**
109
	 * check if custom meta table enabled or not.
110
	 *
111
	 * @since  2.0
112
	 * @access protected
113
	 * @return bool
114
	 */
115
	protected function is_custom_meta_table_active() {
116
		return give_has_upgrade_completed( 'v20_move_metadata_into_new_table' );
117
	}
118
}
119