PluginProbe ʕ •ᴥ•ʔ
UpdraftPlus: WP Backup & Migration Plugin / 1.26.4
UpdraftPlus: WP Backup & Migration Plugin v1.26.4
1.26.4 1.26.3 1.9.19 1.9.25 1.9.26 1.9.30 1.9.31 1.9.32 1.9.4 1.9.40 1.9.41 1.9.42 1.9.43 1.9.44 1.9.45 1.9.46 1.9.5 1.9.50 1.9.51 1.9.60 1.9.62 1.9.63 1.9.64 1.11.12 1.4.8 1.11.15 1.4.9 1.11.17 1.5.16 1.11.18 1.5.20 1.11.2 1.5.21 1.11.20 1.5.22 1.11.23 1.5.5 1.11.24 1.5.6 1.11.25 1.5.7 1.11.26 1.5.8 1.11.27 1.5.9 1.11.28 1.6.1 1.11.3 1.6.17 1.11.4 1.6.2 1.11.5 1.6.46 1.11.8 1.7.0 1.11.9 1.7.1 1.12.0 1.7.18 1.12.1 1.7.20 1.12.12 1.7.3 1.12.13 1.7.34 1.12.15 1.7.35 1.12.17 1.7.39 1.12.2 1.7.40 1.12.20 1.7.41 1.12.23 1.8.1 1.12.24 1.8.11 1.12.25 1.8.12 1.12.28 1.8.13 1.12.29 1.8.2 1.12.30 1.8.5 1.12.32 1.8.8 1.12.34 1.9.0 1.12.35 1.9.13 1.12.37 1.9.15 1.12.39 1.9.17 1.12.4 1.12.40 1.12.6 1.13.1 1.13.11 1.13.12 1.13.15 1.13.16 1.13.2 1.13.3 1.13.4 1.13.5 1.13.6 1.13.7 1.13.8 1.13.9 1.14.10 1.14.11 1.14.12 1.14.13 1.14.2 1.14.3 1.14.4 1.14.5 1.14.7 1.14.9 1.15.0 1.15.2 1.15.3 1.15.5 1.15.6 1.15.7 1.16.0 1.16.10 1.16.11 1.16.12 1.16.13 1.16.14 1.16.15 1.16.16 1.16.17 1.16.20 1.16.21 1.16.22 1.16.23 1.16.24 1.16.25 1.16.26 1.16.28 1.16.29 1.16.32 1.16.34 1.16.35 1.16.36 1.16.37 1.16.4 1.16.40 1.16.41 1.16.42 1.16.43 1.16.44 1.16.45 1.16.46 1.16.47 1.16.48 1.16.49 1.16.5 1.16.50 1.16.51 1.16.53 1.16.55 1.16.56 1.16.59 1.16.6 1.16.60 1.16.61 1.16.62 1.16.63 1.16.64 1.16.65 1.16.66 1.16.67 1.16.68 1.16.69 1.16.7 1.16.8 1.16.9 1.2.0 1.2.1 1.2.10 1.2.11 1.2.12 1.2.14 1.2.15 1.2.16 1.2.17 1.2.19 1.2.2 1.2.20 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.33 1.2.35 1.2.36 1.2.38 1.2.39 1.2.4 1.2.40 1.2.41 1.2.42 1.2.43 1.2.44 1.2.45 1.2.46 1.2.5 1.2.7 1.2.8 1.2.9 1.22.1 1.22.10 1.22.11 1.22.12 1.22.14 1.22.15 1.22.16 1.22.17 1.22.18 1.22.19 1.22.20 1.22.21 1.22.22 1.22.23 1.22.24 1.22.3 1.22.4 1.22.5 1.22.6 1.22.7 1.22.8 1.22.9 1.23.1 1.23.10 1.23.11 1.23.12 1.23.13 1.23.15 1.23.16 1.23.2 1.23.3 1.23.4 1.23.5 1.23.6 1.23.7 1.23.8 1.23.9 1.24.1 1.24.10 1.24.11 1.24.12 1.24.2 trunk 1.24.3 0.7.4 1.24.4 0.7.7 1.24.5 0.8.28 1.24.6 0.8.29 1.24.7 0.8.30 1.24.8 0.8.31 1.24.9 0.8.32 1.25.1 0.8.33 1.25.2 0.8.36 1.25.3 0.8.37 1.25.5 0.8.50 1.25.6 0.8.51 1.25.7 0.9.1 1.25.8 0.9.10 1.25.9 0.9.11 1.26.1 0.9.12 1.26.2 0.9.2 1.3.10 0.9.20 1.3.12 0.9.21 1.3.14 0.9.22 1.3.15 1.0.10 1.3.17 1.0.11 1.3.18 1.0.12 1.3.19 1.0.15 1.3.2 1.0.16 1.3.20 1.0.18 1.3.22 1.0.20 1.3.23 1.0.3 1.3.24 1.0.4 1.3.25 1.0.5 1.3.3 1.0.6 1.3.4 1.0.7 1.3.6 1.0.8 1.3.7 1.0.9 1.3.8 1.1.0 1.3.9 1.1.10 1.4.0 1.1.11 1.4.10 1.1.12 1.4.11 1.1.13 1.4.12 1.1.14 1.4.13 1.1.15 1.4.14 1.1.16 1.4.15 1.1.17 1.4.2 1.1.2 1.4.27 1.1.3 1.4.28 1.1.5 1.4.29 1.1.6 1.4.30 1.1.8 1.4.4 1.1.9 1.4.48 1.10.1 1.4.5 1.10.3 1.4.6 1.11.1 1.4.7
updraftplus / includes / class-updraftplus-deactivation.php
updraftplus / includes Last commit date
Dropbox2 3 weeks ago Google 3 weeks ago blockui 3 weeks ago checkout-embed 3 weeks ago cloudfiles 3 weeks ago handlebars 1 month ago images 9 years ago jquery-ui.dialog.extended 3 weeks ago jquery.serializeJSON 5 years ago jstree 1 year ago labelauty 3 weeks ago pcloud 3 weeks ago select2 1 year ago tether 6 years ago tether-shepherd 7 years ago updraftclone 3 weeks ago S3.php 3 weeks ago S3compat.php 3 weeks ago cacert.pem 2 years ago class-backup-history.php 1 month ago class-commands.php 3 weeks ago class-database-utility.php 1 month ago class-filesystem-functions.php 1 month ago class-http-error-descriptions.php 2 years ago class-job-scheduler.php 3 years ago class-manipulation-functions.php 1 month ago class-partialfileservlet.php 3 weeks ago class-remote-send.php 3 weeks ago class-search-replace.php 1 month ago class-semaphore.php 3 weeks ago class-storage-methods-interface.php 1 month ago class-updraft-dashboard-news.php 1 month ago class-updraft-semaphore.php 4 years ago class-updraftcentral-updraftplus-commands.php 3 years ago class-updraftplus-deactivation.php 1 month ago class-updraftplus-encryption.php 1 month ago class-wpadmin-commands.php 1 month ago class-zip.php 1 month ago ftp.class.php 2 months ago get-cpanel-quota-usage.pl 12 years ago google-extensions.php 1 month ago jquery-ui.custom-v1.11.4-1-26-4.min.css 3 weeks ago jquery-ui.custom-v1.11.4-1-26-4.min.css.map 3 weeks ago jquery-ui.custom-v1.11.4.css 3 years ago jquery-ui.custom-v1.12.1-1-26-4.min.css 3 weeks ago jquery-ui.custom-v1.12.1-1-26-4.min.css.map 3 weeks ago jquery-ui.custom-v1.12.1.css 3 years ago migrator-lite.php 1 month ago updraft-admin-common-1-26-4.min.js 3 weeks ago updraft-admin-common.js 3 weeks ago updraft-restorer-skin-compatibility.php 6 years ago updraft-restorer-skin.php 3 years ago updraftcentral.php 1 year ago updraftplus-clone.php 1 year ago updraftplus-login.php 7 months ago updraftplus-notices.php 1 month ago updraftplus-tour.php 1 month ago updraftvault.php 3 years ago
class-updraftplus-deactivation.php
119 lines
1 <?php
2 if (!defined('UPDRAFTPLUS_DIR')) die('No direct access allowed');
3
4 /**
5 * Handles the UpdraftPlus deactivation popup modal.
6 */
7 class UpdraftPlus_Deactivation {
8
9 private static $instance = null;
10
11 /**
12 * Get singleton instance
13 */
14 public static function get_instance() {
15 if (null === self::$instance) {
16 self::$instance = new self();
17 }
18 return self::$instance;
19 }
20
21 /**
22 * Constructor.
23 */
24 private function __construct() {
25 add_action('init', array($this, 'init_deinstall_dialog'));
26 }
27
28 /**
29 * Initialize the deactivation popup on admin plugins page or for AJAX requests
30 * Sets up the hooks required for initializing the deactivation dialog
31 */
32 public function init_deinstall_dialog() {
33 global $pagenow;
34 if ((defined('WP_AJAX') && WP_AJAX) || 'admin-ajax.php' == $pagenow) {
35 add_action('updraftplus_deinstall', array($this, 'handle_user_choice'));
36 $this->instantiate_deinstall_dialog_object();
37 } elseif ('plugins.php' == $pagenow) {
38 add_action('admin_init', array($this, 'instantiate_deinstall_dialog_object'));
39 add_action('updraftplus_admin_enqueue_scripts', array($this, 'enqueue_dialog_scripts'));
40 if (!class_exists('UpdraftPlus_Addon_Autobackup')) {
41 add_action('admin_footer', array($this, 'enqueue_admin_common_scripts'));
42 add_action('admin_print_footer_scripts', array($this, 'add_footer_inline_script'));
43 }
44 }
45 }
46
47 /**
48 * Print additional javascript in the footer part of the page
49 */
50 public function add_footer_inline_script() {
51 if (!UpdraftPlus_Options::user_can_manage()) {
52 return;
53 }
54 echo "<script type='text/javascript'>\n";
55 // in free version on plugins.php page, since the deinstall dialog requires admin-common-js, the updraft_credentialtest_nonce variable should be declared because it's going to be used by the updraft_send_command for background operations, if not declared it will produce JS error in the browser's console; auto-backup does this too.
56 echo "var updraft_credentialtest_nonce = updraft_credentialtest_nonce || '".esc_js(wp_create_nonce('updraftplus-credentialtest-nonce'))."';";
57 echo "\n</script>";
58 }
59
60 /**
61 * Enqueue our admin common scripts/styles
62 */
63 public function enqueue_admin_common_scripts() {
64 global $updraftplus_admin;
65 $updraftplus_admin->admin_enqueue_scripts();
66 }
67
68 /**
69 * Enqueue deactivation dialog scripts
70 */
71 public function enqueue_dialog_scripts() {
72 global $updraftplus;
73 $enqueue_version = $updraftplus->use_unminified_scripts() ? $updraftplus->version.'.'.time() : $updraftplus->version;
74 $updraft_min_or_not = $updraftplus->get_updraftplus_file_version();
75 wp_enqueue_style('updraft-deactivation-popup', UPDRAFTPLUS_URL.'/css/updraftplus-deactivation'.$updraft_min_or_not.'.css', array('updraft-jquery-ui'), $enqueue_version);
76 wp_enqueue_script('udp-deactivation-js', UPDRAFTPLUS_URL.'/js/updraftplus-deactivation'.$updraft_min_or_not.'.js', array('jquery'), $enqueue_version);
77 wp_localize_script('udp-deactivation-js', 'upraftplusdialog', array(
78 'deactivate' => esc_html__('Deactivate', 'updraftplus'),
79 'remove' => esc_html__('Remove and deactivate', 'updraftplus'),
80 ));
81 }
82
83 /**
84 * Instantiate a deactivation dialog object with preconfigured settings
85 */
86 public function instantiate_deinstall_dialog_object() {
87
88 if (!class_exists('Updraft_Deinstall_Dialog_v1')) {
89 updraft_try_include_file(
90 'vendor/team-updraft/common-libs/src/updraft-plugin-deinstall-dialog/class-updraft-deinstall-dialog.php',
91 'include_once'
92 );
93 }
94
95 if (class_exists('Updraft_Deinstall_Dialog_v1')) {
96 new Updraft_Deinstall_Dialog_v1(array(
97 'script_handler' => 'updraftplus',
98 'plugin_slug' => UPDRAFTPLUS_PLUGIN_SLUG,
99 'dialog_title' => esc_html__('Before you deactivate...', 'updraftplus'),
100 'deactivate_label' => esc_html__('Deactivate', 'updraftplus'),
101 'cancel_label' => esc_html__('Cancel', 'updraftplus'),
102 'template_file' => UPDRAFTPLUS_DIR . '/templates/deactivation-popup-modal.php',
103 'show_on_network_admin' => true,
104 'show_on_subsites' => false,
105 ));
106 }
107 }
108
109 /**
110 * Handle the AJAX request to save the user’s deactivation choice.
111 * The capability check is handled by the dialog library.
112 */
113 public function handle_user_choice() {
114
115 $choice = UpdraftPlus_Manipulation_Functions::fetch_superglobal('post', 'updraft_deinstall_option', 'no', true, null, 'sanitize_text_field');
116 UpdraftPlus_Options::update_updraft_option('updraftplus_deinstall_option', $choice);
117 }
118 }
119