public function __construct($plugin_id, $object) { if ($plugin_id) { $this->plugin_id = $plugin_id; } else { return false; } if ($object instanceof _q2w3_table_obj) { $this->object = $object; } else { return false; } if ($GLOBALS['wpdb']) { $this->wpdb = $GLOBALS['wpdb']; } else { return false; } $this->user_options_var = q2w3_table_func::safe_plugin_id($this->plugin_id) . '_table_settings'; $this->user_settings_load(); $this->create_new_button_text = __('Add New', $this->plugin_id); }
public static function deactivation() { if (isset($_POST['deactivate']) && $_POST['deactivate'] == 'deactivate' || $_POST['deactivate'] == 'deactivate_and_clean') { // process deactivation options global $wpdb; require_once ABSPATH . 'wp-admin/includes/plugin.php'; $redirect_url = get_option('siteurl') . '/wp-admin/plugins.php?deactivate=true'; if ($_POST['deactivate'] == 'deactivate') { // simple deactivation deactivate_plugins(plugin_basename(__FILE__)); wp_redirect($redirect_url); } elseif ($_POST['deactivate'] == 'deactivate_and_clean') { // advanced deactivation (delete tables and settings) self::object(); deactivate_plugins(plugin_basename(__FILE__)); // deactivate plugin $wpdb->query('DELETE FROM ' . $wpdb->options . " WHERE option_name LIKE '%q2w3_inc_manager%'"); // delete all plugin entries in options table $wpdb->query('DELETE FROM ' . $wpdb->usermeta . " WHERE meta_key = '" . q2w3_table_func::safe_plugin_id(self::ID) . "_table_settings'"); // delete all plugin entries in usermeta table $wpdb->query('DROP TABLE IF EXISTS ' . self::$object->table()); // delete includes table wp_redirect($redirect_url); } } }