PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.0.2
GiveWP – Donation Plugin and Fundraising Platform v2.0.2
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 / admin-pages.php
give / includes / admin Last commit date
donors 8 years ago emails 8 years ago forms 8 years ago payments 8 years ago reports 8 years ago settings 8 years ago shortcodes 8 years ago tools 8 years ago upgrades 8 years ago views 8 years ago EDD_SL_Plugin_Updater.php 8 years ago abstract-admin-settings-page.php 8 years ago add-ons.php 8 years ago admin-actions.php 8 years ago admin-filters.php 8 years ago admin-footer.php 9 years ago admin-pages.php 8 years ago class-addon-activation-banner.php 8 years ago class-admin-settings.php 8 years ago class-api-keys-table.php 9 years ago class-blank-slate.php 8 years ago class-give-settings.php 8 years ago class-i18n-module.php 8 years ago dashboard-widgets.php 8 years ago give-metabox-functions.php 8 years ago plugins.php 8 years ago welcome.php 8 years ago
admin-pages.php
519 lines
1 <?php
2 /**
3 * Admin Pages
4 *
5 * @package Give
6 * @subpackage Admin/Pages
7 * @copyright Copyright (c) 2016, WordImpress
8 * @license https://opensource.org/licenses/gpl-license GNU Public License
9 * @since 1.0
10 */
11
12 // Exit if accessed directly.
13 if ( ! defined( 'ABSPATH' ) ) {
14 exit;
15 }
16
17 /**
18 * Creates the admin submenu pages under the Give menu and assigns their
19 * links to global variables
20 *
21 * @since 1.0
22 *
23 * @global $give_settings_page
24 * @global $give_payments_page
25 * @global $give_reports_page
26 * @global $give_add_ons_page
27 * @global $give_donors_page
28 *
29 * @return void
30 */
31 function give_add_options_links() {
32 global $give_settings_page, $give_payments_page, $give_reports_page, $give_add_ons_page, $give_donors_page, $give_tools_page;
33
34 //Payments
35 $give_payment = get_post_type_object( 'give_payment' );
36 $give_payments_page = add_submenu_page(
37 'edit.php?post_type=give_forms',
38 $give_payment->labels->name,
39 $give_payment->labels->menu_name,
40 'edit_give_payments',
41 'give-payment-history',
42 'give_payment_history_page'
43 );
44
45 //Donors
46 $give_donors_page = add_submenu_page(
47 'edit.php?post_type=give_forms',
48 esc_html__( 'Donors', 'give' ),
49 esc_html__( 'Donors', 'give' ),
50 'view_give_reports',
51 'give-donors',
52 'give_donors_page'
53 );
54
55 //Reports`
56 $give_reports_page = add_submenu_page(
57 'edit.php?post_type=give_forms',
58 esc_html__( 'Donation Reports', 'give' ),
59 esc_html__( 'Reports', 'give' ),
60 'view_give_reports',
61 'give-reports',
62 array(
63 Give()->give_settings,
64 'output',
65 )
66 );
67
68 //Settings
69 $give_settings_page = add_submenu_page(
70 'edit.php?post_type=give_forms',
71 esc_html__( 'Give Settings', 'give' ),
72 esc_html__( 'Settings', 'give' ),
73 'manage_give_settings',
74 'give-settings',
75 array(
76 Give()->give_settings,
77 'output',
78 )
79 );
80
81 //Tools.
82 $give_tools_page = add_submenu_page(
83 'edit.php?post_type=give_forms',
84 esc_html__( 'Give Tools', 'give' ),
85 esc_html__( 'Tools', 'give' ),
86 'manage_give_settings',
87 'give-tools',
88 array(
89 Give()->give_settings,
90 'output',
91 )
92 );
93
94 //Add-ons
95 $give_add_ons_page = add_submenu_page(
96 'edit.php?post_type=give_forms',
97 esc_html__( 'Give Add-ons', 'give' ),
98 esc_html__( 'Add-ons', 'give' ),
99 'install_plugins',
100 'give-addons',
101 'give_add_ons_page'
102 );
103 }
104
105 add_action( 'admin_menu', 'give_add_options_links', 10 );
106
107 /**
108 * Determines whether the current admin page is a Give admin page.
109 *
110 * Only works after the `wp_loaded` hook, & most effective
111 * starting on `admin_menu` hook.
112 *
113 * @since 1.0
114 *
115 * @param string $passed_page Optional. Main page's slug
116 * @param string $passed_view Optional. Page view ( ex: `edit` or `delete` )
117 *
118 * @return bool True if Give admin page.
119 */
120 function give_is_admin_page( $passed_page = '', $passed_view = '' ) {
121
122 global $pagenow, $typenow;
123
124 $found = false;
125 $post_type = isset( $_GET['post_type'] ) ? strtolower( $_GET['post_type'] ) : false;
126 $action = isset( $_GET['action'] ) ? strtolower( $_GET['action'] ) : false;
127 $taxonomy = isset( $_GET['taxonomy'] ) ? strtolower( $_GET['taxonomy'] ) : false;
128 $page = isset( $_GET['page'] ) ? strtolower( $_GET['page'] ) : false;
129 $view = isset( $_GET['view'] ) ? strtolower( $_GET['view'] ) : false;
130 $tab = isset( $_GET['tab'] ) ? strtolower( $_GET['tab'] ) : false;
131
132 switch ( $passed_page ) {
133 case 'give_forms':
134 switch ( $passed_view ) {
135 case 'list-table':
136 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'edit.php' ) {
137 $found = true;
138 }
139 break;
140 case 'edit':
141 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'post.php' ) {
142 $found = true;
143 }
144 break;
145 case 'new':
146 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'post-new.php' ) {
147 $found = true;
148 }
149 break;
150 default:
151 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) || 'give_forms' === $post_type || ( 'post-new.php' == $pagenow && 'give_forms' === $post_type ) ) {
152 $found = true;
153 }
154 break;
155 }
156 break;
157 case 'categories':
158 switch ( $passed_view ) {
159 case 'list-table':
160 case 'new':
161 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'edit-tags.php' && 'edit' !== $action && 'give_forms_category' === $taxonomy ) {
162 $found = true;
163 }
164 break;
165 case 'edit':
166 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'edit-tags.php' && 'edit' === $action && 'give_forms_category' === $taxonomy ) {
167 $found = true;
168 }
169 break;
170 default:
171 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'edit-tags.php' && 'give_forms_category' === $taxonomy ) {
172 $found = true;
173 }
174 break;
175 }
176 break;
177 case 'tags':
178 switch ( $passed_view ) {
179 case 'list-table':
180 case 'new':
181 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'edit-tags.php' && 'edit' !== $action && 'give_forms_tag' === $taxonomy ) {
182 $found = true;
183 }
184 break;
185 case 'edit':
186 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'edit-tags.php' && 'edit' === $action && 'give_forms_tag' === $taxonomy ) {
187 $found = true;
188 }
189 break;
190 default:
191 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'edit-tags.php' && 'give_forms_tag' === $taxonomy ) {
192 $found = true;
193 }
194 break;
195 }
196 break;
197 case 'payments':
198 switch ( $passed_view ) {
199 case 'list-table':
200 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'edit.php' && 'give-payment-history' === $page && false === $view ) {
201 $found = true;
202 }
203 break;
204 case 'edit':
205 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'edit.php' && 'give-payment-history' === $page && 'view-payment-details' === $view ) {
206 $found = true;
207 }
208 break;
209 default:
210 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'edit.php' && 'give-payment-history' === $page ) {
211 $found = true;
212 }
213 break;
214 }
215 break;
216 case 'reports':
217 switch ( $passed_view ) {
218 // If you want to do something like enqueue a script on a particular report's duration, look at $_GET[ 'range' ]
219 case 'earnings':
220 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'edit.php' && 'give-reports' === $page && ( 'earnings' === $view || '-1' === $view || false === $view ) ) {
221 $found = true;
222 }
223 break;
224 case 'donors':
225 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'edit.php' && 'give-reports' === $page && 'customers' === $view ) {
226 $found = true;
227 }
228 break;
229 case 'gateways':
230 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'edit.php' && 'give-reports' === $page && 'gateways' === $view ) {
231 $found = true;
232 }
233 break;
234 case 'export':
235 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'edit.php' && 'give-reports' === $page && 'export' === $view ) {
236 $found = true;
237 }
238 break;
239 case 'logs':
240 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'edit.php' && 'give-reports' === $page && 'logs' === $view ) {
241 $found = true;
242 }
243 break;
244 default:
245 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'edit.php' && 'give-reports' === $page ) {
246 $found = true;
247 }
248 break;
249 }
250 break;
251 case 'settings':
252 switch ( $passed_view ) {
253 case 'general':
254 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'edit.php' && 'give-settings' === $page && ( 'general' === $tab || false === $tab ) ) {
255 $found = true;
256 }
257 break;
258 case 'gateways':
259 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'edit.php' && 'give-settings' === $page && 'gateways' === $tab ) {
260 $found = true;
261 }
262 break;
263 case 'emails':
264 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'edit.php' && 'give-settings' === $page && 'emails' === $tab ) {
265 $found = true;
266 }
267 break;
268 case 'display':
269 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'edit.php' && 'give-settings' === $page && 'display' === $tab ) {
270 $found = true;
271 }
272 break;
273 case 'licenses':
274 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'edit.php' && 'give-settings' === $page && 'licenses' === $tab ) {
275 $found = true;
276 }
277 break;
278 case 'api':
279 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'edit.php' && 'give-settings' === $page && 'api' === $tab ) {
280 $found = true;
281 }
282 break;
283 case 'advanced':
284 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'edit.php' && 'give-settings' === $page && 'advanced' === $tab ) {
285 $found = true;
286 }
287 break;
288 case 'system_info':
289 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'edit.php' && 'give-settings' === $page && 'system_info' === $tab ) {
290 $found = true;
291 }
292 break;
293 default:
294 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'edit.php' && 'give-settings' === $page ) {
295 $found = true;
296 }
297 break;
298 }
299 break;
300 case 'addons':
301 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'edit.php' && 'give-addons' === $page ) {
302 $found = true;
303 }
304 break;
305 case 'donors':
306 switch ( $passed_view ) {
307 case 'list-table':
308 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'edit.php' && 'give-donors' === $page && false === $view ) {
309 $found = true;
310 }
311 break;
312 case 'overview':
313 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'edit.php' && 'give-donors' === $page && 'overview' === $view ) {
314 $found = true;
315 }
316 break;
317 case 'notes':
318 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'edit.php' && 'give-donors' === $page && 'notes' === $view ) {
319 $found = true;
320 }
321 break;
322 default:
323 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'edit.php' && 'give-donors' === $page ) {
324 $found = true;
325 }
326 break;
327 }
328 break;
329 case 'reports':
330 if ( ( 'give_forms' == $typenow || 'give_forms' === $post_type ) && $pagenow == 'edit.php' && 'give-reports' === $page ) {
331 $found = true;
332 }
333 break;
334 default:
335 global $give_payments_page, $give_settings_page, $give_reports_page, $give_system_info_page, $give_add_ons_page, $give_settings_export, $give_donors_page, $give_tools_page;
336
337 $admin_pages = apply_filters( 'give_admin_pages', array(
338 $give_payments_page,
339 $give_settings_page,
340 $give_reports_page,
341 $give_system_info_page,
342 $give_add_ons_page,
343 $give_settings_export,
344 $give_donors_page,
345 $give_tools_page,
346 'widgets.php'
347 ) );
348 if ( 'give_forms' == $typenow || 'index.php' == $pagenow || 'post-new.php' == $pagenow || 'post.php' == $pagenow ) {
349 $found = true;
350 } elseif ( in_array( $pagenow, $admin_pages ) ) {
351 $found = true;
352 }
353 break;
354 }
355
356 return (bool) apply_filters( 'give_is_admin_page', $found, $page, $view, $passed_page, $passed_view );
357
358 }
359
360
361 /**
362 * Add setting tab to give-settings page
363 *
364 * @since 1.8
365 * @param array $settings
366 * @return array
367 */
368 function give_settings_page_pages( $settings ) {
369 include( 'abstract-admin-settings-page.php' );
370 include( 'settings/class-settings-cmb2-backward-compatibility.php' );
371
372 $settings = array(
373 // General settings.
374 include( GIVE_PLUGIN_DIR . 'includes/admin/settings/class-settings-general.php' ),
375
376 // Payment Gateways Settings.
377 include( GIVE_PLUGIN_DIR . 'includes/admin/settings/class-settings-gateways.php' ),
378
379 // Display settings.
380 include( GIVE_PLUGIN_DIR . 'includes/admin/settings/class-settings-display.php' ),
381
382 // Emails settings.
383 include( GIVE_PLUGIN_DIR . 'includes/admin/settings/class-settings-email.php' ),
384
385 // Addons settings.
386 include( GIVE_PLUGIN_DIR . 'includes/admin/settings/class-settings-addon.php' ),
387
388 // License settings.
389 include( GIVE_PLUGIN_DIR . 'includes/admin/settings/class-settings-license.php' ),
390
391 // Advanced settings.
392 include( GIVE_PLUGIN_DIR . 'includes/admin/settings/class-settings-advanced.php' )
393 );
394
395 // Output.
396 return $settings;
397 }
398 add_filter( 'give-settings_get_settings_pages', 'give_settings_page_pages', 0, 1 );
399
400
401 /**
402 * Add setting tab to give-settings page
403 *
404 * @since 1.8
405 * @param array $settings
406 * @return array
407 */
408 function give_reports_page_pages( $settings ) {
409 include( 'abstract-admin-settings-page.php' );
410
411 $settings = array(
412 // Earnings.
413 include( 'reports/class-earnings-report.php' ),
414
415 // Forms.
416 include( 'reports/class-forms-report.php' ),
417
418 // Gateways.
419 include( 'reports/class-gateways-report.php' ),
420
421 );
422
423 // Output.
424 return $settings;
425 }
426 add_filter( 'give-reports_get_settings_pages', 'give_reports_page_pages', 0, 1 );
427
428 /**
429 * Add setting tab to give-settings page
430 *
431 * @since 1.8
432 * @param array $settings
433 * @return array
434 */
435 function give_tools_page_pages( $settings ) {
436 include( 'abstract-admin-settings-page.php' );
437
438 $settings = array(
439 // System Info.
440 include( GIVE_PLUGIN_DIR . 'includes/admin/tools/class-settings-system-info.php' ),
441
442 // Logs.
443 include( GIVE_PLUGIN_DIR . 'includes/admin/tools/class-settings-logs.php' ),
444
445 // API.
446 include( GIVE_PLUGIN_DIR . 'includes/admin/tools/class-settings-api.php' ),
447
448 // Data.
449 include( GIVE_PLUGIN_DIR . 'includes/admin/tools/class-settings-data.php' ),
450
451 // Export.
452 include( GIVE_PLUGIN_DIR . 'includes/admin/tools/class-settings-export.php' ),
453
454 // Import
455 include_once( GIVE_PLUGIN_DIR . 'includes/admin/tools/class-settings-import.php' ),
456 );
457
458 // Output.
459 return $settings;
460 }
461 add_filter( 'give-tools_get_settings_pages', 'give_tools_page_pages', 0, 1 );
462
463 /**
464 * Set default tools page tab.
465 *
466 * @since 1.8
467 * @param string $default_tab Default tab name.
468 * @return string
469 */
470 function give_set_default_tab_form_tools_page( $default_tab ) {
471 return 'system-info';
472 }
473 add_filter( 'give_default_setting_tab_give-tools', 'give_set_default_tab_form_tools_page', 10, 1 );
474
475
476 /**
477 * Set default reports page tab.
478 *
479 * @since 1.8
480 * @param string $default_tab Default tab name.
481 * @return string
482 */
483 function give_set_default_tab_form_reports_page( $default_tab ) {
484 return 'earnings';
485 }
486 add_filter( 'give_default_setting_tab_give-reports', 'give_set_default_tab_form_reports_page', 10, 1 );
487
488
489 /**
490 * Add a page display state for special Give pages in the page list table.
491 *
492 * @since 1.8.18
493 *
494 * @param array $post_states An array of post display states.
495 * @param WP_Post $post The current post object.
496 *
497 * @return array
498 */
499 function give_add_display_page_states( $post_states, $post ) {
500
501 switch( $post->ID ) {
502 case give_get_option( 'success_page' ):
503 $post_states['give_successfully_page'] = __( 'Donation Success Page', 'give' );
504 break;
505
506 case give_get_option( 'failure_page' ):
507 $post_states['give_failure_page'] = __( 'Donation Failed Page', 'give' );
508 break;
509
510 case give_get_option( 'history_page' ):
511 $post_states['give_history_page'] = __( 'Donation History Page', 'give' );
512 break;
513 }
514
515 return $post_states;
516 }
517
518 // Add a post display state for special Give pages.
519 add_filter( 'display_post_states', 'give_add_display_page_states', 10, 2 );