PluginProbe
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder / 2.9.1
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder v2.9.1
V-3.3.0 3.2.2 3.2.1 3.2.0 3.1.4 3.1.3 3.1.2 3.1.1 3.1.0 V3.0.3 V3.0.2 -3.0.1 V_3.0.0 1.1.1 1.1.8 1.2 1.3 1.4 1.4.18 1.5.2 1.9 2.0 2.10.0 2.10.1 2.10.2 All 137 releases
bit-form / includes / Core / Util / Uninstallation.php

Uninstallation.php in Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder 2.9.1, at includes/Core/Util/Uninstallation.php

79 lines 2.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace BitCode\BitForm\Core\Util;
4
5 /**
6 * Class handling plugin uninstallation.
7 *
8 * @since 1.0.0
9 * @access private
10 * @ignore
11 */
12 final class Uninstallation
13 {
14 /**
15 * Registers functionality through WordPress hooks.
16 *
17 * @since 1.0.0
18 */
19 public function register()
20 {
21 add_action('bitforms_uninstall', [$this, 'uninstall']);
22 }
23
24 public function uninstall()
25 {
26 flush_rewrite_rules();
27 $routes = get_option('bitforms_routes');
28 if ($routes && isset($routes['root'])) {
29 $this->deletePosts($routes['root']);
30 $this->deletePosts($routes['file']);
31 $this->deleteOptions('bitforms_routes');
32 }
33 global $wpdb;
34 $data = get_option('bitform_app_config');
35 if ($data && isset($data->delete_table) && $data->delete_table) {
36 $tableArray = [
37 $wpdb->prefix . 'bitforms_email_template',
38 $wpdb->prefix . 'bitforms_form',
39 $wpdb->prefix . 'bitforms_form_entries',
40 $wpdb->prefix . 'bitforms_form_entrymeta',
41 $wpdb->prefix . 'bitforms_form_entry_log',
42 $wpdb->prefix . 'bitforms_form_log_details',
43 $wpdb->prefix . 'bitforms_integration',
44 $wpdb->prefix . 'bitforms_reports',
45 $wpdb->prefix . 'bitforms_success_messages',
46 $wpdb->prefix . 'bitforms_workflows',
47 $wpdb->prefix . 'bitforms_form_entry_relatedinfo',
48 $wpdb->prefix . 'bitforms_form_v1',
49 $wpdb->prefix . 'bitforms_success_messages_v1',
50 $wpdb->prefix . 'bitforms_workflows_v1',
51 ];
52
53 foreach ($tableArray as $tablename) {
54 $wpdb->query("DROP TABLE IF EXISTS $tablename");
55 }
56
57 $this->deleteOptions('bitform_app_config');
58 }
59 $this->deleteOptions('bitforms_routes');
60 $this->deleteOptions('bitforms_db_version');
61 $this->deleteOptions('bitforms_installed');
62 $this->deleteOptions('bitforms_version');
63 $this->deleteOptions('bitforms_routes');
64 $this->deleteOptions('bitform_secret_api_key');
65 $this->deleteOptions('bitforms_migrated_to_v2');
66 $this->deleteOptions('bitforms_migrating_to_v2');
67 }
68
69 private function deletePosts($id)
70 {
71 wp_delete_post($id);
72 }
73
74 private function deleteOptions($option)
75 {
76 delete_option($option);
77 }
78 }
79