PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.6.0
GiveWP – Donation Plugin and Fundraising Platform v2.6.0
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 7 years ago class-gateway-error-logs-list-table.php 7 years ago class-spam-logs-list-table.php 6 years ago class-update-logs-list-table.php 7 years ago logs.php 6 years ago
class-update-logs-list-table.php
268 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( array(
49 'singular' => give_get_forms_label_singular(), // Singular name of the listed records
50 'plural' => give_get_forms_label_plural(), // Plural name of the listed records
51 'ajax' => false, // Does this table support ajax?
52 ) );
53 }
54
55 /**
56 * Show the search field
57 *
58 * @since 2.0.1
59 * @access public
60 *
61 * @param string $text Label for the search box
62 * @param string $input_id ID of the search box
63 *
64 * @return void
65 */
66 public function search_box( $text, $input_id ) {
67 }
68
69 /**
70 * Retrieve the table columns
71 *
72 * @access public
73 * @since 2.0.1
74 *
75 * @return array $columns Array of all the list table columns
76 */
77 public function get_columns() {
78 $columns = array(
79 'ID' => __( 'Log ID', 'give' ),
80 'date' => __( 'Date', 'give' ),
81 'details' => __( 'Process Details', 'give' ),
82 );
83
84 return $columns;
85 }
86
87 /**
88 * This function renders most of the columns in the list table.
89 *
90 * @access public
91 * @since 2.0.1
92 *
93 * @param array $item Contains all the data of the discount code
94 * @param string $column_name The name of the column
95 *
96 * @return string Column Name
97 */
98 public function column_default( $item, $column_name ) {
99 switch ( $column_name ) {
100 case 'ID':
101 return sprintf(
102 '<span class="give-item-label give-item-label-gray">%1$s</span> %2$s',
103 esc_attr( $item[ $column_name ] ),
104 esc_attr( $item['title'] )
105 );
106
107 default:
108 return esc_attr( $item[ $column_name ] );
109 }
110 }
111
112 /**
113 * Output Error Message column
114 *
115 * @access public
116 * @since 2.0.1
117 *
118 * @param array $item Contains all the data of the log
119 *
120 * @return void
121 */
122 public function column_details( $item ) {
123 echo Give()->tooltips->render_link( array(
124 'label' => __( 'View Update Log', 'give' ),
125 'tag_content' => '<span class="dashicons dashicons-visibility"></span>',
126 'link' => "#TB_inline?width=640&amp;inlineId=log-details-{$item['ID']}",
127 'attributes' => array(
128 'class' => 'thickbox give-error-log-details-link button button-small',
129 ),
130 ) );
131 ?>
132 <div id="log-details-<?php echo esc_attr( $item['ID'] ); ?>" style="display:none;">
133 <?php
134
135 // Print Log Content, if not empty.
136 if ( ! empty( $item['log_content'] ) ) {
137 echo sprintf(
138 '<p><pre>%1$s</pre></div>',
139 esc_html( $item['log_content'] )
140 );
141 }
142 ?>
143 </div>
144 <?php
145 }
146
147
148 /**
149 * Display Tablenav (extended)
150 *
151 * Display the table navigation above or below the table even when no items in the logs, so nav doesn't disappear
152 *
153 * @see : https://github.com/impress-org/give/issues/564
154 *
155 * @since 1.4.1
156 * @access protected
157 *
158 * @param string $which
159 */
160 protected function display_tablenav( $which ) {
161 if ( 'top' === $which ) {
162 wp_nonce_field( 'bulk-' . $this->_args['plural'] );
163 }
164 ?>
165 <div class="tablenav <?php echo esc_attr( $which ); ?>">
166
167 <div class="alignleft actions bulkactions">
168 <?php $this->bulk_actions( $which ); ?>
169 </div>
170 <?php
171 $this->extra_tablenav( $which );
172 $this->pagination( $which );
173 ?>
174
175 <br class="clear"/>
176 </div>
177 <?php
178 }
179
180 /**
181 * Retrieve the current page number
182 *
183 * @access public
184 * @since 2.0.1
185 *
186 * @return int Current page number
187 */
188 public function get_paged() {
189 return isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 1;
190 }
191
192 /**
193 * Outputs the log views
194 *
195 * @param string $which Top or Bottom.
196 *
197 * @access public
198 * @since 2.0.1
199 *
200 * @return void
201 */
202 function bulk_actions( $which = '' ) {
203 }
204
205 /**
206 * Gets the log entries for the current view
207 *
208 * @access public
209 * @since 2.0.1
210 *
211 * @return array $logs_data Array of all the Log entires
212 */
213 public function get_logs() {
214 $logs_data = array();
215 $paged = $this->get_paged();
216 $log_query = array(
217 'log_type' => 'update',
218 'paged' => $paged,
219 'posts_per_page' => $this->per_page,
220 );
221
222 $logs = Give()->logs->get_connected_logs( $log_query );
223
224 if ( $logs ) {
225 foreach ( $logs as $log ) {
226
227 $logs_data[] = array(
228 'ID' => $log->ID,
229 'title' => $log->log_title,
230 'date' => $log->log_date,
231 'log_content' => $log->log_content,
232 'log_date' => $log->log_date,
233 );
234 }
235 }
236
237 return $logs_data;
238 }
239
240 /**
241 * Setup the final data for the table
242 *
243 * @access public
244 * @since 2.0.1
245 * @uses Give_Update_Log_Table::get_columns()
246 * @uses WP_List_Table::get_sortable_columns()
247 * @uses Give_Update_Log_Table::get_pagenum()
248 * @uses Give_Update_Log_Table::get_logs()
249 * @uses Give_Update_Log_Table::get_log_count()
250 *
251 * @return void
252 */
253 public function prepare_items() {
254 $columns = $this->get_columns();
255 $hidden = array(); // No hidden columns
256 $sortable = $this->get_sortable_columns();
257 $this->_column_headers = array( $columns, $hidden, $sortable );
258 $this->items = $this->get_logs();
259 $total_items = Give()->logs->get_log_count( 0, 'update' );
260
261 $this->set_pagination_args( array(
262 'total_items' => $total_items,
263 'per_page' => $this->per_page,
264 'total_pages' => ceil( $total_items / $this->per_page ),
265 ) );
266 }
267 }
268