PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 2.13.0
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v2.13.0
4.4.2 4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.3 4.2.2 4.2.1 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.11.1 1.11.2 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.9.0 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 2.0.0 2.0.1 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.10.0 2.10.1 2.11.0 2.11.1 2.11.2 2.11.3 2.11.4 2.12.0 2.13.0 2.14.0 2.14.1 2.15.0 2.15.1 2.16.0 2.16.1 2.16.2 2.16.3 2.17.0 2.17.1 2.17.2 2.18.0 2.19.0 2.19.2 2.19.3 2.19.4 2.2.0 2.2.1 2.20.0 2.20.1 2.20.2 2.20.3 2.20.4 2.20.5 2.20.6 2.21.0 2.22.0 2.22.1 2.23.0 2.24.0 2.25.0 2.25.1 2.25.2 2.26.0 2.27.0 2.27.1 2.28.0 2.29.0 2.29.1 2.29.2 2.29.3 2.29.4 2.3.0 2.3.1 2.30.0 2.31.0 2.31.1 2.31.2 2.31.3 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.40.0 2.40.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.6.2 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.8.2 2.8.3 2.8.4 2.9.0 3.0.0 3.0.0-RC1 3.0.0-RC2 3.0.0-beta1 3.0.0-beta2 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.10.0 3.10.1 3.11.0 3.12.0 3.13.0 3.13.1 3.13.2 3.13.3 3.13.4 3.14.0 3.15.0 3.15.1 3.15.2 3.15.3 3.15.4 3.15.5 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.16.6 3.16.7 3.16.8 3.17.0 3.17.1 3.17.2 3.17.3 3.17.4 3.17.5 3.17.6 3.18.0 3.19.0 3.19.1 3.19.2 3.2.0 3.2.1 3.2.2 3.20.0 3.20.1 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 trunk 4.1.0 0.2.19.1 4.1.1 1.0.0 4.2.0 1.0.1 1.0.2
surecart / app / src / Activation / ActivationService.php
surecart / app / src / Activation Last commit date
ActivationService.php 2 years ago ActivationServiceProvider.php 3 years ago
ActivationService.php
133 lines
1 <?php
2 namespace SureCart\Activation;
3
4 use SureCart\Models\RegisteredWebhook;
5
6 /**
7 * Service for plugin activation.
8 */
9 class ActivationService {
10 /**
11 * Holds the roles service.
12 *
13 * @var \SureCart\Permissions\RolesService
14 */
15 protected $roles = null;
16
17 /**
18 * Holds the roles service.
19 *
20 * @var \SureCart\WordPress\Pages\PageSeeder
21 */
22 protected $seeder = null;
23
24 /**
25 * Get dependencies for this service.
26 *
27 * @param \SureCart\Permissions\RolesService $roles Roles service.
28 * @param \SureCart\WordPress\Pages\PageSeeder $seeder Seeder service.
29 */
30 public function __construct( \SureCart\Permissions\RolesService $roles, \SureCart\WordPress\Pages\PageSeeder $seeder ) {
31 $this->roles = $roles;
32 $this->seeder = $seeder;
33 }
34
35 /**
36 * Bootstrap.
37 *
38 * @return void
39 */
40 public function bootstrap() {
41 register_activation_hook( SURECART_PLUGIN_FILE, [ $this, 'activate' ] );
42 register_deactivation_hook( SURECART_PLUGIN_FILE, [ $this, 'deactivate' ] );
43 }
44
45 /**
46 * Create roles on plugin activation.
47 *
48 * @return void
49 */
50 public function activate() {
51 // Create roles.
52 $this->roles->create();
53
54 // Seed pages and forms.
55 $this->seeder->seed();
56 }
57
58 /**
59 * On deactivation logic.
60 *
61 * @return void
62 */
63 public function deactivate() {
64 // clear webhooks.
65 RegisteredWebhook::delete();
66 }
67
68 /**
69 * Remove roles and all data.
70 *
71 * @return void
72 */
73 public function uninstall() {
74 // remove roles.
75 $this->roles->delete();
76 // remove pages that were automatically seeded.
77 $this->seeder->delete();
78 // remove all forms.
79 $this->removeFormPosts();
80 // remove all options from the options table.
81 $this->removeOptions();
82 // remove all tables.
83 $this->removeTables();
84 }
85
86 /**
87 * Remove all tables.
88 *
89 * @return void
90 */
91 public function removeTables() {
92 // Delete the integration table.
93 $integrations = new \SureCart\Database\Tables\Integrations( new \SureCart\Database\Table() );
94 $integrations->uninstall();
95 }
96
97 /**
98 * Remove all posts from our post type.
99 *
100 * @return void
101 */
102 public function removeFormPosts() {
103 // remove all form posts.
104 $form_ids = get_posts(
105 [
106 'post_type' => 'sc_form',
107 'numberposts' => -1,
108 'fields' => 'ids',
109 ]
110 );
111 foreach ( $form_ids as $form_id ) {
112 wp_delete_post( $form_id, true );
113 }
114 }
115
116 /**
117 * Remove all our options from the options table.
118 *
119 * @return void
120 */
121 public function removeOptions() {
122 delete_option( 'surecart_registered_webhook' );
123 delete_option( 'surecart_previous_webhook' );
124 delete_option( 'surecart_order-confirmation_page_id' );
125 delete_option( 'surecart_dashboard_page_id' );
126 delete_option( 'surecart_checkout_sc_form_id' );
127 delete_option( 'surecart_use_esm_loader' );
128 delete_option( 'surecart_checkout_page_id' );
129 delete_option( 'sc_api_token' );
130 delete_option( 'sc_uninstall' );
131 }
132 }
133