PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.25.2
GiveWP – Donation Plugin and Fundraising Platform v2.25.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
138 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 );
57 }
58
59 /**
60 * @since 2.24.0 Add ListTable columns
61 * @since 2.20.0
62 * @since 2.21.2 Localized the admin URL as a base for URL concatenation.
63 */
64 public function loadScripts()
65 {
66 $data = [
67 'apiRoot' => $this->apiRoot,
68 'apiNonce' => $this->apiNonce,
69 'forms' => $this->getForms(),
70 'table' => give(DonationsListTable::class)->toArray(),
71 'adminUrl' => $this->adminUrl,
72 'paymentMode' => give_is_test_mode(),
73 'manualDonations' => Utils::isPluginActive('give-manual-donations/give-manual-donations.php'),
74 ];
75
76 EnqueueScript::make('give-admin-donations', 'assets/dist/js/give-admin-donations.js')
77 ->loadInFooter()
78 ->registerTranslations()
79 ->registerLocalizeData('GiveDonations', $data)->enqueue();
80
81 wp_enqueue_style(
82 'give-admin-ui-font',
83 'https://fonts.googleapis.com/css2?family=Open+Sans:wght@400..700&display=swap',
84 [],
85 null
86 );
87 }
88
89 /**
90 * Render admin page container
91 * @since 2.20.0
92 */
93 public function render()
94 {
95 if (isset($_GET['view']) && 'view-payment-details' === $_GET['view']) {
96 include GIVE_PLUGIN_DIR . 'includes/admin/payments/view-payment-details.php';
97 } else {
98 echo '<div id="give-admin-donations-root"></div>';
99 }
100 }
101
102 /**
103 * Helper function to determine if current page is Give Donors admin page
104 * @since 2.20.0
105 *
106 * @return bool
107 */
108 public static function isShowing()
109 {
110 return isset($_GET['page']) && $_GET['page'] === 'give-payment-history' && !isset($_GET['view']);
111 }
112
113 /**
114 * Retrieve a list of donation forms to populate the form filter dropdown
115 *
116 * @since 2.20.0
117 * @return array
118 */
119 private function getForms()
120 {
121 $options = DB::table('posts')
122 ->select(
123 ['ID', 'value'],
124 ['post_title', 'text']
125 )
126 ->where('post_type', 'give_forms')
127 ->whereIn('post_status', ['publish', 'draft', 'pending', 'private'])
128 ->getAll(ARRAY_A);
129
130 return array_merge([
131 [
132 'value' => '0',
133 'text' => 'Any',
134 ],
135 ], $options);
136 }
137 }
138