PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.5.0
GiveWP – Donation Plugin and Fundraising Platform v4.5.0
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 / src / Donors / DonorsAdminPage.php
give / src / Donors Last commit date
Actions 1 year ago CustomFields 1 year ago DataTransferObjects 1 year ago Endpoints 1 year ago Exceptions 2 years ago Factories 1 year ago ListTable 1 year ago Migrations 1 year ago Models 1 year ago Repositories 1 year ago ValueObjects 1 year ago ViewModels 1 year ago resources 1 year ago DonorStatisticsQuery.php 1 year ago DonorsAdminPage.php 1 year ago DonorsQuery.php 1 year ago ServiceProvider.php 1 year ago
DonorsAdminPage.php
115 lines
1 <?php
2
3 namespace Give\Donors;
4
5 use Give\Donors\Actions\LoadDonorDetailsAssets;
6 use Give\Donors\Actions\LoadDonorsListTableAssets;
7 use Give\Donors\ListTable\DonorsListTable;
8 use Give\Donors\Models\Donor;
9
10 class DonorsAdminPage
11 {
12 /**
13 * @since 2.20.0
14 */
15 public function registerMenuItem()
16 {
17 remove_submenu_page(
18 'edit.php?post_type=give_forms',
19 'give-donors'
20 );
21
22 add_submenu_page(
23 'edit.php?post_type=give_forms',
24 esc_html__('Donors', 'give'),
25 esc_html__('Donors', 'give'),
26 'edit_give_forms',
27 'give-donors',
28 [$this, 'render']
29 );
30 }
31
32 /**
33 * Render admin page container
34 *
35 * @since 4.4.0 Add new details page view
36 * @since 2.20.0
37 */
38 public function render()
39 {
40 if (self::isShowingDetailsPage()) {
41 $donor = Donor::find(absint($_GET['id']));
42
43 if ( ! $donor) {
44 wp_die(__('Donor not found', 'give'), 404);
45 }
46
47 give(LoadDonorDetailsAssets::class)();
48 } elseif (self::isShowing()) {
49 give(LoadDonorsListTableAssets::class)();
50 }
51
52 echo '<div id="give-admin-donors-root"></div>';
53 }
54
55 /**
56 * Display a button on the old donation forms table that switches to the React view
57 *
58 * @since 2.20.0
59 */
60 public function renderReactSwitch()
61 {
62 ?>
63 <script type="text/javascript">
64 function showReactTable() {
65 fetch('<?php echo esc_url_raw(rest_url('give-api/v2/admin/donors/view?isLegacy=0')) ?>', {
66 method: 'GET',
67 headers: {
68 ['X-WP-Nonce']: '<?php echo wp_create_nonce('wp_rest') ?>',
69 },
70 })
71 .then((res) => {
72 window.location.reload();
73 });
74 }
75
76 jQuery(function () {
77 jQuery(jQuery(".wrap .wp-header-end")).before(
78 '<button class="page-title-action" onclick="showReactTable()"><?php _e('Switch to New View', 'give') ?></button>',
79 );
80 });
81 </script>
82 <?php
83 }
84
85 /**
86 * Helper function to determine if current page is Give Donors admin page
87 * @since 2.20.0
88 *
89 * @return bool
90 */
91 public static function isShowing()
92 {
93 return isset($_GET['page']) && $_GET['page'] === 'give-donors' && ! isset($_GET['id']);
94 }
95
96
97 /**
98 * @since 4.4.0
99 */
100 public static function isShowingDetailsPage(): bool
101 {
102 return isset($_GET['id'], $_GET['page']) && 'give-donors' === $_GET['page'];
103 }
104
105 /**
106 * Get the URL for the details page
107 *
108 * @since 4.4.0
109 */
110 public static function getDetailsPageUrl(int $donorId): string
111 {
112 return admin_url("edit.php?post_type=give_forms&page=give-donors&id=$donorId");
113 }
114 }
115