PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 1.2.1
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v1.2.1
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 3 years ago ActivationServiceProvider.php 3 years ago
ActivationService.php
106 lines
1 <?php
2 namespace SureCart\Activation;
3
4 /**
5 * Service for plugin activation.
6 */
7 class ActivationService {
8 /**
9 * Holds the roles service.
10 *
11 * @var \SureCart\Permissions\RolesService
12 */
13 protected $roles = null;
14
15 /**
16 * Holds the roles service.
17 *
18 * @var \SureCart\WordPress\Pages\PageSeeder
19 */
20 protected $seeder = null;
21
22 /**
23 * Get dependencies for this service.
24 *
25 * @param \SureCart\Permissions\RolesService $roles Roles service.
26 * @param \SureCart\WordPress\Pages\PageSeeder $seeder Seeder service.
27 */
28 public function __construct( \SureCart\Permissions\RolesService $roles, \SureCart\WordPress\Pages\PageSeeder $seeder ) {
29 $this->roles = $roles;
30 $this->seeder = $seeder;
31 }
32
33 /**
34 * Bootstrap.
35 *
36 * @return void
37 */
38 public function bootstrap() {
39 register_activation_hook( SURECART_PLUGIN_FILE, [ $this, 'activate' ] );
40 }
41
42 /**
43 * Create roles on plugin activation.
44 *
45 * @return void
46 */
47 public function activate() {
48 // create roles.
49 $this->roles->create();
50 // seed pages and forms.
51 $this->seeder->seed();
52 }
53
54 /**
55 * Remove roles and all data.
56 *
57 * @return void
58 */
59 public function uninstall() {
60 // remove roles.
61 $this->roles->delete();
62 // remove pages that were automatically seeded.
63 $this->seeder->delete();
64 // remove all forms.
65 $this->removeFormPosts();
66 // remove all options from the options table.
67 $this->removeOptions();
68 }
69
70 /**
71 * Remove all posts from our post type.
72 *
73 * @return void
74 */
75 public function removeFormPosts() {
76 // remove all form posts.
77 $form_ids = get_posts(
78 [
79 'post_type' => 'sc_form',
80 'numberposts' => -1,
81 'fields' => 'ids',
82 ]
83 );
84 foreach ( $form_ids as $form_id ) {
85 wp_delete_post( $form_id, true );
86 }
87 }
88
89 /**
90 * Remove all our options from the options table.
91 *
92 * @return void
93 */
94 public function removeOptions() {
95 delete_option( 'ce_registered_webhook' );
96 delete_option( 'surecart_order-confirmation_page_id' );
97 delete_option( 'surecart_dashboard_page_id' );
98 delete_option( 'surecart_checkout_sc_form_id' );
99 delete_option( 'surecart_use_esm_loader' );
100 delete_option( 'surecart_checkout_page_id' );
101 delete_option( 'sc_webhook_signing_secret' );
102 delete_option( 'sc_api_token' );
103 delete_option( 'sc_uninstall' );
104 }
105 }
106