Passed
Push — master ( c65969...fb6e64 )
by Nirjhar
08:27 queued 05:37
created

Plugin/Lib/OverviewTable.php (1 issue)

Labels
Severity
1
<?php
2
namespace NirjharLo\Cgss\Lib;
3
4
if ( ! defined( 'ABSPATH' ) ) exit;
5
6
use \WP_List_Table;
0 ignored issues
show
The type WP_List_Table was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
7
8
/**
9
 * Implimentation of WordPress inbuilt functions for creating an extension of a default table class.
10
 *
11
 * $myPluginNameTable = new CGSS_OVERVIEW_TABLE();
12
 * $myPluginNameTable->prepare_items();
13
 * $myPluginNameTable->display();
14
 *
15
 */
16
17
	final class OverviewTable extends WP_List_Table {
18
19
20
21
		public function __construct() {
22
23
			parent::__construct( [
24
				'singular' => __( 'Insight', 'cgss' ),
25
				'plural'   => __( 'Inssight', 'cgss' ),
26
				'ajax'     => false,
27
			] );
28
		}
29
30
31
32
		//fetch the data using custom named method function
33
		public static function get_insight() {
34
35
			global $wpdb;
36
37
			//Build the db query base
38
			$sql = "SELECT * FROM {$wpdb->prefix}cgss_insight";
39
40
			//get the data from database
41
			$result = $wpdb->get_results( $sql, 'ARRAY_A' );
42
43
			return $result;
44
		}
45
46
47
48
		//If there is no data to show
49
		public function no_items() {
50
51
			_e( 'Database is empty. Please reactivate the plugin.', 'cgss' );
52
		}
53
54
55
56
		//How many rows are present there
57
		public static function record_count() {
58
59
			global $wpdb;
60
61
			//Build the db query base
62
			$sql = "SELECT COUNT(*) FROM {$wpdb->prefix}cgss_insight";
63
64
			return $wpdb->get_var( $sql );
65
		}
66
67
68
69
		//Display columns content
70
		public function column_name( $item ) {
71
72
			$title = sprintf( '<strong>%s</strong>', $item['item'] );
73
74
			//Change the page instruction where you want to show it
75
			$actions = array();
76
			return $title . $this->row_actions( $actions );
77
		}
78
79
80
81
		//set coulmns name
82
		public function column_default( $item, $column_name ) {
83
84
			switch ( $column_name ) {
85
86
				case 'item':
87
					//This is the first column
88
					return $this->column_name( $item );
89
				case 'remark':
90
					return $item[ $column_name ];
91
92
				default:
93
94
					//Show the whole array for troubleshooting purposes
95
					return print_r( $item, true );
96
			}
97
		}
98
99
100
101
		//Columns callback
102
		public function get_columns() {
103
104
			$columns = array(
105
							'item'	=> __( 'Item', 'cgss' ),
106
							'remark'	=> __( 'Remark', 'cgss' ),
107
						);
108
			return $columns;
109
		}
110
111
112
113
		//Prapare the display variables for screen options
114
		public function prepare_items() {
115
116
			$this->_column_headers = $this->get_column_info();
117
			$this->items = self::get_insight();
118
		}
119
	} ?>
120