PluginProbe
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder / 2.21.13
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder v2.21.13
3.3.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 All 138 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.21.13, at includes/Core/Util/Uninstallation.php

87 lines 2.4 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 if (!defined('ABSPATH')) {
6 exit;
7 }
8
9 /**
10 * Class handling plugin uninstallation.
11 *
12 * @since 1.0.0
13 * @access private
14 * @ignore
15 */
16 final class Uninstallation
17 {
18 /**
19 * Registers functionality through WordPress hooks.
20 *
21 * @since 1.0.0
22 */
23 public function register()
24 {
25 add_action('bitforms_uninstall', [$this, 'uninstall']);
26 }
27
28 public function uninstall()
29 {
30 flush_rewrite_rules();
31 $routes = get_option('bitforms_routes');
32 if ($routes && isset($routes['root'])) {
33 $this->deletePosts($routes['root']);
34 $this->deletePosts($routes['file']);
35 $this->deleteOptions('bitforms_routes');
36 }
37 global $wpdb;
38 $data = get_option('bitform_app_config');
39 if ($data && isset($data->delete_table) && $data->delete_table) {
40 $tableArray = [
41 $wpdb->prefix . 'bitforms_email_template',
42 $wpdb->prefix . 'bitforms_form',
43 $wpdb->prefix . 'bitforms_form_entries',
44 $wpdb->prefix . 'bitforms_form_entrymeta',
45 $wpdb->prefix . 'bitforms_form_entry_log',
46 $wpdb->prefix . 'bitforms_form_log_details',
47 $wpdb->prefix . 'bitforms_integration',
48 $wpdb->prefix . 'bitforms_reports',
49 $wpdb->prefix . 'bitforms_success_messages',
50 $wpdb->prefix . 'bitforms_workflows',
51 $wpdb->prefix . 'bitforms_form_entry_relatedinfo',
52 $wpdb->prefix . 'bitforms_form_v1',
53 $wpdb->prefix . 'bitforms_success_messages_v1',
54 $wpdb->prefix . 'bitforms_workflows_v1',
55 ];
56
57 foreach ($tableArray as $tablename) {
58 $wpdb->query("DROP TABLE IF EXISTS `{$tablename}`");
59 }
60
61 $this->deleteOptions('bitform_app_config');
62 $this->deleteOptions('bitform_app_settings');
63 }
64 $this->deleteOptions('bitforms_routes');
65 $this->deleteOptions('bitforms_db_version');
66 $this->deleteOptions('bitforms_installed');
67 $this->deleteOptions('bitforms_version');
68 $this->deleteOptions('bitforms_routes');
69 $this->deleteOptions('bitform_secret_api_key');
70 $this->deleteOptions('bitforms_migrated_to_v2');
71 $this->deleteOptions('bitforms_migrating_to_v2');
72 $this->deleteOptions('bitforms_changelog_version');
73 $this->deleteOptions('bitforms_hide_announcement');
74 $this->deleteOptions('bitforms_hide_cashback');
75 }
76
77 private function deletePosts($id)
78 {
79 wp_delete_post($id);
80 }
81
82 private function deleteOptions($option)
83 {
84 delete_option($option);
85 }
86 }
87