PluginProbe
Subscriptions for WooCommerce with Stripe Recurring Payments / 2.3.0
Subscriptions for WooCommerce with Stripe Recurring Payments v2.3.0
2.4.0 2.3.0 2.2.0 2.1.0 2.0.0 1.11.2 1.11.1 1.11.0 1.10.9 1.10.8 1.10.7 1.10.6 1.10.5 1.10.4 1.10.3 1.10.2 1.10.1 1.10.0 1.9.6 1.9.5 trunk 1.3.0 1.3.1 1.3.2 1.4.0 All 65 releases
subscription / includes / Admin.php

Admin.php in Subscriptions for WooCommerce with Stripe Recurring Payments 2.3.0, at includes/Admin.php

80 lines 2.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace SpringDevs\Subscription;
4
5 use SpringDevs\Subscription\Admin\Dashboard;
6 use SpringDevs\Subscription\Admin\Integrations;
7 use SpringDevs\Subscription\Admin\Required;
8 use SpringDevs\Subscription\Admin\Links;
9 use SpringDevs\Subscription\Admin\CancellationFlow;
10 use SpringDevs\Subscription\Admin\Menu;
11 use SpringDevs\Subscription\Admin\Order as AdminOrder;
12 use SpringDevs\Subscription\Admin\Plans;
13 use SpringDevs\Subscription\Admin\Product;
14 use SpringDevs\Subscription\Admin\ProductList;
15 use SpringDevs\Subscription\Admin\ProSettingsFields;
16 use SpringDevs\Subscription\Admin\Settings;
17 use SpringDevs\Subscription\Admin\Subscriptions;
18 use SpringDevs\Subscription\Illuminate\Comments;
19
20 /**
21 * The admin class
22 */
23 class Admin {
24
25 /**
26 * Initialize the class
27 */
28 public function __construct() {
29 $this->dispatch_actions();
30 if ( ! function_exists( 'is_plugin_active' ) ) {
31 include_once ABSPATH . 'wp-admin/includes/plugin.php';
32 }
33 // Only show required plugins notice if Pro is NOT active
34 if ( ! is_plugin_active( 'subscription-pro/subscription-pro.php' ) ) {
35 if ( ! is_plugin_active( 'woocommerce/woocommerce.php' ) ) {
36 // Show required notice only, do not load other admin content
37 new Required();
38 return;
39 } else {
40 new Required();
41 }
42 }
43 // Only load admin content if WooCommerce is active
44 if ( is_plugin_active( 'woocommerce/woocommerce.php' ) ) {
45 new Menu();
46 new Dashboard();
47 new Plans();
48 new CancellationFlow();
49 new Product\Plans();
50 new Integrations();
51 new Product();
52 new ProductList();
53 new Subscriptions();
54 new AdminOrder();
55 new Comments();
56 new Settings();
57 new ProSettingsFields();
58 new Links();
59 }
60 }
61
62 /**
63 * Dispatch and bind actions
64 *
65 * @return void
66 */
67 public function dispatch_actions() {
68 add_action( 'save_post_product', array( $this, 'flush_gsc_cache' ) );
69 }
70
71 /**
72 * Bust the GSC product-exists cache when any product is saved.
73 *
74 * @return void
75 */
76 public function flush_gsc_cache() {
77 delete_transient( 'subscrpt_has_enabled_product' );
78 }
79 }
80