PluginProbe ʕ •ᴥ•ʔ
WPForms – Easy Form Builder for WordPress – Contact Forms, Payment Forms, Surveys, & More / 1.5.4.1
WPForms – Easy Form Builder for WordPress – Contact Forms, Payment Forms, Surveys, & More v1.5.4.1
1.10.1 1.10.0.5 trunk 1.1.4 1.1.4.2 1.1.5 1.1.5.1 1.1.6 1.1.6.1 1.1.7 1.1.7.1 1.1.7.2 1.1.8 1.1.8.1 1.1.8.2 1.1.8.3 1.1.8.4 1.10.0.1 1.10.0.2 1.10.0.3 1.10.0.4 1.2.0 1.2.0.1 1.2.1 1.2.2 1.2.2.1 1.2.2.2 1.2.3 1.2.3.1 1.2.3.2 1.2.4 1.2.4.1 1.2.5 1.2.5.1 1.2.6 1.2.7 1.2.8 1.2.8.1 1.2.9 1.3.0 1.3.1 1.3.1.1 1.3.1.2 1.3.2 1.3.3 1.3.5 1.3.6 1.3.6.1 1.3.6.2 1.3.7.2 1.3.7.3 1.3.7.4 1.3.8 1.3.9.1 1.4.0.1 1.4.1.1 1.4.2 1.4.2.1 1.4.2.2 1.4.3 1.4.4 1.4.4.1 1.4.5 1.4.5.1 1.4.5.2 1.4.5.3 1.4.6 1.4.7.1 1.4.7.2 1.4.8.1 1.4.9 1.5.0.1 1.5.0.3 1.5.0.4 1.5.1 1.5.1.1 1.5.1.3 1.5.2.1 1.5.2.2 1.5.2.3 1.5.3 1.5.3.1 1.5.4.1 1.5.4.2 1.5.5 1.5.5.1 1.5.6 1.5.6.2 1.5.7 1.5.8.2 1.5.9.1 1.5.9.4 1.5.9.5 1.6.0.1 1.6.0.2 1.6.1 1.6.2.2 1.6.2.3 1.6.3.1 1.6.4 1.6.4.1 1.6.5 1.6.6 1.6.7 1.6.7.1 1.6.7.2 1.6.7.3 1.6.8 1.6.8.1 1.6.9 1.7.0 1.7.1.1 1.7.1.2 1.7.2 1.7.2.1 1.7.3 1.7.4 1.7.4.1 1.7.4.2 1.7.5.1 1.7.5.2 1.7.5.3 1.7.5.5 1.7.6 1.7.7 1.7.7.1 1.7.7.2 1.7.8 1.7.9 1.7.9.1 1.8.0.1 1.8.0.2 1.8.1.1 1.8.1.2 1.8.1.3 1.8.2.1 1.8.2.2 1.8.2.3 1.8.3 1.8.3.1 1.8.4 1.8.4.1 1.8.5.2 1.8.5.3 1.8.5.4 1.8.6.2 1.8.6.3 1.8.6.4 1.8.7.2 1.8.8.2 1.8.8.3 1.8.9.1 1.8.9.2 1.8.9.4 1.8.9.5 1.8.9.6 1.9.0.1 1.9.0.2 1.9.0.3 1.9.0.4 1.9.1.1 1.9.1.2 1.9.1.3 1.9.1.4 1.9.1.5 1.9.1.6 1.9.2.1 1.9.2.2 1.9.2.3 1.9.3.1 1.9.3.2 1.9.4.1 1.9.4.2 1.9.5 1.9.5.1 1.9.5.2 1.9.6 1.9.6.1 1.9.6.2 1.9.7.1 1.9.7.2 1.9.7.3 1.9.8.1 1.9.8.2 1.9.8.4 1.9.8.7 1.9.9.2 1.9.9.3 1.9.9.4
wpforms-lite / uninstall.php
wpforms-lite Last commit date
assets 6 years ago includes 6 years ago languages 6 years ago lite 6 years ago src 6 years ago templates 6 years ago vendor 6 years ago changelog.txt 6 years ago readme.txt 6 years ago uninstall.php 6 years ago wpforms.php 6 years ago
uninstall.php
96 lines
1 <?php
2 /**
3 * Uninstalls WPForms.
4 *
5 * Removes:
6 * - Entries table
7 * - Entry Meta table
8 * - Entry fields table
9 * - Form Preview page
10 * - wpforms_log post type posts and post_meta
11 * - wpforms post type posts and post_meta
12 * - WPForms settings/options
13 * - WPForms user meta
14 * - WPForms term meta
15 * - WPForms Uploads
16 *
17 * @package WPForms
18 * @author WPForms
19 * @since 1.4.5
20 * @license GPL-2.0+
21 * @copyright Copyright (c) 2018, WPForms LLC
22 *
23 * @var WP_Filesystem_Base $wp_filesystem
24 */
25
26 // phpcs:disable WordPress.DB.DirectDatabaseQuery
27
28 // Exit if accessed directly.
29 if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) {
30 exit;
31 }
32
33 // Confirm user has decided to remove all data, otherwise stop.
34 $settings = get_option( 'wpforms_settings', array() );
35 if ( empty( $settings['uninstall-data'] ) ) {
36 return;
37 }
38
39 global $wpdb;
40
41 // Delete entries table.
42 $wpdb->query( 'DROP TABLE IF EXISTS ' . $wpdb->prefix . 'wpforms_entries' );
43
44 // Delete entry meta table.
45 $wpdb->query( 'DROP TABLE IF EXISTS ' . $wpdb->prefix . 'wpforms_entry_meta' );
46
47 // Delete entry fields table.
48 $wpdb->query( 'DROP TABLE IF EXISTS ' . $wpdb->prefix . 'wpforms_entry_fields' );
49
50 // Delete Preview page.
51 $preview_page = get_option( 'wpforms_preview_page', false );
52 if ( ! empty( $preview_page ) ) {
53 wp_delete_post( $preview_page, true );
54 }
55
56 // Delete wpforms and wpforms_log post type posts/post_meta.
57 $wpforms_posts = get_posts(
58 array(
59 'post_type' => array( 'wpforms_log', 'wpforms' ),
60 'post_status' => 'any',
61 'numberposts' => -1,
62 'fields' => 'ids',
63 )
64 );
65 if ( $wpforms_posts ) {
66 foreach ( $wpforms_posts as $wpforms_post ) {
67 wp_delete_post( $wpforms_post, true );
68 }
69 }
70
71 // Delete plugin settings.
72 $wpdb->query( "DELETE FROM {$wpdb->options} WHERE option_name LIKE 'wpforms\_%'" );
73
74 // Delete plugin user meta.
75 $wpdb->query( "DELETE FROM {$wpdb->usermeta} WHERE meta_key LIKE 'wpforms\_%'" );
76
77 // Delete plugin term meta.
78 $wpdb->query( "DELETE FROM {$wpdb->termmeta} WHERE meta_key LIKE 'wpforms\_%'" );
79
80 // Remove any transients we've left behind.
81 $wpdb->query( "DELETE FROM {$wpdb->options} WHERE option_name LIKE '\_transient\_wpforms\_%'" );
82 $wpdb->query( "DELETE FROM {$wpdb->options} WHERE option_name LIKE '\_site\_transient\_wpforms\_%'" );
83 $wpdb->query( "DELETE FROM {$wpdb->options} WHERE option_name LIKE '\_transient\_timeout\_wpforms\_%'" );
84 $wpdb->query( "DELETE FROM {$wpdb->options} WHERE option_name LIKE '\_site\_transient\_timeout\_wpforms\_%'" );
85
86 // Remove plugin cron jobs.
87 wp_clear_scheduled_hook( 'wpforms_email_summaries_cron' );
88
89 // Remove uploaded files.
90 $uploads_directory = wp_upload_dir();
91 if ( ! empty( $uploads_directory['error'] ) ) {
92 return;
93 }
94 global $wp_filesystem;
95 $wp_filesystem->rmdir( $uploads_directory['basedir'] . '/wpforms/', true );
96