PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.2.0
GiveWP – Donation Plugin and Fundraising Platform v4.2.0
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 1 year ago LegacyListeners 3 years ago ListTable 1 year ago Migrations 3 years ago Models 1 year ago Repositories 1 year ago ValueObjects 1 year ago resources 1 year ago ServiceProvider.php 3 years ago SubscriptionsAdminPage.php 1 year ago
SubscriptionsAdminPage.php
130 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', 'build/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 wp_enqueue_style('givewp-design-system-foundation');
61 }
62
63 /**
64 * Retrieve a list of donation forms to populate the form filter dropdown
65 *
66 * @since 2.24.0
67 *
68 * @return array
69 */
70 private function getForms()
71 {
72 $options = DB::table('posts')
73 ->select(
74 ['ID', 'value'],
75 ['post_title', 'text']
76 )
77 ->where('post_type', 'give_forms')
78 ->whereIn('post_status', ['publish', 'draft', 'pending', 'private'])
79 ->getAll(ARRAY_A);
80
81 return array_merge([
82 [
83 'value' => '0',
84 'text' => __('Any', 'give'),
85 ]
86 ], $options);
87 }
88
89 /**
90 * Display a button on the old subscriptions table that switches to the React view
91 *
92 * @since 2.24.0
93 */
94 public function renderReactSwitch()
95 {
96 ?>
97 <script type="text/javascript">
98 function showReactTable () {
99 fetch( '<?php echo esc_url_raw(rest_url('give-api/v2/admin/subscriptions/view?isLegacy=0')) ?>', {
100 method: 'GET',
101 headers: {
102 ['X-WP-Nonce']: '<?php echo wp_create_nonce('wp_rest') ?>'
103 }
104 })
105 .then((res) => {
106 window.location.reload();
107 });
108 }
109 jQuery( function() {
110 jQuery(jQuery(".wrap .wp-header-end")).before(
111 '<button class="page-title-action" onclick="showReactTable()"><?php _e('Switch to New View', 'give') ?></button>'
112 );
113 });
114 </script>
115 <?php
116 }
117
118 /**
119 * Helper function to determine if current page is Give Subscriptions admin page
120 *
121 * @since 2.24.0
122 *
123 * @return bool
124 */
125 public static function isShowing()
126 {
127 return isset($_GET['page']) && $_GET['page'] === 'give-subscriptions' && !isset($_GET['view']);
128 }
129 }
130