PluginProbe ʕ •ᴥ•ʔ
One User Avatar | User Profile Picture / 2.5.2
One User Avatar | User Profile Picture v2.5.2
trunk 2.3.0 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 2.3.8 2.3.9 2.4.0 2.5.0 2.5.2 2.5.3 2.5.4
one-user-avatar / uninstall.php
one-user-avatar Last commit date
assets 1 year ago includes 5 months ago languages 1 year ago README.md 5 months ago index.php 5 years ago one-user-avatar.php 5 months ago readme.txt 5 months ago uninstall.php 1 year ago
uninstall.php
98 lines
1 <?php
2 /**
3 * Remove user metadata and options on plugin delete.
4 *
5 * @package One User Avatar
6 * @author Bangbay Siboliban
7 * @author Flippercode
8 * @author ProfilePress
9 * @author One Designs
10 * @copyright 2013-2014 Bangbay Siboliban
11 * @copyright 2014-2020 Flippercode
12 * @copyright 2020-2021 ProfilePress
13 * @copyright 2021 One Designs
14 * @version 2.5.0
15 */
16
17 /**
18 * @since 1.4
19 * @uses int $blog_id
20 * @uses object $wpdb
21 * @uses delete_option()
22 * @uses delete_post_meta_by_key()
23 * @uses delete_user_meta()
24 * @uses get_users()
25 * @uses get_blog_prefix()
26 * @uses is_multisite()
27 * @uses switch_to_blog()
28 * @uses update_option()
29 * @uses wp_get_sites()
30 */
31
32 if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) {
33 die( 'You are not allowed to call this page directly.' );
34 }
35
36 global $blog_id, $wpdb;
37
38 $users = get_users();
39
40 // Remove settings for all sites in multisite
41 if ( is_multisite() ) {
42 $blogs = wp_get_sites();
43
44 foreach ( $users as $user ) {
45 foreach ( $blogs as $blog ) {
46 delete_user_meta( $user->ID, $wpdb->get_blog_prefix( $blog->blog_id ) . 'user_avatar' );
47 }
48 }
49
50 foreach ( $blogs as $blog ) {
51 switch_to_blog( $blog->blog_id );
52
53 delete_option( 'avatar_default_wp_user_avatar' );
54 delete_option( 'wp_user_avatar_allow_upload' );
55 delete_option( 'wp_user_avatar_disable_gravatar' );
56 delete_option( 'wp_user_avatar_edit_avatar' );
57 delete_option( 'wp_user_avatar_load_scripts' );
58 delete_option( 'wp_user_avatar_resize_crop' );
59 delete_option( 'wp_user_avatar_resize_h' );
60 delete_option( 'wp_user_avatar_resize_upload' );
61 delete_option( 'wp_user_avatar_resize_w' );
62 delete_option( 'wp_user_avatar_tinymce' );
63 delete_option( 'wp_user_avatar_upload_size_limit' );
64 delete_option( 'wp_user_avatar_default_avatar_updated' );
65 delete_option( 'wp_user_avatar_media_updated' );
66 delete_option( 'wp_user_avatar_users_updated' );
67 delete_option( 'wpua_has_gravatar' );
68 }
69
70 restore_current_blog();
71 } else {
72 foreach ( $users as $user ) {
73 delete_user_meta( $user->ID, $wpdb->get_blog_prefix( $blog_id ) . 'user_avatar' );
74 }
75
76 delete_option( 'avatar_default_wp_user_avatar' );
77 delete_option( 'wp_user_avatar_allow_upload' );
78 delete_option( 'wp_user_avatar_disable_gravatar' );
79 delete_option( 'wp_user_avatar_edit_avatar' );
80 delete_option( 'wp_user_avatar_load_scripts' );
81 delete_option( 'wp_user_avatar_resize_crop' );
82 delete_option( 'wp_user_avatar_resize_h' );
83 delete_option( 'wp_user_avatar_resize_upload' );
84 delete_option( 'wp_user_avatar_resize_w' );
85 delete_option( 'wp_user_avatar_tinymce' );
86 delete_option( 'wp_user_avatar_upload_size_limit' );
87 delete_option( 'wp_user_avatar_default_avatar_updated' );
88 delete_option( 'wp_user_avatar_media_updated' );
89 delete_option( 'wp_user_avatar_users_updated' );
90 delete_option( 'wpua_has_gravatar' );
91 }
92
93 // Delete post meta
94 delete_post_meta_by_key( '_wp_attachment_wp_user_avatar' );
95
96 // Reset all default avatars to Mystery Man
97 update_option( 'avatar_default', 'mystery' );
98