Give_DB_Comment_Meta::get_columns()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 8

Duplication

Lines 8
Ratio 100 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 0
dl 8
loc 8
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
 * Comments Meta DB class
4
 *
5
 * @package     Give
6
 * @subpackage  Classes/Give_DB_Comment_Meta
7
 * @copyright   Copyright (c) 2018, GiveWP
8
 * @license     https://opensource.org/licenses/gpl-license GNU Public License
9
 * @since       2.3.0
10
 */
11
12
// Exit if accessed directly.
13
if ( ! defined( 'ABSPATH' ) ) {
14
	exit;
15
}
16
17
/**
18
 * Class Give_DB_Comment_Meta
19
 *
20
 * This class is for interacting with the comment meta database table.
21
 *
22
 * @since 2.3.0
23
 */
24 View Code Duplication
class Give_DB_Comment_Meta extends Give_DB_Meta {
0 ignored issues
show
Duplication introduced by
This class seems to be duplicated in your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
25
	/**
26
	 * Meta supports.
27
	 *
28
	 * @since  2.3.0
29
	 * @access protected
30
	 * @var array
31
	 */
32
	protected $supports = array();
33
34
	/**
35
	 * Meta type
36
	 *
37
	 * @since  2.3.0
38
	 * @access protected
39
	 * @var bool
40
	 */
41
	protected $meta_type = 'give_comment';
42
43
	/**
44
	 * Give_DB_Comment_Meta constructor.
45
	 *
46
	 * @access  public
47
	 * @since   2.3.0
48
	 */
49
	public function __construct() {
50
		/* @var WPDB $wpdb */
51
		global $wpdb;
52
53
		$wpdb->give_commentmeta = $this->table_name = $wpdb->prefix . 'give_commentmeta';
54
		$this->primary_key      = 'meta_id';
55
		$this->version          = '1.0';
56
57
		parent::__construct();
58
	}
59
60
	/**
61
	 * Get table columns and data types.
62
	 *
63
	 * @access  public
64
	 * @since   2.3.0
65
	 *
66
	 * @return  array  Columns and formats.
67
	 */
68
	public function get_columns() {
69
		return array(
70
			'meta_id'         => '%d',
71
			'give_comment_id' => '%d',
72
			'meta_key'        => '%s',
0 ignored issues
show
introduced by
Detected usage of meta_key, possible slow query.
Loading history...
73
			'meta_value'      => '%s',
0 ignored issues
show
introduced by
Detected usage of meta_value, possible slow query.
Loading history...
74
		);
75
	}
76
77
	/**
78
	 * Delete all comment meta
79
	 *
80
	 * @since  2.3.0
81
	 * @access public
82
	 *
83
	 * @param int $comment_id
84
	 *
85
	 * @return bool
86
	 */
87
	public function delete_row( $comment_id = 0 ) {
88
		/* @var WPDB $wpdb */
89
		global $wpdb;
90
91
		// Row ID must be positive integer
92
		$comment_id = absint( $comment_id );
93
94
		if ( empty( $comment_id ) ) {
95
			return false;
96
		}
97
98
		if ( false === $wpdb->query( $wpdb->prepare( "DELETE FROM {$this->table_name} WHERE give_comment_id = %d", $comment_id ) ) ) {
0 ignored issues
show
introduced by
Usage of a direct database call is discouraged.
Loading history...
introduced by
Usage of a direct database call without caching is prohibited. Use wp_cache_get / wp_cache_set.
Loading history...
99
			return false;
100
		}
101
102
		return true;
103
	}
104
105
	/**
106
	 * Check if current id is valid
107
	 *
108
	 * @since  2.3.0
109
	 * @access protected
110
	 *
111
	 * @param $ID
112
	 *
113
	 * @return bool
114
	 */
115
	protected function is_valid_post_type( $ID ) {
116
		return $ID && true;
117
	}
118
}
119