Passed
Push — master ( 828cff...85bd9c )
by Brian
04:19
created
includes/class-wpinv-legacy-invoice.php 1 patch
Indentation   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -1355,10 +1355,10 @@
 block discarded – undo
1355 1355
                         $data['cart_details'][$key]['price']      = wpinv_round_amount( $item_total );
1356 1356
                     }
1357 1357
 
1358
-	                $total = $data['subtotal'] - $data['discount'] + $data['tax'];
1359
-	                if ( $total < 0 ) {
1360
-		                $total = 0;
1361
-	                }
1358
+                    $total = $data['subtotal'] - $data['discount'] + $data['tax'];
1359
+                    if ( $total < 0 ) {
1360
+                        $total = 0;
1361
+                    }
1362 1362
 
1363 1363
                     $data['subtotal'] = wpinv_round_amount( $cart_subtotal );
1364 1364
                     $data['discount'] = wpinv_round_amount( $cart_discount );
Please login to merge, or discard this patch.
includes/admin/class-wpinv-taxes-report-table.php 1 patch
Indentation   +157 added lines, -157 removed lines patch added patch discarded remove patch
@@ -9,7 +9,7 @@  discard block
 block discarded – undo
9 9
 
10 10
 // Load WP_List_Table if not loaded
11 11
 if ( ! class_exists( 'WP_List_Table' ) ) {
12
-	require_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php';
12
+    require_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php';
13 13
 }
14 14
 
15 15
 /**
@@ -21,145 +21,145 @@  discard block
 block discarded – undo
21 21
  */
