PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 2.0.0
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v2.0.0
4.7.0 4.6.6 4.6.5 4.6.4 4.6.3 4.6.2 4.6.1 4.6.0 4.5.1 4.5.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 3 years ago ActivationServiceProvider.php 4 years ago
ActivationService.php
119 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 // remove all tables
69 $this->removeTables();
70 }
71
72 /**
73 * Remove all tables.
74 *
75 * @return void
76 */
77 public function removeTables() {
78 // Delete the integration table.
79 $integrations = new \SureCart\Database\Tables\Integrations( new \SureCart\Database\Table() );
80 $integrations->uninstall();
81 }
82
83 /**
84 * Remove all posts from our post type.
85 *
86 * @return void
87 */
88 public function removeFormPosts() {
89 // remove all form posts.
90 $form_ids = get_posts(
91 [
92 'post_type' => 'sc_form',
93 'numberposts' => -1,
94 'fields' => 'ids',
95 ]
96 );
97 foreach ( $form_ids as $form_id ) {
98 wp_delete_post( $form_id, true );
99 }
100 }
101
102 /**
103 * Remove all our options from the options table.
104 *
105 * @return void
106 */
107 public function removeOptions() {
108 delete_option( 'ce_registered_webhook' );
109 delete_option( 'surecart_order-confirmation_page_id' );
110 delete_option( 'surecart_dashboard_page_id' );
111 delete_option( 'surecart_checkout_sc_form_id' );
112 delete_option( 'surecart_use_esm_loader' );
113 delete_option( 'surecart_checkout_page_id' );
114 delete_option( 'sc_webhook_signing_secret' );
115 delete_option( 'sc_api_token' );
116 delete_option( 'sc_uninstall' );
117 }
118 }
119