Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
wp-content
/
plugins
/
give
/
src
/
Tracking
/
Helpers
:
SubscriptionsAdminPage.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace Give\Subscriptions; use Give\Subscriptions\Actions\LoadSubscriptionDetailsAssets; use Give\Subscriptions\Actions\LoadSubscriptionsListTableAssets; use Give\Subscriptions\Models\Subscription; class SubscriptionsAdminPage { /** * @since 2.24.0 */ public function loadScripts() { give(LoadSubscriptionsListTableAssets::class)(); } /** * Render the Subscription Details page. * * @since 4.8.0 */ public function render() { if (self::isShowingDetailsPage()) { remove_action('give_forms_page_give-subscriptions', 'give_subscriptions_page'); $subscription = Subscription::find(absint($_GET['id'])); if ( ! $subscription) { wp_die(__('Subscription not found', 'give'), 404); } give(LoadSubscriptionDetailsAssets::class)(); } else { give(LoadSubscriptionsListTableAssets::class)(); } echo '<div id="give-admin-subscriptions-root"></div>'; } /** * Display a button on the old subscriptions table that switches to the React view * * @since 2.24.0 */ public function renderReactSwitch() { ?> <script type="text/javascript"> function showReactTable () { fetch( '<?php echo esc_url_raw(rest_url('give-api/v2/admin/subscriptions/view?isLegacy=0')) ?>', { method: 'GET', headers: { ['X-WP-Nonce']: '<?php echo wp_create_nonce('wp_rest') ?>' } }) .then((res) => { window.location.reload(); }); } jQuery( function() { jQuery(jQuery(".wrap .wp-header-end")).before( '<button class="page-title-action" onclick="showReactTable()"><?php _e('Switch to New View', 'give') ?></button>' ); }); </script> <?php } /** * Helper function to determine if current page is Give Subscriptions admin page * * @since 2.24.0 * * @return bool */ public static function isShowing() { return isset($_GET['page']) && $_GET['page'] === 'give-subscriptions' && ! isset($_GET['view']); } /** * @since 4.8.0 */ public static function isShowingDetailsPage(): bool { return isset($_GET['id'], $_GET['page']) && 'give-subscriptions' === $_GET['page']; } }