PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.0.2
GiveWP – Donation Plugin and Fundraising Platform v3.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 / src / Subscriptions / SubscriptionsAdminPage.php
give / src / Subscriptions Last commit date
Actions 3 years ago DataTransferObjects 3 years ago Endpoints 2 years ago Factories 2 years ago LegacyListeners 3 years ago ListTable 3 years ago Migrations 3 years ago Models 3 years ago Repositories 3 years ago ValueObjects 3 years ago resources 3 years ago ServiceProvider.php 3 years ago SubscriptionsAdminPage.php 3 years ago
SubscriptionsAdminPage.php
128 lines
1 <?php
2
3 namespace Give\Subscriptions;
4
5 use Give\Framework\Database\DB;
6 use Give\Helpers\EnqueueScript;
7 use Give\Subscriptions\ListTable\SubscriptionsListTable;
8
9 class SubscriptionsAdminPage
10 {
11 /**
12 * @var string
13 */
14 private $apiRoot;
15
16 /**
17 * @var string
18 */
19 private $apiNonce;
20
21 /**
22 * @var string
23 */
24 private $adminUrl;
25
26 public function __construct()
27 {
28 $this->apiRoot = esc_url_raw(rest_url('give-api/v2/admin/subscriptions'));
29 $this->apiNonce = wp_create_nonce('wp_rest');
30 $this->adminUrl = admin_url();
31 }
32
33 /**
34 * @since 2.24.0
35 */
36 public function loadScripts()
37 {
38 $data = [
39 'apiRoot' => $this->apiRoot,
40 'apiNonce' => $this->apiNonce,
41 'forms' => $this->getForms(),
42 'table' => give(SubscriptionsListTable::class)->toArray(),
43 'adminUrl' => $this->adminUrl,
44 'paymentMode' => give_is_test_mode(),
45 'pluginUrl' => GIVE_PLUGIN_URL
46 ];
47
48 EnqueueScript::make('give-admin-subscriptions', 'assets/dist/js/give-admin-subscriptions.js')
49 ->loadInFooter()
50 ->registerTranslations()
51 ->registerLocalizeData('GiveSubscriptions', $data)->enqueue();
52
53 wp_enqueue_style(
54 'give-admin-ui-font',
55 'https://fonts.googleapis.com/css2?family=Open+Sans:wght@400..700&display=swap',
56 [],
57 null
58 );
59 }
60
61 /**
62 * Retrieve a list of donation forms to populate the form filter dropdown
63 *
64 * @since 2.24.0
65 *
66 * @return array
67 */
68 private function getForms()
69 {
70 $options = DB::table('posts')
71 ->select(
72 ['ID', 'value'],
73 ['post_title', 'text']
74 )
75 ->where('post_type', 'give_forms')
76 ->whereIn('post_status', ['publish', 'draft', 'pending', 'private'])
77 ->getAll(ARRAY_A);
78
79 return array_merge([
80 [
81 'value' => '0',
82 'text' => 'Any',
83 ]
84 ], $options);
85 }
86
87 /**
88 * Display a button on the old subscriptions table that switches to the React view
89 *
90 * @since 2.24.0
91 */
92 public function renderReactSwitch()
93 {
94 ?>
95 <script type="text/javascript">
96 function showReactTable () {
97 fetch( '<?php echo esc_url_raw(rest_url('give-api/v2/admin/subscriptions/view?isLegacy=0')) ?>', {
98 method: 'GET',
99 headers: {
100 ['X-WP-Nonce']: '<?php echo wp_create_nonce('wp_rest') ?>'
101 }
102 })
103 .then((res) => {
104 window.location.reload();
105 });
106 }
107 jQuery( function() {
108 jQuery(jQuery(".wrap .wp-header-end")).before(
109 '<button class="page-title-action" onclick="showReactTable()">Switch to New View</button>'
110 );
111 });
112 </script>
113 <?php
114 }
115
116 /**
117 * Helper function to determine if current page is Give Subscriptions admin page
118 *
119 * @since 2.24.0
120 *
121 * @return bool
122 */
123 public static function isShowing()
124 {
125 return isset($_GET['page']) && $_GET['page'] === 'give-subscriptions' && !isset($_GET['view']);
126 }
127 }
128