PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.9.7
GiveWP – Donation Plugin and Fundraising Platform v2.9.7
4.16.4 4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / includes / admin / tools / logs / class-update-logs-list-table.php
give / includes / admin / tools / logs Last commit date
class-api-requests-logs-list-table.php 6 years ago class-gateway-error-logs-list-table.php 6 years ago class-spam-logs-list-table.php 6 years ago class-update-logs-list-table.php 6 years ago logs.php 6 years ago
class-update-logs-list-table.php
274 lines
1 <?php
2 /**
3 * Update Log View Class
4 *
5 * @package Give
6 * @subpackage Admin/Reports
7 * @copyright Copyright (c) 2016, GiveWP
8 * @license https://opensource.org/licenses/gpl-license GNU Public License
9 * @since 2.0.1
10 */
11
12 // Exit if accessed directly.
13 if ( ! defined( 'ABSPATH' ) ) {
14 exit;
15 }
16
17 // Load WP_List_Table if not loaded
18 if ( ! class_exists( 'WP_List_Table' ) ) {
19 require_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php';
20 }
21
22 /**
23 * Give_Update_Log_Table List Table Class
24 *
25 * Renders the update log list table
26 *
27 * @since 2.0.1
28 */
29 class Give_Update_Log_Table extends WP_List_Table {
30 /**
31 * Number of items per page
32 *
33 * @var int
34 * @since 2.0.1
35 */
36 public $per_page = 30;
37
38 /**
39 * Get things started
40 *
41 * @since 2.0.1
42 * @see WP_List_Table::__construct()
43 */
44 public function __construct() {
45 global $status, $page;
46
47 // Set parent defaults
48 parent::__construct(
49 array(
50 'singular' => give_get_forms_label_singular(), // Singular name of the listed records
51 'plural' => give_get_forms_label_plural(), // Plural name of the listed records
52 'ajax' => false, // Does this table support ajax?
53 )
54 );
55 }
56
57 /**
58 * Show the search field
59 *
60 * @since 2.0.1
61 * @access public
62 *
63 * @param string $text Label for the search box
64 * @param string $input_id ID of the search box
65 *
66 * @return void
67 */
68 public function search_box( $text, $input_id ) {
69 }
70
71 /**
72 * Retrieve the table columns
73 *
74 * @access public
75 * @since 2.0.1
76 *
77 * @return array $columns Array of all the list table columns
78 */
79 public function get_columns() {
80 $columns = array(
81 'ID' => __( 'Log ID', 'give' ),
82 'date' => __( 'Date', 'give' ),
83 'details' => __( 'Process Details', 'give' ),
84 );
85
86 return $columns;
87 }
88
89 /**
90 * This function renders most of the columns in the list table.
91 *
92 * @access public
93 * @since 2.0.1
94 *
95 * @param array $item Contains all the data of the discount code
96 * @param string $column_name The name of the column
97 *
98 * @return string Column Name
99 */
100 public function column_default( $item, $column_name ) {
101 switch ( $column_name ) {
102 case 'ID':
103 return sprintf(
104 '<span class="give-item-label give-item-label-gray">%1$s</span> %2$s',
105 esc_attr( $item[ $column_name ] ),
106 esc_attr( $item['title'] )
107 );
108
109 default:
110 return esc_attr( $item[ $column_name ] );
111 }
112 }
113
114 /**
115 * Output Error Message column
116 *
117 * @access public
118 * @since 2.0.1
119 *
120 * @param array $item Contains all the data of the log
121 *
122 * @return void
123 */
124 public function column_details( $item ) {
125 echo Give()->tooltips->render_link(
126 array(
127 'label' => __( 'View Update Log', 'give' ),
128 'tag_content' => '<span class="dashicons dashicons-visibility"></span>',
129 'link' => "#TB_inline?width=640&amp;inlineId=log-details-{$item['ID']}",
130 'attributes' => array(
131 'class' => 'thickbox give-error-log-details-link button button-small',
132 ),
133 )
134 );
135 ?>
136 <div id="log-details-<?php echo esc_attr( $item['ID'] ); ?>" style="display:none;">
137 <?php
138
139 // Print Log Content, if not empty.
140 if ( ! empty( $item['log_content'] ) ) {
141 echo sprintf(
142 '<p><pre>%1$s</pre></div>',
143 esc_html( $item['log_content'] )
144 );
145 }
146 ?>
147 </div>
148 <?php
149 }
150
151
152 /**
153 * Display Tablenav (extended)
154 *
155 * Display the table navigation above or below the table even when no items in the logs, so nav doesn't disappear
156 *
157 * @see : https://github.com/impress-org/give/issues/564
158 *
159 * @since 1.4.1
160 * @access protected
161 *
162 * @param string $which
163 */
164 protected function display_tablenav( $which ) {
165 if ( 'top' === $which ) {
166 wp_nonce_field( 'bulk-' . $this->_args['plural'] );
167 }
168 ?>
169 <div class="tablenav <?php echo esc_attr( $which ); ?>">
170
171 <div class="alignleft actions bulkactions">
172 <?php $this->bulk_actions( $which ); ?>
173 </div>
174 <?php
175 $this->extra_tablenav( $which );
176 $this->pagination( $which );
177 ?>
178
179 <br class="clear"/>
180 </div>
181 <?php
182 }
183
184 /**
185 * Retrieve the current page number
186 *
187 * @access public
188 * @since 2.0.1
189 *
190 * @return int Current page number
191 */
192 public function get_paged() {
193 return isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 1;
194 }
195
196 /**
197 * Outputs the log views
198 *
199 * @param string $which Top or Bottom.
200 *
201 * @access public
202 * @since 2.0.1
203 *
204 * @return void
205 */
206 function bulk_actions( $which = '' ) {
207 }
208
209 /**
210 * Gets the log entries for the current view
211 *
212 * @access public
213 * @since 2.0.1
214 *
215 * @return array $logs_data Array of all the Log entires
216 */
217 public function get_logs() {
218 $logs_data = array();
219 $paged = $this->get_paged();
220 $log_query = array(
221 'log_type' => 'update',
222 'paged' => $paged,
223 'posts_per_page' => $this->per_page,
224 );
225
226 $logs = Give()->logs->get_connected_logs( $log_query );
227
228 if ( $logs ) {
229 foreach ( $logs as $log ) {
230
231 $logs_data[] = array(
232 'ID' => $log->ID,
233 'title' => $log->log_title,
234 'date' => $log->log_date,
235 'log_content' => $log->log_content,
236 'log_date' => $log->log_date,
237 );
238 }
239 }
240
241 return $logs_data;
242 }
243
244 /**
245 * Setup the final data for the table
246 *
247 * @access public
248 * @since 2.0.1
249 * @uses Give_Update_Log_Table::get_columns()
250 * @uses WP_List_Table::get_sortable_columns()
251 * @uses Give_Update_Log_Table::get_pagenum()
252 * @uses Give_Update_Log_Table::get_logs()
253 * @uses Give_Update_Log_Table::get_log_count()
254 *
255 * @return void
256 */
257 public function prepare_items() {
258 $columns = $this->get_columns();
259 $hidden = array(); // No hidden columns
260 $sortable = $this->get_sortable_columns();
261 $this->_column_headers = array( $columns, $hidden, $sortable );
262 $this->items = $this->get_logs();
263 $total_items = Give()->logs->get_log_count( 0, 'update' );
264
265 $this->set_pagination_args(
266 array(
267 'total_items' => $total_items,
268 'per_page' => $this->per_page,
269 'total_pages' => ceil( $total_items / $this->per_page ),
270 )
271 );
272 }
273 }
274