PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.24.2
GiveWP – Donation Plugin and Fundraising Platform v2.24.2
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 / Donations / DonationsAdminPage.php
give / src / Donations Last commit date
Actions 4 years ago DataTransferObjects 3 years ago Endpoints 3 years ago Factories 3 years ago LegacyListeners 3 years ago ListTable 3 years ago Migrations 3 years ago Models 3 years ago Properties 3 years ago Repositories 3 years ago ValueObjects 3 years ago resources 3 years ago DonationsAdminPage.php 3 years ago ServiceProvider.php 3 years ago
DonationsAdminPage.php
139 lines
1 <?php
2
3 namespace Give\Donations;
4
5 use Give\Donations\ListTable\DonationsListTable;
6 use Give\Framework\Database\DB;
7 use Give\Helpers\EnqueueScript;
8 use Give\Helpers\Utils;
9
10 class DonationsAdminPage
11 {
12 /**
13 * @var string
14 */
15 private $apiRoot;
16
17 /**
18 * @var string
19 */
20 private $apiNonce;
21
22 /**
23 * @var string
24 */
25 private $adminUrl;
26
27 public function __construct()
28 {
29 $this->apiRoot = esc_url_raw(rest_url('give-api/v2/admin/donations'));
30 $this->apiNonce = wp_create_nonce('wp_rest');
31 $this->adminUrl = admin_url();
32 }
33
34 /**
35 * @since 2.20.0
36 */
37 public function registerMenuItem()
38 {
39 remove_submenu_page(
40 'edit.php?post_type=give_forms',
41 'give-payment-history'
42 );
43
44 remove_action(
45 'give_forms_page_give-payment-history',
46 'give_payment_history_page'
47 );
48
49 add_submenu_page(
50 'edit.php?post_type=give_forms',
51 esc_html__('Donations', 'give'),
52 esc_html__('Donations', 'give'),
53 'edit_give_forms',
54 'give-payment-history',
55 [$this, 'render'],
56 5
57 );
58 }
59
60 /**
61 * @since 2.24.0 Add ListTable columns
62 * @since 2.20.0
63 * @since 2.21.2 Localized the admin URL as a base for URL concatenation.
64 */
65 public function loadScripts()
66 {
67 $data = [
68 'apiRoot' => $this->apiRoot,
69 'apiNonce' => $this->apiNonce,
70 'forms' => $this->getForms(),
71 'table' => give(DonationsListTable::class)->toArray(),
72 'adminUrl' => $this->adminUrl,
73 'paymentMode' => give_is_test_mode(),
74 'manualDonations' => Utils::isPluginActive('give-manual-donations/give-manual-donations.php'),
75 ];
76
77 EnqueueScript::make('give-admin-donations', 'assets/dist/js/give-admin-donations.js')
78 ->loadInFooter()
79 ->registerTranslations()
80 ->registerLocalizeData('GiveDonations', $data)->enqueue();
81
82 wp_enqueue_style(
83 'give-admin-ui-font',
84 'https://fonts.googleapis.com/css2?family=Open+Sans:wght@400..700&display=swap',
85 [],
86 null
87 );
88 }
89
90 /**
91 * Render admin page container
92 * @since 2.20.0
93 */
94 public function render()
95 {
96 if (isset($_GET['view']) && 'view-payment-details' === $_GET['view']) {
97 include GIVE_PLUGIN_DIR . 'includes/admin/payments/view-payment-details.php';
98 } else {
99 echo '<div id="give-admin-donations-root"></div>';
100 }
101 }
102
103 /**
104 * Helper function to determine if current page is Give Donors admin page
105 * @since 2.20.0
106 *
107 * @return bool
108 */
109 public static function isShowing()
110 {
111 return isset($_GET['page']) && $_GET['page'] === 'give-payment-history' && !isset($_GET['view']);
112 }
113
114 /**
115 * Retrieve a list of donation forms to populate the form filter dropdown
116 *
117 * @since 2.20.0
118 * @return array
119 */
120 private function getForms()
121 {
122 $options = DB::table('posts')
123 ->select(
124 ['ID', 'value'],
125 ['post_title', 'text']
126 )
127 ->where('post_type', 'give_forms')
128 ->whereIn('post_status', ['publish', 'draft', 'pending', 'private'])
129 ->getAll(ARRAY_A);
130
131 return array_merge([
132 [
133 'value' => '0',
134 'text' => 'Any',
135 ],
136 ], $options);
137 }
138 }
139