PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.26.0
GiveWP – Donation Plugin and Fundraising Platform v2.26.0
4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 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.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / uninstall.php
give Last commit date
assets 3 years ago blocks 3 years ago includes 3 years ago languages 3 years ago sample-data 6 years ago src 3 years ago templates 3 years ago vendor 3 years ago give.php 3 years ago license.txt 6 years ago readme.txt 3 years ago uninstall.php 3 years ago wpml-config.xml 6 years ago
uninstall.php
144 lines
1 <?php
2 /**
3 * Uninstall Give
4 *
5 * @package Give
6 * @since 1.0
7 * @copyright Copyright (c) 2016, GiveWP
8 * @license https://opensource.org/licenses/gpl-license GNU Public License
9 * @subpackage Uninstall
10 */
11
12 // Exit if accessed directly.
13 if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) {
14 exit;
15 }
16
17 // Load Give file.
18 include_once( 'give.php' );
19
20 /**
21 * Initialize the main Give class, which includes loading the code necessary to process the uninstall.
22 * This is included manually because the plugins_loaded hook does not run on uninstall.
23 *
24 * @since 2.7.4
25 */
26 give()->init();
27
28 // Prevent checking for plugin updates
29 remove_filter( 'pre_set_site_transient_update_plugins', 'give_check_addon_updates', 999 );
30
31 global $wpdb, $wp_roles;
32
33
34 if ( give_is_setting_enabled( give_get_option( 'uninstall_on_delete' ) ) ) {
35
36 // Delete All the Custom Post Types.
37 $give_taxonomies = [ 'form_category', 'form_tag' ];
38 $give_post_types = [ 'give_forms', 'give_payment' ];
39 foreach ( $give_post_types as $post_type ) {
40
41 foreach ( get_object_taxonomies( $post_type ) as $taxonomy ) {
42 $give_taxonomies[] = $taxonomy;
43 }
44
45 $items = get_posts(
46 [
47 'post_type' => $post_type,
48 'post_status' => 'any',
49 'numberposts' => - 1,
50 'fields' => 'ids',
51 ]
52 );
53
54 if ( $items ) {
55 foreach ( $items as $item ) {
56 wp_delete_post( $item, true );
57 }
58 }
59 }
60
61 // Delete All the Terms & Taxonomies.
62 foreach ( array_unique( array_filter( $give_taxonomies ) ) as $taxonomy ) {
63
64 $terms = $wpdb->get_results(
65 $wpdb->prepare(
66 "
67 SELECT t.*, tt.*
68 FROM $wpdb->terms AS t
69 INNER JOIN $wpdb->term_taxonomy AS tt
70 ON t.term_id = tt.term_id
71 WHERE tt.taxonomy IN ('%s')
72 ORDER BY t.name ASC
73 ",
74 $taxonomy
75 )
76 );
77
78 // Delete Terms.
79 if ( $terms ) {
80 foreach ( $terms as $term ) {
81 $wpdb->delete( $wpdb->term_taxonomy, [ 'term_taxonomy_id' => $term->term_taxonomy_id ] );
82 $wpdb->delete( $wpdb->terms, [ 'term_id' => $term->term_id ] );
83 }
84 }
85
86 // Delete Taxonomies.
87 $wpdb->delete( $wpdb->term_taxonomy, [ 'taxonomy' => $taxonomy ], [ '%s' ] );
88 }
89
90 // Delete the Plugin Pages.
91 $give_created_pages = [ 'success_page', 'failure_page', 'history_page' ];
92 foreach ( $give_created_pages as $p ) {
93 $page = give_get_option( $p, false );
94 if ( $page ) {
95 wp_delete_post( $page, true );
96 }
97 }
98
99 // Delete Capabilities.
100 give()->roles->remove_caps();
101
102 // Delete the Roles.
103 $give_roles = [ 'give_manager', 'give_accountant', 'give_worker', 'give_donor' ];
104 foreach ( $give_roles as $role ) {
105 remove_role( $role );
106 }
107
108 // Remove all give database tables.
109 $give_tables = $wpdb->get_col( "SHOW TABLES LIKE '{$wpdb->prefix}give_%'" );
110 $wpdb->query( 'DROP TABLE ' . implode( ',', $give_tables ) );
111
112 // Cleanup Cron Events.
113 wp_clear_scheduled_hook( 'give_daily_scheduled_events' );
114 wp_clear_scheduled_hook( 'give_weekly_scheduled_events' );
115 wp_clear_scheduled_hook( 'give_daily_cron' );
116 wp_clear_scheduled_hook( 'give_weekly_cron' );
117
118 // Get all options.
119 $give_option_names = $wpdb->get_col(
120 $wpdb->prepare(
121 "
122 SELECT option_name
123 FROM {$wpdb->options}
124 WHERE option_name LIKE '%s'
125 ",
126 '%give%'
127 )
128 );
129
130 if ( ! empty( $give_option_names ) ) {
131 // Convert option name to transient or option name.
132 $new_give_option_names = [];
133
134 // Delete all the Plugin Options.
135 foreach ( $give_option_names as $option ) {
136 if ( false !== strpos( $option, 'give_cache' ) ) {
137 Give_Cache::delete( $option );
138 } else {
139 delete_option( $option );
140 }
141 }
142 }
143 }
144