22 22
 class WPInv_Taxes_Reports_Table extends WP_List_Table {
23 23
 
24
-	/**
25
-	 * @var int Number of items per page
26
-	 * @since 1.0.19
27
-	 */
28
-	public $per_page = 300;
29
-
30
-
31
-	/**
32
-	 * Get things started
33
-	 *
34
-	 * @since 1.0.19
35
-	 * @see WP_List_Table::__construct()
36
-	 */
37
-	public function __construct() {
38
-
39
-		// Set parent defaults
40
-		parent::__construct( array(
41
-			'singular' => 'id',
42
-			'plural'   => 'ids',
43
-			'ajax'     => false,
44
-		) );
45
-
46
-	}
47
-
48
-	/**
49
-	 * Gets the name of the primary column.
50
-	 *
51
-	 * @since 1.0.19
52
-	 * @access protected
53
-	 *
54
-	 * @return string Name of the primary column.
55
-	 */
56
-	protected function get_primary_column_name() {
57
-		return 'month';
58
-	}
59
-
60
-	/**
61
-	 * This function renders most of the columns in the list table.
62
-	 *
63
-	 * @since 1.0.19
64
-	 *
65
-	 * @param array $item Contains all the data of the gateways
66
-	 * @param string $column_name The name of the column
67
-	 *
68
-	 * @return string Column Name
69
-	 */
70
-	public function column_default( $item, $column_name ) {
71
-		return esc_html( $item[ $column_name ] );
72
-	}
73
-
74
-	/**
75
-	 * Retrieve the table columns
76
-	 *
77
-	 * @since 1.0.19
78
-	 * @return array $columns Array of all the list table columns
79
-	 */
80
-	public function get_columns() {
81
-
82
-		return array(
83
-			'month'    => __( 'Month', 'invoicing' ),
84
-			'tax'      => __( 'Total Taxes', 'invoicing' ),
85
-		);
86
-
87
-	}
88
-
89
-	/**
90
-	 * Retrieve the current page number
91
-	 *
92
-	 * @since 1.0.19
93
-	 * @return int Current page number
94
-	 */
95
-	public function get_paged() {
96
-		return isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 1;
97
-	}
98
-
99
-	/**
100
-	 * Outputs the reporting views
101
-	 *
102
-	 * @since 1.0.19
103
-	 * @return void
104
-	 */
105
-	public function bulk_actions( $which = '' ) {
106
-		return array();
107
-	}
108
-
109
-	/**
110
-	 * Build all the reports data
111
-	 *
112
-	 * @since 1.0.19
113
-	 * @return array $reports_data All the data for taxes reports
114
-	 */
115
-	public function reports_data() {
116
-
117
-		$reports_data = $this->taxes_reports_data();
118
-		$months       = array(
119
-			'1' => __( 'January', 'invoicing' ),
120
-			'2' => __( 'February', 'invoicing' ),
121
-			'3' => __( 'March', 'invoicing' ),
122
-			'4' => __( 'April', 'invoicing' ),
123
-			'5' => __( 'May', 'invoicing' ),
124
-			'6' => __( 'June', 'invoicing' ),
125
-			'7' => __( 'July', 'invoicing' ),
126
-			'8' => __( 'August', 'invoicing' ),
127
-			'9' => __( 'September', 'invoicing' ),
128
-			'10' => __( 'October', 'invoicing' ),
129
-			'11' => __( 'November', 'invoicing' ),
130
-			'12' => __( 'December', 'invoicing' ),
131
-		);
132
-
133
-		$prepared = array();
134
-		foreach ( $months as $month => $label ) {
135
-
136
-			$tax = wpinv_price( 0 );
137
-			if ( ! empty( $reports_data[ $month ] ) ) {
138
-				$tax = wpinv_price( wpinv_format_amount( $reports_data[ $month ] ) );
139
-			}
140
-
141
-			$prepared[] = array(
142
-				'month'    => $label,
143
-				'tax'      => $tax,
144
-			);
145
-
146
-		}
147
-
148
-		return $prepared;
149
-	}
150
-
151
-	/**
152
-	 * Retrieves taxes data.
153
-	 *
154
-	 * @since 1.0.19
155
-	 */
156
-	public function taxes_reports_data() {
157
-		global $wpdb;
158
-
159
-		$table =  $wpdb->prefix . 'getpaid_invoices';
160
-		$year  = isset( $_GET['year'] ) ? absint( $_GET['year'] ) : date( 'Y' );
161
-		$data  = $wpdb->get_results(
162
-			"SELECT
24
+    /**
25
+     * @var int Number of items per page
26
+     * @since 1.0.19
27
+     */
28
+    public $per_page = 300;
29
+
30
+
31
+    /**
32
+     * Get things started
33
+     *
34
+     * @since 1.0.19
35
+     * @see WP_List_Table::__construct()
36
+     */
37
+    public function __construct() {
38
+
39
+        // Set parent defaults
40
+        parent::__construct( array(
41
+            'singular' => 'id',
42
+            'plural'   => 'ids',
43
+            'ajax'     => false,
44
+        ) );
45
+
46
+    }
47
+
48
+    /**
49
+     * Gets the name of the primary column.
50
+     *
51
+     * @since 1.0.19
52
+     * @access protected
53
+     *
54
+     * @return string Name of the primary column.
55
+     */
56
+    protected function get_primary_column_name() {
57
+        return 'month';
58
+    }
59
+
60
+    /**
61
+     * This function renders most of the columns in the list table.
62
+     *
63
+     * @since 1.0.19
64
+     *
65
+     * @param array $item Contains all the data of the gateways
66
+     * @param string $column_name The name of the column
67
+     *
68
+     * @return string Column Name
69
+     */
70
+    public function column_default( $item, $column_name ) {
71
+        return esc_html( $item[ $column_name ] );
72
+    }
73
+
74
+    /**
75
+     * Retrieve the table columns
76
+     *
77
+     * @since 1.0.19
78
+     * @return array $columns Array of all the list table columns
79
+     */
80
+    public function get_columns() {
81
+
82
+        return array(
83
+            'month'    => __( 'Month', 'invoicing' ),
84
+            'tax'      => __( 'Total Taxes', 'invoicing' ),
85
+        );
86
+
87
+    }
88
+
89
+    /**
90
+     * Retrieve the current page number
91
+     *
92
+     * @since 1.0.19
93
+     * @return int Current page number
94
+     */
95
+    public function get_paged() {
96
+        return isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 1;
97
+    }
98
+
99
+    /**
100
+     * Outputs the reporting views
101
+     *
102
+     * @since 1.0.19
103
+     * @return void
104
+     */
105
+    public function bulk_actions( $which = '' ) {
106
+        return array();
107
+    }
108
+
109
+    /**
110
+     * Build all the reports data
111
+     *
112
+     * @since 1.0.19
113
+     * @return array $reports_data All the data for taxes reports
114
+     */
115
+    public function reports_data() {
116
+
117
+        $reports_data = $this->taxes_reports_data();
118
+        $months       = array(
119
+            '1' => __( 'January', 'invoicing' ),
120
+            '2' => __( 'February', 'invoicing' ),
121
+            '3' => __( 'March', 'invoicing' ),
122
+            '4' => __( 'April', 'invoicing' ),
123
+            '5' => __( 'May', 'invoicing' ),
124
+            '6' => __( 'June', 'invoicing' ),
125
+            '7' => __( 'July', 'invoicing' ),
126
+            '8' => __( 'August', 'invoicing' ),
127
+            '9' => __( 'September', 'invoicing' ),
128
+            '10' => __( 'October', 'invoicing' ),
129
+            '11' => __( 'November', 'invoicing' ),
130
+            '12' => __( 'December', 'invoicing' ),
131
+        );
132
+
133
+        $prepared = array();
134
+        foreach ( $months as $month => $label ) {
135
+
136
+            $tax = wpinv_price( 0 );
137
+            if ( ! empty( $reports_data[ $month ] ) ) {
138
+                $tax = wpinv_price( wpinv_format_amount( $reports_data[ $month ] ) );
139
+            }
140
+
141
+            $prepared[] = array(
142
+                'month'    => $label,
143
+                'tax'      => $tax,
144
+            );
145
+
146
+        }
147
+
148
+        return $prepared;
149
+    }
150
+
151
+    /**
152
+     * Retrieves taxes data.
153
+     *
154
+     * @since 1.0.19
155
+     */
156
+    public function taxes_reports_data() {
157
+        global $wpdb;
158
+
159
+        $table =  $wpdb->prefix . 'getpaid_invoices';
160
+        $year  = isset( $_GET['year'] ) ? absint( $_GET['year'] ) : date( 'Y' );
161
+        $data  = $wpdb->get_results(
162
+            "SELECT
163 163
 				MONTH(meta.completed_date) as _month,
164 164
 				SUM(meta.tax) as tax
165 165
 			FROM $wpdb->posts as posts
@@ -171,21 +171,21 @@  discard block
 block discarded – undo
171 171
 				AND ( YEAR(meta.completed_date) = '$year' )
172 172
 			GROUP BY MONTH(meta.completed_date)");
173 173
 
174
-		return wp_list_pluck( $data, 'tax', '_month' );
175
-
176
-	}
177
-
178
-	/**
179
-	 * Setup the final data for the table
180
-	 *
181
-	 * @since 1.0.19
182
-	 * @return void
183
-	 */
184
-	public function prepare_items() {
185
-		$columns               = $this->get_columns();
186
-		$hidden                = array(); // No hidden columns
187
-		$sortable              = $this->get_sortable_columns();
188
-		$this->_column_headers = array( $columns, $hidden, $sortable );
189
-		$this->items           = $this->reports_data();
190
-	}
174
+        return wp_list_pluck( $data, 'tax', '_month' );
175
+
176
+    }
177
+
178
+    /**
179
+     * Setup the final data for the table
180
+     *
181
+     * @since 1.0.19
182
+     * @return void
183
+     */
184
+    public function prepare_items() {
185
+        $columns               = $this->get_columns();
186
+        $hidden                = array(); // No hidden columns
187
+        $sortable              = $this->get_sortable_columns();
188
+        $this->_column_headers = array( $columns, $hidden, $sortable );
189
+        $this->items           = $this->reports_data();
190
+    }
191 191
 }
Please login to merge, or discard this patch.
includes/admin/class-wpinv-gateways-report-table.php 1 patch
Indentation   +166 added lines, -166 removed lines patch added patch discarded remove patch
@@ -9,7 +9,7 @@  discard block
 block discarded – undo
9 9
 
10 10
 // Load WP_List_Table if not loaded
11 11
 if ( ! class_exists( 'WP_List_Table' ) ) {
12
-	require_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php';
12
+    require_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php';
13 13
 }
14 14
 
15 15
 /**
@@ -21,148 +21,148 @@  discard block
 block discarded – undo
21 21
  */
22 22
 class WPInv_Gateways_Report_Table extends WP_List_Table {
23 23
 
24
-	/**
25
-	 * @var int Number of items per page
26
-	 * @since 1.0.19
27
-	 */
28
-	public $per_page = 300;
29
-
30
-
31
-	/**
32
-	 * Get things started
33
-	 *
34
-	 * @since 1.0.19
35
-	 * @see WP_List_Table::__construct()
36
-	 */
37
-	public function __construct() {
38
-
39
-		// Set parent defaults
40
-		parent::__construct( array(
41
-			'singular' => 'id',
42
-			'plural'   => 'ids',
43
-			'ajax'     => false,
44
-		) );
45
-
46
-	}
47
-
48
-	/**
49
-	 * Gets the name of the primary column.
50
-	 *
51
-	 * @since 1.0.19
52
-	 * @access protected
53
-	 *
54
-	 * @return string Name of the primary column.
55
-	 */
56
-	protected function get_primary_column_name() {
57
-		return 'gateway';
58
-	}
59
-
60
-	/**
61
-	 * This function renders most of the columns in the list table.
62
-	 *
63
-	 * @since 1.0.19
64
-	 *
65
-	 * @param array $item Contains all the data of the gateways
66
-	 * @param string $column_name The name of the column
67
-	 *
68
-	 * @return string Column Name
69
-	 */
70
-	public function column_default( $item, $column_name ) {
71
-		return esc_html( $item[ $column_name ] );
72
-	}
73
-
74
-	/**
75
-	 * Retrieve the table columns
76
-	 *
77
-	 * @since 1.0.19
78
-	 * @return array $columns Array of all the list table columns
79
-	 */
80
-	public function get_columns() {
81
-
82
-		return array(
83
-			'gateway'  => __( 'Gateway', 'invoicing' ),
84
-			'sales'    => __( 'Total Sales', 'invoicing' ),
85
-			'total'    => __( 'Total Earnings', 'invoicing' ),
86
-			'discount' => __( 'Total Discounts', 'invoicing' ),
87
-			'tax'      => __( 'Total Taxes', 'invoicing' ),
88
-			'fees'     => __( 'Total Fees', 'invoicing' ),
89
-		);
90
-
91
-	}
92
-
93
-	/**
94
-	 * Retrieve the current page number
95
-	 *
96
-	 * @since 1.0.19
97
-	 * @return int Current page number
98
-	 */
99
-	public function get_paged() {
100
-		return isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 1;
101
-	}
102
-
103
-	/**
104
-	 * Outputs the reporting views
105
-	 *
106
-	 * @since 1.0.19
107
-	 * @return void
108
-	 */
109
-	public function bulk_actions( $which = '' ) {
110
-		return array();
111
-	}
112
-
113
-	/**
114
-	 * Build all the reports data
115
-	 *
116
-	 * @since 1.0.19
117
-	 * @return array $reports_data All the data for gateway reports
118
-	 */
119
-	public function reports_data() {
120
-
121
-		$reports_data = $this->revenue_reports_data();
122
-		$gateways     = wpinv_get_payment_gateways();
123
-
124
-		foreach ( $gateways as $gateway_id => $gateway ) {
125
-
126
-			if ( ! empty( $reports_data[ $gateway_id ] ) ) {
127
-				continue;
128
-			}
129
-
130
-			$reports_data[] = array(
131
-				'gateway'  => $gateway_id,
132
-				'sales'    => 0,
133
-				'total'    => 0,
134
-				'discount' => 0,
135
-				'tax'      => 0,
136
-				'fees'     => 0,
137
-			);
138
-		}
139
-
140
-		$prepared = array();
141
-		foreach ( $reports_data as $report_data ) {
142
-			$prepared[] = array(
143
-				'gateway'  => wpinv_get_gateway_admin_label( $report_data['gateway'] ),
144
-				'sales'    => $report_data['sales'],
145
-				'total'    => wpinv_price( wpinv_format_amount( $report_data['total'] ) ),
146
-				'discount' => wpinv_price( wpinv_format_amount( $report_data['discount'] ) ),
147
-				'tax'      => wpinv_price( wpinv_format_amount( $report_data['tax'] ) ),
148
-				'fees'     => wpinv_price( wpinv_format_amount( $report_data['fees'] ) ),
149
-			);
150
-		}
151
-
152
-		return $prepared;
153
-	}
154
-
155
-	/**
156
-	 * Retrieves report data.
157
-	 *
158
-	 * @since 1.0.19
159
-	 */
160
-	public function revenue_reports_data() {
161
-		global $wpdb;
162
-
163
-		$table =  $wpdb->prefix . 'getpaid_invoices';
164
-		$data  = $wpdb->get_results(
165
-			"SELECT
24
+    /**
25
+     * @var int Number of items per page
26
+     * @since 1.0.19
27
+     */
28
+    public $per_page = 300;
29
+
30
+
31
+    /**
32
+     * Get things started
33
+     *
34
+     * @since 1.0.19
35
+     * @see WP_List_Table::__construct()
36
+     */
37
+    public function __construct() {
38
+
39
+        // Set parent defaults
40
+        parent::__construct( array(
41
+            'singular' => 'id',
42
+            'plural'   => 'ids',
43
+            'ajax'     => false,
44
+        ) );
45
+
46
+    }
47
+
48
+    /**
49
+     * Gets the name of the primary column.
50
+     *
51
+     * @since 1.0.19
52
+     * @access protected
53
+     *
54
+     * @return string Name of the primary column.
55
+     */
56
+    protected function get_primary_column_name() {
57
+        return 'gateway';
58
+    }
59
+
60
+    /**
61
+     * This function renders most of the columns in the list table.
62
+     *
63
+     * @since 1.0.19
64
+     *
65
+     * @param array $item Contains all the data of the gateways
66
+     * @param string $column_name The name of the column
67
+     *
68
+     * @return string Column Name
69
+     */
70
+    public function column_default( $item, $column_name ) {
71
+        return esc_html( $item[ $column_name ] );
72
+    }
73
+
74
+    /**
75
+     * Retrieve the table columns
76
+     *
77
+     * @since 1.0.19
78
+     * @return array $columns Array of all the list table columns
79
+     */
80
+    public function get_columns() {
81
+
82
+        return array(
83
+            'gateway'  => __( 'Gateway', 'invoicing' ),
84
+            'sales'    => __( 'Total Sales', 'invoicing' ),
85
+            'total'    => __( 'Total Earnings', 'invoicing' ),
86
+            'discount' => __( 'Total Discounts', 'invoicing' ),
87
+            'tax'      => __( 'Total Taxes', 'invoicing' ),
88
+            'fees'     => __( 'Total Fees', 'invoicing' ),
89
+        );
90
+
91
+    }
92
+
93
+    /**
94
+     * Retrieve the current page number
95
+     *
96
+     * @since 1.0.19
97
+     * @return int Current page number
98
+     */
99
+    public function get_paged() {
100
+        return isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 1;
101
+    }
102
+
103
+    /**
104
+     * Outputs the reporting views
105
+     *
106
+     * @since 1.0.19
107
+     * @return void
108
+     */
109
+    public function bulk_actions( $which = '' ) {
110
+        return array();
111
+    }
112
+
113
+    /**
114
+     * Build all the reports data
115
+     *
116
+     * @since 1.0.19
117
+     * @return array $reports_data All the data for gateway reports
118
+     */
119
+    public function reports_data() {
120
+
121
+        $reports_data = $this->revenue_reports_data();
122
+        $gateways     = wpinv_get_payment_gateways();
123
+
124
+        foreach ( $gateways as $gateway_id => $gateway ) {
125
+
126
+            if ( ! empty( $reports_data[ $gateway_id ] ) ) {
127
+                continue;
128
+            }
129
+
130
+            $reports_data[] = array(
131
+                'gateway'  => $gateway_id,
132
+                'sales'    => 0,
133
+                'total'    => 0,
134
+                'discount' => 0,
135
+                'tax'      => 0,
136
+                'fees'     => 0,
137
+            );
138
+        }
139
+
140
+        $prepared = array();
141
+        foreach ( $reports_data as $report_data ) {
142
+            $prepared[] = array(
143
+                'gateway'  => wpinv_get_gateway_admin_label( $report_data['gateway'] ),
144
+                'sales'    => $report_data['sales'],
145
+                'total'    => wpinv_price( wpinv_format_amount( $report_data['total'] ) ),
146
+                'discount' => wpinv_price( wpinv_format_amount( $report_data['discount'] ) ),
147
+                'tax'      => wpinv_price( wpinv_format_amount( $report_data['tax'] ) ),
148
+                'fees'     => wpinv_price( wpinv_format_amount( $report_data['fees'] ) ),
149
+            );
150
+        }
151
+
152
+        return $prepared;
153
+    }
154
+
155
+    /**
156
+     * Retrieves report data.
157
+     *
158
+     * @since 1.0.19
159
+     */
160
+    public function revenue_reports_data() {
161
+        global $wpdb;
162
+
163
+        $table =  $wpdb->prefix . 'getpaid_invoices';
164
+        $data  = $wpdb->get_results(
165
+            "SELECT
166 166
 				COUNT(posts.ID) as sales,
167 167
 				meta.gateway as gateway,
168 168
 				SUM(meta.total) as total,
@@ -177,27 +177,27 @@  discard block
 block discarded – undo
177 177
                 AND ( posts.post_status = 'publish' OR posts.post_status = 'renewal' )
178 178
 			GROUP BY meta.gateway", ARRAY_A);
179 179
 		
180
-		$return = array();
181
-
182
-		foreach ( $data as $gateway ) {
183
-			$return[ $gateway ['gateway']] = $gateway;
184
-		}
185
-
186
-		return $return;
187
-
188
-	}
189
-
190
-	/**
191
-	 * Setup the final data for the table
192
-	 *
193
-	 * @since 1.0.19
194
-	 * @return void
195
-	 */
196
-	public function prepare_items() {
197
-		$columns               = $this->get_columns();
198
-		$hidden                = array(); // No hidden columns
199
-		$sortable              = $this->get_sortable_columns();
200
-		$this->_column_headers = array( $columns, $hidden, $sortable );
201
-		$this->items           = $this->reports_data();
202
-	}
180
+        $return = array();
181
+
182
+        foreach ( $data as $gateway ) {
183
+            $return[ $gateway ['gateway']] = $gateway;
184
+        }
185
+
186
+        return $return;
187
+
188
+    }
189
+
190
+    /**
191
+     * Setup the final data for the table
192
+     *
193
+     * @since 1.0.19
194
+     * @return void
195
+     */
196
+    public function prepare_items() {
197
+        $columns               = $this->get_columns();
198
+        $hidden                = array(); // No hidden columns
199
+        $sortable              = $this->get_sortable_columns();
200
+        $this->_column_headers = array( $columns, $hidden, $sortable );
201
+        $this->items           = $this->reports_data();
202
+    }
203 203
 }
Please login to merge, or discard this patch.
includes/admin/class-wpinv-items-report-table.php 1 patch
Indentation   +139 added lines, -139 removed lines patch added patch discarded remove patch
@@ -9,7 +9,7 @@  discard block
 block discarded – undo
9 9
 
10 10
 // Load WP_List_Table if not loaded
11 11
 if ( ! class_exists( 'WP_List_Table' ) ) {
12
-	require_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php';
12
+    require_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php';
13 13
 }
14 14
 
15 15
 /**
@@ -21,129 +21,129 @@  discard block
 block discarded – undo
21 21
  */
22 22
 class WPInv_Items_Report_Table extends WP_List_Table {
23 23
 
24
-	/**
25
-	 * @var int Number of items per page
26
-	 * @since 1.0.19
27
-	 */
28
-	public $per_page = 300;
29
-
30
-
31
-	/**
32
-	 * Get things started
33
-	 *
34
-	 * @since 1.0.19
35
-	 * @see WP_List_Table::__construct()
36
-	 */
37
-	public function __construct() {
38
-
39
-		// Set parent defaults
40
-		parent::__construct( array(
41
-			'singular' => 'id',
42
-			'plural'   => 'ids',
43
-			'ajax'     => false,
44
-		) );
45
-
46
-	}
47
-
48
-	/**
49
-	 * Gets the name of the primary column.
50
-	 *
51
-	 * @since 1.0.19
52
-	 * @access protected
53
-	 *
54
-	 * @return string Name of the primary column.
55
-	 */
56
-	protected function get_primary_column_name() {
57
-		return 'item';
58
-	}
59
-
60
-	/**
61
-	 * This function renders most of the columns in the list table.
62
-	 *
63
-	 * @since 1.0.19
64
-	 *
65
-	 * @param array $item Contains all the data of the gateways
66
-	 * @param string $column_name The name of the column
67
-	 *
68
-	 * @return string Column Name
69
-	 */
70
-	public function column_default( $item, $column_name ) {
71
-		return esc_html( $item[ $column_name ] );
72
-	}
73
-
74
-	/**
75
-	 * Retrieve the table columns
76
-	 *
77
-	 * @since 1.0.19
78
-	 * @return array $columns Array of all the list table columns
79
-	 */
80
-	public function get_columns() {
81
-
82
-		return array(
83
-			'item'     => __( 'Item', 'invoicing' ),
84
-			'sales'    => __( 'Quantity Sold', 'invoicing' ),
85
-			'total'    => __( 'Total Earnings', 'invoicing' ),
86
-			'discount' => __( 'Total Discounts', 'invoicing' ),
87
-			'tax'      => __( 'Total Taxes', 'invoicing' ),
88
-		);
89
-
90
-	}
91
-
92
-	/**
93
-	 * Retrieve the current page number
94
-	 *
95
-	 * @since 1.0.19
96
-	 * @return int Current page number
97
-	 */
98
-	public function get_paged() {
99
-		return isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 1;
100
-	}
101
-
102
-	/**
103
-	 * Outputs the reporting views
104
-	 *
105
-	 * @since 1.0.19
106
-	 * @return void
107
-	 */
108
-	public function bulk_actions( $which = '' ) {
109
-		return array();
110
-	}
111
-
112
-	/**
113
-	 * Build all the reports data
114
-	 *
115
-	 * @since 1.0.19
116
-	 * @return array $reports_data All the data for gateway reports
117
-	 */
118
-	public function reports_data() {
119
-
120
-		$reports_data = $this->revenue_reports_data();
121
-
122
-		$prepared = array();
123
-		foreach ( $reports_data as $report_data ) {
124
-			$prepared[] = array(
125
-				'item'     => $report_data['item_name'],
126
-				'sales'    => $report_data['sales'],
127
-				'total'    => wpinv_price( wpinv_format_amount( $report_data['total'] ) ),
128
-				'discount' => wpinv_price( wpinv_format_amount( $report_data['discount'] ) ),
129
-				'tax'      => wpinv_price( wpinv_format_amount( $report_data['tax'] ) ),
130
-			);
131
-		}
132
-
133
-		return $prepared;
134
-	}
135
-
136
-	/**
137
-	 * Retrieves report data.
138
-	 *
139
-	 * @since 1.0.19
140
-	 */
141
-	public function revenue_reports_data() {
142
-		global $wpdb;
143
-
144
-		$table =  $wpdb->prefix . 'getpaid_invoice_items';
145
-		return $wpdb->get_results(
146
-			"SELECT
24
+    /**
25
+     * @var int Number of items per page
26
+     * @since 1.0.19
27
+     */
28
+    public $per_page = 300;
29
+
30
+
31
+    /**
32
+     * Get things started
33
+     *
34
+     * @since 1.0.19
35
+     * @see WP_List_Table::__construct()
36
+     */
37
+    public function __construct() {
38
+
39
+        // Set parent defaults
40
+        parent::__construct( array(
41
+            'singular' => 'id',
42
+            'plural'   => 'ids',
43
+            'ajax'     => false,
44
+        ) );
45
+
46
+    }
47
+
48
+    /**
49
+     * Gets the name of the primary column.
50
+     *
51
+     * @since 1.0.19
52
+     * @access protected
53
+     *
54
+     * @return string Name of the primary column.
55
+     */
56
+    protected function get_primary_column_name() {
57
+        return 'item';
58
+    }
59
+
60
+    /**
61
+     * This function renders most of the columns in the list table.
62
+     *
63
+     * @since 1.0.19
64
+     *
65
+     * @param array $item Contains all the data of the gateways
66
+     * @param string $column_name The name of the column
67
+     *
68
+     * @return string Column Name
69
+     */
70
+    public function column_default( $item, $column_name ) {
71
+        return esc_html( $item[ $column_name ] );
72
+    }
73
+
74
+    /**
75
+     * Retrieve the table columns
76
+     *
77
+     * @since 1.0.19
78
+     * @return array $columns Array of all the list table columns
79
+     */
80
+    public function get_columns() {
81
+
82
+        return array(
83
+            'item'     => __( 'Item', 'invoicing' ),
84
+            'sales'    => __( 'Quantity Sold', 'invoicing' ),
85
+            'total'    => __( 'Total Earnings', 'invoicing' ),
86
+            'discount' => __( 'Total Discounts', 'invoicing' ),
87
+            'tax'      => __( 'Total Taxes', 'invoicing' ),
88
+        );
89
+
90
+    }
91
+
92
+    /**
93
+     * Retrieve the current page number
94
+     *
95
+     * @since 1.0.19
96
+     * @return int Current page number
97
+     */
98
+    public function get_paged() {
99
+        return isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 1;
100
+    }
101
+
102
+    /**
103
+     * Outputs the reporting views
104
+     *
105
+     * @since 1.0.19
106
+     * @return void
107
+     */
108
+    public function bulk_actions( $which = '' ) {
109
+        return array();
110
+    }
111
+
112
+    /**
113
+     * Build all the reports data
114
+     *
115
+     * @since 1.0.19
116
+     * @return array $reports_data All the data for gateway reports
117
+     */
118
+    public function reports_data() {
119
+
120
+        $reports_data = $this->revenue_reports_data();
121
+
122
+        $prepared = array();
123
+        foreach ( $reports_data as $report_data ) {
124
+            $prepared[] = array(
125
+                'item'     => $report_data['item_name'],
126
+                'sales'    => $report_data['sales'],
127
+                'total'    => wpinv_price( wpinv_format_amount( $report_data['total'] ) ),
128
+                'discount' => wpinv_price( wpinv_format_amount( $report_data['discount'] ) ),
129
+                'tax'      => wpinv_price( wpinv_format_amount( $report_data['tax'] ) ),
130
+            );
131
+        }
132
+
133
+        return $prepared;
134
+    }
135
+
136
+    /**
137
+     * Retrieves report data.
138
+     *
139
+     * @since 1.0.19
140
+     */
141
+    public function revenue_reports_data() {
142
+        global $wpdb;
143
+
144
+        $table =  $wpdb->prefix . 'getpaid_invoice_items';
145
+        return $wpdb->get_results(
146
+            "SELECT
147 147
 				SUM(quantity) as sales,
148 148
 				item_name,
149 149
 				SUM(tax) as tax,
@@ -157,19 +157,19 @@  discard block
 block discarded – undo
157 157
 			GROUP BY item_id
158 158
 			ORDER BY item_name ASC", ARRAY_A);
159 159
 
160
-	}
161
-
162
-	/**
163
-	 * Setup the final data for the table
164
-	 *
165
-	 * @since 1.0.19
166
-	 * @return void
167
-	 */
168
-	public function prepare_items() {
169
-		$columns               = $this->get_columns();
170
-		$hidden                = array(); // No hidden columns
171
-		$sortable              = $this->get_sortable_columns();
172
-		$this->_column_headers = array( $columns, $hidden, $sortable );
173
-		$this->items           = $this->reports_data();
174
-	}
160
+    }
161
+
162
+    /**
163
+     * Setup the final data for the table
164
+     *
165
+     * @since 1.0.19
166
+     * @return void
167
+     */
168
+    public function prepare_items() {
169
+        $columns               = $this->get_columns();
170
+        $hidden                = array(); // No hidden columns
171
+        $sortable              = $this->get_sortable_columns();
172
+        $this->_column_headers = array( $columns, $hidden, $sortable );
173
+        $this->items           = $this->reports_data();
174
+    }
175 175
 }
Please login to merge, or discard this patch.
vendor/ayecode/wp-super-duper/hello-world.php 1 patch
Indentation   +102 added lines, -102 removed lines patch added patch discarded remove patch
@@ -3,102 +3,102 @@  discard block
 block discarded – undo
3 3
 class SD_Hello_World extends WP_Super_Duper {
4 4
 
5 5
 
6
-	public $arguments;
7
-
8
-	/**
9
-	 * Sets up the widgets name etc
10
-	 */
11
-	public function __construct() {
12
-
13
-		$options = array(
14
-			'textdomain'     => 'super-duper',
15
-			// textdomain of the plugin/theme (used to prefix the Gutenberg block)
16
-			'block-icon'     => 'fas fa-globe-americas',
17
-			// Dash icon name for the block: https://developer.wordpress.org/resource/dashicons/#arrow-right
18
-			// OR font-awesome 5 class name: fas fa-globe-americas
19
-			'block-category' => 'widgets',
20
-			// the category for the block, 'common', 'formatting', 'layout', 'widgets', 'embed'.
21
-			'block-keywords' => "['hello','world']",
22
-			// used in the block search, MAX 3
23
-			'block-output'   => array( // the block visual output elements as an array
24
-				array(
25
-					'element' => 'p',
26
-					'title'   => __( 'Placeholder', 'hello-world' ),
27
-					'class'   => '[%className%]',
28
-					'content' => 'Hello: [%after_text%]' // block properties can be added by wrapping them in [%name%]
29
-				)
30
-			),
31
-			'block-wrap'    => '', // You can specify the type of element to wrap the block `div` or `span` etc.. Or blank for no wrap at all.
32
-			'class_name'     => __CLASS__,
33
-			// The calling class name
34
-			'base_id'        => 'hello_world',
35
-			// this is used as the widget id and the shortcode id.
36
-			'name'           => __( 'Hello World', 'hello-world' ),
37
-			// the name of the widget/block
38
-			'widget_ops'     => array(
39
-				'classname'   => 'hello-world-class',
40
-				// widget class
41
-				'description' => esc_html__( 'This is an example that will take a text parameter and output it after `Hello:`.', 'hello-world' ),
42
-				// widget description
43
-			),
44
-			'no_wrap'       => true, // This will prevent the widget being wrapped in the containing widget class div.
45
-			'arguments'      => array( // these are the arguments that will be used in the widget, shortcode and block settings.
46
-				'after_text' => array( // this is the input name=''
47
-					'title'       => __( 'Text after hello:', 'hello-world' ),
48
-					// input title
49
-					'desc'        => __( 'This is the text that will appear after `Hello:`.', 'hello-world' ),
50
-					// input description
51
-					'type'        => 'text',
52
-					// the type of input, test, select, checkbox etc.
53
-					'placeholder' => 'World',
54
-					// the input placeholder text.
55
-					'desc_tip'    => true,
56
-					// if the input should show the widget description text as a tooltip.
57
-					'default'     => 'World',
58
-					// the input default value.
59
-					'advanced'    => false
60
-					// not yet implemented
61
-				),
62
-			)
63
-		);
64
-
65
-		parent::__construct( $options );
66
-	}
67
-
68
-
69
-	/**
70
-	 * This is the output function for the widget, shortcode and block (front end).
71
-	 *
72
-	 * @param array $args The arguments values.
73
-	 * @param array $widget_args The widget arguments when used.
74
-	 * @param string $content The shortcode content argument
75
-	 *
76
-	 * @return string
77
-	 */
78
-	public function output( $args = array(), $widget_args = array(), $content = '' ) {
79
-
80
-		/**
81
-		 * @var string $after_text
82
-		 * @var string $another_input This is added by filter below.
83
-		 */
84
-		extract( $args, EXTR_SKIP );
85
-
86
-		/*
6
+    public $arguments;
7
+
8
+    /**
9
+     * Sets up the widgets name etc
10
+     */
11
+    public function __construct() {
12
+
13
+        $options = array(
14
+            'textdomain'     => 'super-duper',
15
+            // textdomain of the plugin/theme (used to prefix the Gutenberg block)
16
+            'block-icon'     => 'fas fa-globe-americas',
17
+            // Dash icon name for the block: https://developer.wordpress.org/resource/dashicons/#arrow-right
18
+            // OR font-awesome 5 class name: fas fa-globe-americas
19
+            'block-category' => 'widgets',
20
+            // the category for the block, 'common', 'formatting', 'layout', 'widgets', 'embed'.
21
+            'block-keywords' => "['hello','world']",
22
+            // used in the block search, MAX 3
23
+            'block-output'   => array( // the block visual output elements as an array
24
+                array(
25
+                    'element' => 'p',
26
+                    'title'   => __( 'Placeholder', 'hello-world' ),
27
+                    'class'   => '[%className%]',
28
+                    'content' => 'Hello: [%after_text%]' // block properties can be added by wrapping them in [%name%]
29
+                )
30
+            ),
31
+            'block-wrap'    => '', // You can specify the type of element to wrap the block `div` or `span` etc.. Or blank for no wrap at all.
32
+            'class_name'     => __CLASS__,
33
+            // The calling class name
34
+            'base_id'        => 'hello_world',
35
+            // this is used as the widget id and the shortcode id.
36
+            'name'           => __( 'Hello World', 'hello-world' ),
37
+            // the name of the widget/block
38
+            'widget_ops'     => array(
39
+                'classname'   => 'hello-world-class',
40
+                // widget class
41
+                'description' => esc_html__( 'This is an example that will take a text parameter and output it after `Hello:`.', 'hello-world' ),
42
+                // widget description
43
+            ),
44
+            'no_wrap'       => true, // This will prevent the widget being wrapped in the containing widget class div.
45
+            'arguments'      => array( // these are the arguments that will be used in the widget, shortcode and block settings.
46
+                'after_text' => array( // this is the input name=''
47
+                    'title'       => __( 'Text after hello:', 'hello-world' ),
48
+                    // input title
49
+                    'desc'        => __( 'This is the text that will appear after `Hello:`.', 'hello-world' ),
50
+                    // input description
51
+                    'type'        => 'text',
52
+                    // the type of input, test, select, checkbox etc.
53
+                    'placeholder' => 'World',
54
+                    // the input placeholder text.
55
+                    'desc_tip'    => true,
56
+                    // if the input should show the widget description text as a tooltip.
57
+                    'default'     => 'World',
58
+                    // the input default value.
59
+                    'advanced'    => false
60
+                    // not yet implemented
61
+                ),
62
+            )
63
+        );
64
+
65
+        parent::__construct( $options );
66
+    }
67
+
68
+
69
+    /**
70
+     * This is the output function for the widget, shortcode and block (front end).
71
+     *
72
+     * @param array $args The arguments values.
73
+     * @param array $widget_args The widget arguments when used.
74
+     * @param string $content The shortcode content argument
75
+     *
76
+     * @return string
77
+     */
78
+    public function output( $args = array(), $widget_args = array(), $content = '' ) {
79
+
80
+        /**
81
+         * @var string $after_text
82
+         * @var string $another_input This is added by filter below.
83
+         */
84
+        extract( $args, EXTR_SKIP );
85
+
86
+        /*
87 87
 		 * This value is added by filter so might not exist if filter is removed so we check.
88 88
 		 */
89
-		if ( ! isset( $another_input ) ) {
90
-			$another_input = '';
91
-		}
89
+        if ( ! isset( $another_input ) ) {
90
+            $another_input = '';
91
+        }
92 92
 
93
-		return "Hello: " . $after_text . "" . $another_input;
93
+        return "Hello: " . $after_text . "" . $another_input;
94 94
 
95
-	}
95
+    }
96 96
 
97 97
 }
98 98
 
99 99
 // register it.
100 100
 add_action( 'widgets_init', function () {
101
-	register_widget( 'SD_Hello_World' );
101
+    register_widget( 'SD_Hello_World' );
102 102
 } );
103 103
 
104 104
 
@@ -111,26 +111,26 @@  discard block
 block discarded – undo
111 111
  */
112 112
 function _my_extra_arguments( $options ) {
113 113
 
114
-	/*
114
+    /*
115 115
 	 * Add a new input option.
116 116
 	 */
117
-	$options['arguments']['another_input'] = array(
118
-		'name'        => 'another_input', // this is the input name=''
119
-		'title'       => __( 'Another input:', 'hello-world' ), // input title
120
-		'desc'        => __( 'This is an input added via filter.', 'hello-world' ), // input description
121
-		'type'        => 'text', // the type of input, test, select, checkbox etc.
122
-		'placeholder' => 'Placeholder text', // the input placeholder text.
123
-		'desc_tip'    => true, // if the input should show the widget description text as a tooltip.
124
-		'default'     => '', // the input default value.
125
-		'advanced'    => false // not yet implemented
126
-	);
127
-
128
-	/*
117
+    $options['arguments']['another_input'] = array(
118
+        'name'        => 'another_input', // this is the input name=''
119
+        'title'       => __( 'Another input:', 'hello-world' ), // input title
120
+        'desc'        => __( 'This is an input added via filter.', 'hello-world' ), // input description
121
+        'type'        => 'text', // the type of input, test, select, checkbox etc.
122
+        'placeholder' => 'Placeholder text', // the input placeholder text.
123
+        'desc_tip'    => true, // if the input should show the widget description text as a tooltip.
124
+        'default'     => '', // the input default value.
125
+        'advanced'    => false // not yet implemented
126
+    );
127
+
128
+    /*
129 129
 	 * Output the new option in the block output also.
130 130
 	 */
131
-	$options['block-output']['element::p']['content'] = $options['block-output']['element::p']['content'] . " [%another_input%]";;
131
+    $options['block-output']['element::p']['content'] = $options['block-output']['element::p']['content'] . " [%another_input%]";;
132 132
 
133
-	return $options;
133
+    return $options;
134 134
 }
135 135
 
136 136
 //add_filter( 'wp_super_duper_options_hello_world', '_my_extra_arguments' );
137 137
\ No newline at end of file
Please login to merge, or discard this patch.
ayecode/wp-ayecode-ui/includes/components/class-aui-component-alert.php 1 patch
Indentation   +66 added lines, -66 removed lines patch added patch discarded remove patch
@@ -1,7 +1,7 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 
3 3
 if ( ! defined( 'ABSPATH' ) ) {
4
-	exit; // Exit if accessed directly
4
+    exit; // Exit if accessed directly
5 5
 }
6 6
 
7 7
 /**
@@ -11,81 +11,81 @@  discard block
 block discarded – undo
11 11
  */
12 12
 class AUI_Component_Alert {
13 13
 
14
-	/**
15
-	 * Build the component.
16
-	 * 
17
-	 * @param array $args
18
-	 *
19
-	 * @return string The rendered component.
20
-	 */
21
-	public static function get($args = array()){
22
-		$defaults = array(
23
-			'type'       => 'info',
24
-			'class'      => '',
25
-			'icon' => '',
26
-			'heading'    => '',
27
-			'content'    => '',
28
-			'footer'     => '',
29
-			'dismissible'=> false,
30
-			'data'       => '',
31
-		);
14
+    /**
15
+     * Build the component.
16
+     * 
17
+     * @param array $args
18
+     *
19
+     * @return string The rendered component.
20
+     */
21
+    public static function get($args = array()){
22
+        $defaults = array(
23
+            'type'       => 'info',
24
+            'class'      => '',
25
+            'icon' => '',
26
+            'heading'    => '',
27
+            'content'    => '',
28
+            'footer'     => '',
29
+            'dismissible'=> false,
30
+            'data'       => '',
31
+        );
32 32
 
33
-		/**
34
-		 * Parse incoming $args into an array and merge it with $defaults
35
-		 */
36
-		$args   = wp_parse_args( $args, $defaults );
37
-		$output = '';
38
-		if ( ! empty( $args['content'] ) ) {
39
-			$type = sanitize_html_class( $args['type'] );
40
-			if($type=='error'){$type='danger';}
41
-			$icon = !empty($args['icon']) ? "<i class='".esc_attr($args['icon'])."'></i>" : '';
33
+        /**
34
+         * Parse incoming $args into an array and merge it with $defaults
35
+         */
36
+        $args   = wp_parse_args( $args, $defaults );
37
+        $output = '';
38
+        if ( ! empty( $args['content'] ) ) {
39
+            $type = sanitize_html_class( $args['type'] );
40
+            if($type=='error'){$type='danger';}
41
+            $icon = !empty($args['icon']) ? "<i class='".esc_attr($args['icon'])."'></i>" : '';
42 42
 
43
-			// set default icon
44
-			if(!$icon && $args['icon']!==false && $type){
45
-				if($type=='danger'){$icon = '<i class="fas fa-exclamation-circle"></i>';}
46
-				elseif($type=='warning'){$icon = '<i class="fas fa-exclamation-triangle"></i>';}
47
-				elseif($type=='success'){$icon = '<i class="fas fa-check-circle"></i>';}
48
-				elseif($type=='info'){$icon = '<i class="fas fa-info-circle"></i>';}
49
-			}
43
+            // set default icon
44
+            if(!$icon && $args['icon']!==false && $type){
45
+                if($type=='danger'){$icon = '<i class="fas fa-exclamation-circle"></i>';}
46
+                elseif($type=='warning'){$icon = '<i class="fas fa-exclamation-triangle"></i>';}
47
+                elseif($type=='success'){$icon = '<i class="fas fa-check-circle"></i>';}
48
+                elseif($type=='info'){$icon = '<i class="fas fa-info-circle"></i>';}
49
+            }
50 50
 
51
-			$data = '';
52
-			$class = !empty($args['class']) ? esc_attr($args['class']) : '';
53
-			if($args['dismissible']){$class .= " alert-dismissible fade show";}
51
+            $data = '';
52
+            $class = !empty($args['class']) ? esc_attr($args['class']) : '';
53
+            if($args['dismissible']){$class .= " alert-dismissible fade show";}
54 54
 
55
-			// open
56
-			$output .= '<div class="alert alert-' . $type . ' '.$class.'" role="alert" '.$data.'>';
55
+            // open
56
+            $output .= '<div class="alert alert-' . $type . ' '.$class.'" role="alert" '.$data.'>';
57 57
 
58
-			// heading
59
-			if ( ! empty( $args['heading'] ) ) {
60
-				$output .= '<h4 class="alert-heading">' . $args['heading'] . '</h4>';
61
-			}
58
+            // heading
59
+            if ( ! empty( $args['heading'] ) ) {
60
+                $output .= '<h4 class="alert-heading">' . $args['heading'] . '</h4>';
61
+            }
62 62
 
63
-			// icon
64
-			if ( ! empty( $icon) ) {
65
-				$output .= $icon." ";
66
-			}
63
+            // icon
64
+            if ( ! empty( $icon) ) {
65
+                $output .= $icon." ";
66
+            }
67 67
 
68
-			// content
69
-			$output .= $args['content'];
68
+            // content
69
+            $output .= $args['content'];
70 70
 
71
-			// dismissible
72
-			if($args['dismissible']){
73
-				$output .= '<button type="button" class="close" data-dismiss="alert" aria-label="Close">';
74
-				$output .= '<span aria-hidden="true">&times;</span>';
75
-				$output .= '</button>';
76
-			}
71
+            // dismissible
72
+            if($args['dismissible']){
73
+                $output .= '<button type="button" class="close" data-dismiss="alert" aria-label="Close">';
74
+                $output .= '<span aria-hidden="true">&times;</span>';
75
+                $output .= '</button>';
76
+            }
77 77
 
78
-			// footer
79
-			if ( ! empty( $args['footer'] ) ) {
80
-				$output .= '<hr>';
81
-				$output .= '<p class="mb-0">' . $args['footer'] . '</p>';
82
-			}
78
+            // footer
79
+            if ( ! empty( $args['footer'] ) ) {
80
+                $output .= '<hr>';
81
+                $output .= '<p class="mb-0">' . $args['footer'] . '</p>';
82
+            }
83 83
 
84
-			// close
85
-			$output .= '</div>';
86
-		}
84
+            // close
85
+            $output .= '</div>';
86
+        }
87 87
 
88
-		return $output;
89
-	}
88
+        return $output;
89
+    }
90 90
 
91 91
 }
92 92
\ No newline at end of file
Please login to merge, or discard this patch.
ayecode/wp-ayecode-ui/includes/components/class-aui-component-dropdown.php 1 patch
Indentation   +51 added lines, -51 removed lines patch added patch discarded remove patch
@@ -1,7 +1,7 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 
3 3
 if ( ! defined( 'ABSPATH' ) ) {
4
-	exit; // Exit if accessed directly
4
+    exit; // Exit if accessed directly
5 5
 }
6 6
 
7 7
 /**
@@ -11,62 +11,62 @@  discard block
 block discarded – undo
11 11
  */
12 12
 class AUI_Component_Dropdown {
13 13
 
14
-	/**
15
-	 * Build the component.
16
-	 *
17
-	 * @param array $args
18
-	 *
19
-	 * @return string The rendered component.
20
-	 */
21
-	public static function get($args = array()){
22
-		$defaults = array(
23
-			'type'       => 'button',
24
-			'href'       => '#',
25
-			'class'      => 'btn btn-primary dropdown-toggle',
26
-			'wrapper_class' => '',
27
-			'dropdown_menu_class' => '',
28
-			'id'         => '',
29
-			'title'      => '',
30
-			'value'      => '',
31
-			'content'    => '',
32
-			'icon'       => '',
33
-			'hover_content' => '',
34
-			'hover_icon'    => '',
35
-			'data-toggle'   => 'dropdown',
36
-			'aria-haspopup' => 'true',
37
-			'aria-expanded' => 'false',
38
-			'dropdown_menu'          => '', // unescaped html menu (non-preferred way)
39
-			'dropdown_items'          => array(), // array of AUI calls
14
+    /**
15
+     * Build the component.
16
+     *
17
+     * @param array $args
18
+     *
19
+     * @return string The rendered component.
20
+     */
21
+    public static function get($args = array()){
22
+        $defaults = array(
23
+            'type'       => 'button',
24
+            'href'       => '#',
25
+            'class'      => 'btn btn-primary dropdown-toggle',
26
+            'wrapper_class' => '',
27
+            'dropdown_menu_class' => '',
28
+            'id'         => '',
29
+            'title'      => '',
30
+            'value'      => '',
31
+            'content'    => '',
32
+            'icon'       => '',
33
+            'hover_content' => '',
34
+            'hover_icon'    => '',
35
+            'data-toggle'   => 'dropdown',
36
+            'aria-haspopup' => 'true',
37
+            'aria-expanded' => 'false',
38
+            'dropdown_menu'          => '', // unescaped html menu (non-preferred way)
39
+            'dropdown_items'          => array(), // array of AUI calls
40 40
 
41
-		);
41
+        );
42 42
 
43
-		/**
44
-		 * Parse incoming $args into an array and merge it with $defaults
45
-		 */
46
-		$args   = wp_parse_args( $args, $defaults );
47
-		$output = '';
48
-		if ( ! empty( $args['type'] ) ) {
49
-			// wrapper open
50
-			$output .= '<div class="dropdown '.AUI_Component_Helper::esc_classes($args['wrapper_class']).'">';
43
+        /**
44
+         * Parse incoming $args into an array and merge it with $defaults
45
+         */
46
+        $args   = wp_parse_args( $args, $defaults );
47
+        $output = '';
48
+        if ( ! empty( $args['type'] ) ) {
49
+            // wrapper open
50
+            $output .= '<div class="dropdown '.AUI_Component_Helper::esc_classes($args['wrapper_class']).'">';
51 51
 
52
-			// button part
53
-			$output .= aui()->button($args);
52
+            // button part
53
+            $output .= aui()->button($args);
54 54
 
55
-			// dropdown-menu
56
-			if(!empty($args['dropdown_menu'])){
57
-				$output .= $args['dropdown_menu'];
58
-			}elseif(!empty($args['dropdown_items'])){
59
-				$output .= '<div class="dropdown-menu '.AUI_Component_Helper::esc_classes($args['dropdown_menu_class']).'" aria-labelledby="'.sanitize_html_class($args['id']).'">';
60
-				$output .= aui()->render($args['dropdown_items']);
61
-				$output .= '</div>';
62
-			}
55
+            // dropdown-menu
56
+            if(!empty($args['dropdown_menu'])){
57
+                $output .= $args['dropdown_menu'];
58
+            }elseif(!empty($args['dropdown_items'])){
59
+                $output .= '<div class="dropdown-menu '.AUI_Component_Helper::esc_classes($args['dropdown_menu_class']).'" aria-labelledby="'.sanitize_html_class($args['id']).'">';
60
+                $output .= aui()->render($args['dropdown_items']);
61
+                $output .= '</div>';
62
+            }
63 63
 
64
-			// wrapper close
65
-			$output .= '</div>';
64
+            // wrapper close
65
+            $output .= '</div>';
66 66
 
67
-		}
67
+        }
68 68
 
69
-		return $output;
70
-	}
69
+        return $output;
70
+    }
71 71
 
72 72
 }
73 73
\ No newline at end of file
Please login to merge, or discard this patch.
vendor/ayecode/wp-ayecode-ui/example-plugin.php 1 patch
Indentation   +123 added lines, -123 removed lines patch added patch discarded remove patch
@@ -16,132 +16,132 @@
 block discarded – undo
16 16
 
17 17
 // If this file is called directly, abort.
18 18
 if ( ! defined( 'WPINC' ) ) {
19
-	die;
19
+    die;
20 20
 }
21 21
 
22 22
 class AyeCode_UI_Plugin {
23 23
 
24
-	/**
25
-	 * AUI Plugin constructor.
26
-	 *
27
-	 * @since 1.0.0
28
-	 */
29
-	public function __construct() {
30
-
31
-		// load AUI
32
-		require_once( dirname( __FILE__ ) . '/ayecode-ui-loader.php' );
33
-
34
-		// Maybe show example page
35
-		add_action( 'template_redirect', array( $this,'maybe_show_examples' ) );
36
-	}
37
-
38
-	public function maybe_show_examples(){
39
-		if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
40
-			echo "<head>";
41
-			wp_head();
42
-			echo "</head>";
43
-			echo "<body>";
44
-			echo $this->get_examples();
45
-			echo "</body>";
46
-			exit;
47
-		}
48
-	}
49
-
50
-	public function get_examples(){
51
-		$output = '';
52
-
53
-
54
-		// open form
55
-		$output .= "<form class='p-5 m-5 border rounded'>";
56
-
57
-		// input example
58
-		$output .= aui()->input(array(
59
-			'type'  =>  'text',
60
-			'id'    =>  'text-example',
61
-			'name'    =>  'text-example',
62
-			'placeholder'   => 'text placeholder',
63
-			'title'   => 'Text input example',
64
-			'value' =>  '',
65
-			'required'  => false,
66
-			'help_text' => 'help text',
67
-			'label' => 'Text input example label'
68
-		));
69
-
70
-		// input example
71
-		$output .= aui()->input(array(
72
-			'type'  =>  'url',
73
-			'id'    =>  'text-example2',
74
-			'name'    =>  'text-example',
75
-			'placeholder'   => 'url placeholder',
76
-			'title'   => 'Text input example',
77
-			'value' =>  '',
78
-			'required'  => false,
79
-			'help_text' => 'help text',
80
-			'label' => 'Text input example label'
81
-		));
82
-
83
-		// checkbox example
84
-		$output .= aui()->input(array(
85
-			'type'  =>  'checkbox',
86
-			'id'    =>  'checkbox-example',
87
-			'name'    =>  'checkbox-example',
88
-			'placeholder'   => 'checkbox-example',
89
-			'title'   => 'Checkbox example',
90
-			'value' =>  '1',
91
-			'checked'   => true,
92
-			'required'  => false,
93
-			'help_text' => 'help text',
94
-			'label' => 'Checkbox checked'
95
-		));
96
-
97
-		// checkbox example
98
-		$output .= aui()->input(array(
99
-			'type'  =>  'checkbox',
100
-			'id'    =>  'checkbox-example2',
101
-			'name'    =>  'checkbox-example2',
102
-			'placeholder'   => 'checkbox-example',
103
-			'title'   => 'Checkbox example',
104
-			'value' =>  '1',
105
-			'checked'   => false,
106
-			'required'  => false,
107
-			'help_text' => 'help text',
108
-			'label' => 'Checkbox un-checked'
109
-		));
110
-
111
-		// switch example
112
-		$output .= aui()->input(array(
113
-			'type'  =>  'checkbox',
114
-			'id'    =>  'switch-example',
115
-			'name'    =>  'switch-example',
116
-			'placeholder'   => 'checkbox-example',
117
-			'title'   => 'Switch example',
118
-			'value' =>  '1',
119
-			'checked'   => true,
120
-			'switch'    => true,
121
-			'required'  => false,
122
-			'help_text' => 'help text',
123
-			'label' => 'Switch on'
124
-		));
125
-
126
-		// switch example
127
-		$output .= aui()->input(array(
128
-			'type'  =>  'checkbox',
129
-			'id'    =>  'switch-example2',
130
-			'name'    =>  'switch-example2',
131
-			'placeholder'   => 'checkbox-example',
132
-			'title'   => 'Switch example',
133
-			'value' =>  '1',
134
-			'checked'   => false,
135
-			'switch'    => true,
136
-			'required'  => false,
137
-			'help_text' => 'help text',
138
-			'label' => 'Switch off'
139
-		));
140
-
141
-		// close form
142
-		$output .= "</form>";
143
-
144
-		return $output;
145
-	}
24
+    /**
25
+     * AUI Plugin constructor.
26
+     *
27
+     * @since 1.0.0
28
+     */
29
+    public function __construct() {
30
+
31
+        // load AUI
32
+        require_once( dirname( __FILE__ ) . '/ayecode-ui-loader.php' );
33
+
34
+        // Maybe show example page
35
+        add_action( 'template_redirect', array( $this,'maybe_show_examples' ) );
36
+    }
37
+
38
+    public function maybe_show_examples(){
39
+        if(current_user_can('manage_options') && isset($_REQUEST['preview-aui'])){
40
+            echo "<head>";
41
+            wp_head();
42
+            echo "</head>";
43
+            echo "<body>";
44
+            echo $this->get_examples();
45
+            echo "</body>";
46
+            exit;
47
+        }
48
+    }
49
+
50
+    public function get_examples(){
51
+        $output = '';
52
+
53
+
54
+        // open form
55
+        $output .= "<form class='p-5 m-5 border rounded'>";
56
+
57
+        // input example
58
+        $output .= aui()->input(array(
59
+            'type'  =>  'text',
60
+            'id'    =>  'text-example',
61
+            'name'    =>  'text-example',
62
+            'placeholder'   => 'text placeholder',
63
+            'title'   => 'Text input example',
64
+            'value' =>  '',
65
+            'required'  => false,
66
+            'help_text' => 'help text',
67
+            'label' => 'Text input example label'
68
+        ));
69
+
70
+        // input example
71
+        $output .= aui()->input(array(
72
+            'type'  =>  'url',
73
+            'id'    =>  'text-example2',
74
+            'name'    =>  'text-example',
75
+            'placeholder'   => 'url placeholder',
76
+            'title'   => 'Text input example',
77
+            'value' =>  '',
78
+            'required'  => false,
79
+            'help_text' => 'help text',
80
+            'label' => 'Text input example label'
81
+        ));
82
+
83
+        // checkbox example
84
+        $output .= aui()->input(array(
85
+            'type'  =>  'checkbox',
86
+            'id'    =>  'checkbox-example',
87
+            'name'    =>  'checkbox-example',
88
+            'placeholder'   => 'checkbox-example',
89
+            'title'   => 'Checkbox example',
90
+            'value' =>  '1',
91
+            'checked'   => true,
92
+            'required'  => false,
93
+            'help_text' => 'help text',
94
+            'label' => 'Checkbox checked'
95
+        ));
96
+
97
+        // checkbox example
98
+        $output .= aui()->input(array(
99
+            'type'  =>  'checkbox',
100
+            'id'    =>  'checkbox-example2',
101
+            'name'    =>  'checkbox-example2',
102
+            'placeholder'   => 'checkbox-example',
103
+            'title'   => 'Checkbox example',
104
+            'value' =>  '1',
105
+            'checked'   => false,
106
+            'required'  => false,
107
+            'help_text' => 'help text',
108
+            'label' => 'Checkbox un-checked'
109
+        ));
110
+
111
+        // switch example
112
+        $output .= aui()->input(array(
113
+            'type'  =>  'checkbox',
114
+            'id'    =>  'switch-example',
115
+            'name'    =>  'switch-example',
116
+            'placeholder'   => 'checkbox-example',
117
+            'title'   => 'Switch example',
118
+            'value' =>  '1',
119
+            'checked'   => true,
120
+            'switch'    => true,
121
+            'required'  => false,
122
+            'help_text' => 'help text',
123
+            'label' => 'Switch on'
124
+        ));
125
+
126
+        // switch example
127
+        $output .= aui()->input(array(
128
+            'type'  =>  'checkbox',
129
+            'id'    =>  'switch-example2',
130
+            'name'    =>  'switch-example2',
131
+            'placeholder'   => 'checkbox-example',
132
+            'title'   => 'Switch example',
133
+            'value' =>  '1',
134
+            'checked'   => false,
135
+            'switch'    => true,
136
+            'required'  => false,
137
+            'help_text' => 'help text',
138
+            'label' => 'Switch off'
139
+        ));
140
+
141
+        // close form
142
+        $output .= "</form>";
143
+
144
+        return $output;
145
+    }
146 146
 }
147 147
 new AyeCode_UI_Plugin();
148 148
\ No newline at end of file
Please login to merge, or discard this patch.
includes/admin/class-wpinv-customers-table.php 1 patch
Indentation   +220 added lines, -220 removed lines patch added patch discarded remove patch
@@ -9,7 +9,7 @@  discard block
 block discarded – undo
9 9
 
10 10
 // Load WP_List_Table if not loaded
11 11
 if ( ! class_exists( 'WP_List_Table' ) ) {
12
-	require_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php';
12
+    require_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php';
13 13
 }
14 14
 
15 15
 /**
@@ -21,223 +21,223 @@  discard block
 block discarded – undo
21 21
  */
22 22
 class WPInv_Customers_Table extends WP_List_Table {
23 23
 
24
-	/**
25
-	 * @var int Number of items per page
26
-	 * @since 1.0.19
27
-	 */
28
-	public $per_page = 10;
29
-
30
-	/**
31
-	 * Get things started
32
-	 *
33
-	 * @since 1.0.19
34
-	 * @see WP_List_Table::__construct()
35
-	 */
36
-	public function __construct() {
37
-
38
-		// Set parent defaults
39
-		parent::__construct( array(
40
-			'singular' => 'id',
41
-			'plural'   => 'ids',
42
-			'ajax'     => false,
43
-		) );
44
-
45
-	}
46
-
47
-	/**
48
-	 * Gets the name of the primary column.
49
-	 *
50
-	 * @since 1.0.19
51
-	 * @access protected
52
-	 *
53
-	 * @return string Name of the primary column.
54
-	 */
55
-	protected function get_primary_column_name() {
56
-		return 'name';
57
-	}
58
-
59
-	/**
60
-	 * This function renders most of the columns in the list table.
61
-	 *
62
-	 * @since 1.0.19
63
-	 *
64
-	 * @param WP_User $item
65
-	 * @param string $column_name The name of the column
66
-	 *
67
-	 * @return string Column Name
68
-	 */
69
-	public function column_default( $item, $column_name ) {
70
-		$value = sanitize_text_field( get_user_meta( $item->ID, '_wpinv_' . $column_name, true ) );
71
-		return apply_filters( 'wpinv_customers_table_column' . $column_name, $value, $item );
72
-	}
73
-
74
-	/**
75
-	 * Displays the country column.
76
-	 *
77
-	 * @since 1.0.19
78
-	 *
79
-	 * @param WP_User $user
80
-	 *
81
-	 * @return string Column Name
82
-	 */
83
-	public function column_country( $user ) {
84
-		$country = wpinv_sanitize_country( $user->_wpinv_country );
85
-		if ( $country ) {
86
-			$country = wpinv_country_name( $country );
87
-		}
88
-		return sanitize_text_field( $country );
89
-	}
90
-
91
-	/**
92
-	 * Displays the state column.
93
-	 *
94
-	 * @since 1.0.19
95
-	 *
96
-	 * @param WP_User $user
97
-	 *
98
-	 * @return string Column Name
99
-	 */
100
-	public function column_state( $user ) {
101
-		$country = wpinv_sanitize_country( $user->_wpinv_country );
102
-		$state   = $user->_wpinv_state;
103
-		if ( $state ) {
104
-			$state = wpinv_state_name( $state, $country );
105
-		}
106
-
107
-		return sanitize_text_field( $state );
108
-	}
109
-
110
-	/**
111
-	 * Generates content for a single row of the table
112
-	 * @since 1.0.19
113
-	 *
114
-	 * @param int $item The user id.
115
-	 */
116
-	public function single_row( $item ) {
117
-		$item = get_user_by( 'id', $item );
118
-
119
-		if ( empty( $item ) ) {
120
-			return;
121
-		}
122
-
123
-		echo '<tr>';
124
-		$this->single_row_columns( $item );
125
-		echo '</tr>';
126
-	}
127
-
128
-	/**
129
-	 * Displays the customers name
130
-	 *
131
-	 * @param  WP_User $customer customer.
132
-	 * @return string
133
-	 */
134
-	public function column_name( $customer ) {
135
-
136
-		// Customer view URL.
137
-		$view_url    = esc_url( add_query_arg( 'user_id', $customer->ID, admin_url( 'user-edit.php' ) ) );
138
-		$row_actions = $this->row_actions(
139
-			array(
140
-				'view' => '<a href="' . $view_url . '#getpaid-fieldset-billing">' . __( 'Edit Details', 'invoicing' ) . '</a>',
141
-			)
142
-		);
143
-
144
-		// Get user's address.
145
-		$address = wpinv_get_user_address( $customer->ID );
146
-
147
-		// Customer email address.
148
-		$email       = sanitize_email( $customer->user_email );
149
-
150
-		// Customer's avatar.
151
-		$avatar = esc_url( get_avatar_url( $email ) );
152
-		$avatar = "<img src='$avatar' height='32' width='32'/>";
153
-
154
-		// Customer's name.
155
-		$name   = sanitize_text_field( "{$address['first_name']} {$address['last_name']}" );
156
-
157
-		if ( ! empty( $name ) ) {
158
-			$name = "<div style='overflow: hidden;height: 18px;'>$name</div>";
159
-		}
160
-
161
-		$email = "<div class='row-title'><a href='$view_url'>$email</a></div>";
162
-
163
-		return "<div style='display: flex;'><div>$avatar</div><div style='margin-left: 10px;'>$name<strong>$email</strong>$row_actions</div></div>";
164
-
165
-	}
166
-
167
-	/**
168
-	 * Retrieve the table columns
169
-	 *
170
-	 * @since 1.0.19
171
-	 * @return array $columns Array of all the list table columns
172
-	 */
173
-	public function get_columns() {
174
-
175
-		$columns = array(
176
-			'name'     => __( 'Name', 'invoicing' ),
177
-			'country'  => __( 'Country', 'invoicing' ),
178
-			'state'    => __( 'State', 'invoicing' ),
179
-			'city'     => __( 'City', 'invoicing' ),
180
-			'zip'      => __( 'ZIP', 'invoicing' ),
181
-			'address'  => __( 'Address', 'invoicing' ),
182
-			'phone'    => __( 'Phone', 'invoicing' ),
183
-			'company'  => __( 'Company', 'invoicing' ),
184
-		);
185
-		return apply_filters( 'wpinv_customers_table_columns', $columns );
186
-
187
-	}
188
-
189
-	/**
190
-	 * Retrieve the current page number
191
-	 *
192
-	 * @since 1.0.19
193
-	 * @return int Current page number
194
-	 */
195
-	public function get_paged() {
196
-		return isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 1;
197
-	}
198
-
199
-	/**
200
-	 * Returns bulk actions.
201
-	 *
202
-	 * @since 1.0.19
203
-	 * @return void
204
-	 */
205
-	public function bulk_actions( $which = '' ) {
206
-		return array();
207
-	}
208
-
209
-	/**
210
-	 *  Prepares the display query
211
-	 */
212
-	public function prepare_query() {
213
-		global $wpdb;
214
-
215
-		// Users with invoices.
216
-    	$customers = $wpdb->get_col(
217
-			$wpdb->prepare(
218
-				"SELECT DISTINCT( post_author ) FROM $wpdb->posts WHERE post_type=%s LIMIT %d,%d",
219
-				'wpi_invoice',
220
-				$this->get_paged() * 10 - 10,
221
-				$this->per_page
222
-			)
223
-		);
224
-
225
-		$this->items = $customers;
226
-		$this->total = (int) $wpdb->get_var( $wpdb->prepare( "SELECT COUNT( DISTINCT( post_author ) ) FROM $wpdb->posts WHERE post_type=%s", 'wpi_invoice' ) );
227
-
228
-	}
229
-
230
-	/**
231
-	 * Setup the final data for the table
232
-	 *
233
-	 * @since 1.0.19
234
-	 * @return void
235
-	 */
236
-	public function prepare_items() {
237
-		$columns               = $this->get_columns();
238
-		$hidden                = array(); // No hidden columns
239
-		$sortable              = $this->get_sortable_columns();
240
-		$this->_column_headers = array( $columns, $hidden, $sortable );
241
-		$this->prepare_query();
242
-	}
24
+    /**
25
+     * @var int Number of items per page
26
+     * @since 1.0.19
27
+     */
28
+    public $per_page = 10;
29
+
30
+    /**
31
+     * Get things started
32
+     *
33
+     * @since 1.0.19
34
+     * @see WP_List_Table::__construct()
35
+     */
36
+    public function __construct() {
37
+
38
+        // Set parent defaults
39
+        parent::__construct( array(
40
+            'singular' => 'id',
41
+            'plural'   => 'ids',
42
+            'ajax'     => false,
43
+        ) );
44
+
45
+    }
46
+
47
+    /**
48
+     * Gets the name of the primary column.
49
+     *
50
+     * @since 1.0.19
51
+     * @access protected
52
+     *
53
+     * @return string Name of the primary column.
54
+     */
55
+    protected function get_primary_column_name() {
56
+        return 'name';
57
+    }
58
+
59
+    /**
60
+     * This function renders most of the columns in the list table.
61
+     *
62
+     * @since 1.0.19
63
+     *
64
+     * @param WP_User $item
65
+     * @param string $column_name The name of the column
66
+     *
67
+     * @return string Column Name
68
+     */
69
+    public function column_default( $item, $column_name ) {
70
+        $value = sanitize_text_field( get_user_meta( $item->ID, '_wpinv_' . $column_name, true ) );
71
+        return apply_filters( 'wpinv_customers_table_column' . $column_name, $value, $item );
72
+    }
73
+
74
+    /**
75
+     * Displays the country column.
76
+     *
77
+     * @since 1.0.19
78
+     *
79
+     * @param WP_User $user
80
+     *
81
+     * @return string Column Name
82
+     */
83
+    public function column_country( $user ) {
84
+        $country = wpinv_sanitize_country( $user->_wpinv_country );
85
+        if ( $country ) {
86
+            $country = wpinv_country_name( $country );
87
+        }
88
+        return sanitize_text_field( $country );
89
+    }
90
+
91
+    /**
92
+     * Displays the state column.
93
+     *
94
+     * @since 1.0.19
95
+     *
96
+     * @param WP_User $user
97
+     *
98
+     * @return string Column Name
99
+     */
100
+    public function column_state( $user ) {
101
+        $country = wpinv_sanitize_country( $user->_wpinv_country );
102
+        $state   = $user->_wpinv_state;
103
+        if ( $state ) {
104
+            $state = wpinv_state_name( $state, $country );
105
+        }
106
+
107
+        return sanitize_text_field( $state );
108
+    }
109
+
110
+    /**
111
+     * Generates content for a single row of the table
112
+     * @since 1.0.19
113
+     *
114
+     * @param int $item The user id.
115
+     */
116
+    public function single_row( $item ) {
117
+        $item = get_user_by( 'id', $item );
118
+
119
+        if ( empty( $item ) ) {
120
+            return;
121
+        }
122
+
123
+        echo '<tr>';
124
+        $this->single_row_columns( $item );
125
+        echo '</tr>';
126
+    }
127
+
128
+    /**
129
+     * Displays the customers name
130
+     *
131
+     * @param  WP_User $customer customer.
132
+     * @return string
133
+     */
134
+    public function column_name( $customer ) {
135
+
136
+        // Customer view URL.
137
+        $view_url    = esc_url( add_query_arg( 'user_id', $customer->ID, admin_url( 'user-edit.php' ) ) );
138
+        $row_actions = $this->row_actions(
139
+            array(
140
+                'view' => '<a href="' . $view_url . '#getpaid-fieldset-billing">' . __( 'Edit Details', 'invoicing' ) . '</a>',
141
+            )
142
+        );
143
+
144
+        // Get user's address.
145
+        $address = wpinv_get_user_address( $customer->ID );
146
+
147
+        // Customer email address.
148
+        $email       = sanitize_email( $customer->user_email );
149
+
150
+        // Customer's avatar.
151
+        $avatar = esc_url( get_avatar_url( $email ) );
152
+        $avatar = "<img src='$avatar' height='32' width='32'/>";
153
+
154
+        // Customer's name.
155
+        $name   = sanitize_text_field( "{$address['first_name']} {$address['last_name']}" );
156
+
157
+        if ( ! empty( $name ) ) {
158
+            $name = "<div style='overflow: hidden;height: 18px;'>$name</div>";
159
+        }
160
+
161
+        $email = "<div class='row-title'><a href='$view_url'>$email</a></div>";
162
+
163
+        return "<div style='display: flex;'><div>$avatar</div><div style='margin-left: 10px;'>$name<strong>$email</strong>$row_actions</div></div>";
164
+
165
+    }
166
+
167
+    /**
168
+     * Retrieve the table columns
169
+     *
170
+     * @since 1.0.19
171
+     * @return array $columns Array of all the list table columns
172
+     */
173
+    public function get_columns() {
174
+
175
+        $columns = array(
176
+            'name'     => __( 'Name', 'invoicing' ),
177
+            'country'  => __( 'Country', 'invoicing' ),
178
+            'state'    => __( 'State', 'invoicing' ),
179
+            'city'     => __( 'City', 'invoicing' ),
180
+            'zip'      => __( 'ZIP', 'invoicing' ),
181
+            'address'  => __( 'Address', 'invoicing' ),
182
+            'phone'    => __( 'Phone', 'invoicing' ),
183
+            'company'  => __( 'Company', 'invoicing' ),
184
+        );
185
+        return apply_filters( 'wpinv_customers_table_columns', $columns );
186
+
187
+    }
188
+
189
+    /**
190
+     * Retrieve the current page number
191
+     *
192
+     * @since 1.0.19
193
+     * @return int Current page number
194
+     */
195
+    public function get_paged() {
196
+        return isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 1;
197
+    }
198
+
199
+    /**
200
+     * Returns bulk actions.
201
+     *
202
+     * @since 1.0.19
203
+     * @return void
204
+     */
205
+    public function bulk_actions( $which = '' ) {
206
+        return array();
207
+    }
208
+
209
+    /**
210
+     *  Prepares the display query
211
+     */
212
+    public function prepare_query() {
213
+        global $wpdb;
214
+
215
+        // Users with invoices.
216
+        $customers = $wpdb->get_col(
217
+            $wpdb->prepare(
218
+                "SELECT DISTINCT( post_author ) FROM $wpdb->posts WHERE post_type=%s LIMIT %d,%d",
219
+                'wpi_invoice',
220
+                $this->get_paged() * 10 - 10,
221
+                $this->per_page
222
+            )
223
+        );
224
+
225
+        $this->items = $customers;
226
+        $this->total = (int) $wpdb->get_var( $wpdb->prepare( "SELECT COUNT( DISTINCT( post_author ) ) FROM $wpdb->posts WHERE post_type=%s", 'wpi_invoice' ) );
227
+
228
+    }
229
+
230
+    /**
231
+     * Setup the final data for the table
232
+     *
233
+     * @since 1.0.19
234
+     * @return void
235
+     */
236
+    public function prepare_items() {
237
+        $columns               = $this->get_columns();
238
+        $hidden                = array(); // No hidden columns
239
+        $sortable              = $this->get_sortable_columns();
240
+        $this->_column_headers = array( $columns, $hidden, $sortable );
241
+        $this->prepare_query();
242
+    }
243 243
 }
Please login to merge, or discard this patch.