70 lines
1.5 KiB
PHP
70 lines
1.5 KiB
PHP
<?php
|
|
/**
|
|
* Responsible for the User's operations
|
|
*
|
|
* @package wsal
|
|
* @subpackage helpers
|
|
* @since 4.6.0
|
|
* @copyright 2026 Melapress
|
|
* @license http://www.gnu.org/licenses/gpl-3.0.html GNU General Public License, version 3 or higher
|
|
* @link https://wordpress.org/plugins/wp-security-audit-log/
|
|
*/
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace WSAL\Helpers;
|
|
|
|
use WSAL\Adapter\User_Sessions;
|
|
use WSAL\Entities\Reports_Entity;
|
|
use WSAL\Helpers\Settings_Helper;
|
|
use WSAL\Entities\Metadata_Entity;
|
|
use WSAL\Entities\Occurrences_Entity;
|
|
use WSAL\Entities\Generated_Reports_Entity;
|
|
|
|
// Exit if accessed directly.
|
|
if ( ! defined( 'ABSPATH' ) ) {
|
|
exit;
|
|
}
|
|
|
|
/**
|
|
* User's utils class
|
|
*/
|
|
if ( ! class_exists( '\WSAL\Helpers\Uninstall_Helper' ) ) {
|
|
/**
|
|
* Utility class for uninstalling the plugin.
|
|
*
|
|
* @package wsal
|
|
*
|
|
* @since 4.6.0
|
|
*/
|
|
class Uninstall_Helper {
|
|
|
|
/**
|
|
* Runs the uninstall sequence
|
|
*
|
|
* @return void
|
|
*
|
|
* @since 4.6.0
|
|
*/
|
|
public static function uninstall() {
|
|
if ( Settings_Helper::get_boolean_option_value( 'delete-data' ) ) {
|
|
Occurrences_Entity::drop_table();
|
|
Metadata_Entity::drop_table();
|
|
|
|
if ( \class_exists( '\WSAL\Extensions\Views\Reports' ) ) {
|
|
Reports_Entity::drop_table();
|
|
Generated_Reports_Entity::drop_table();
|
|
}
|
|
|
|
if ( \class_exists( '\WSAL\Adapter\User_Sessions' ) ) {
|
|
User_Sessions::drop_table();
|
|
}
|
|
|
|
// Delete the archive and other data (if any).
|
|
|
|
Settings_Helper::delete_all_settings();
|
|
}
|
|
}
|
|
}
|
|
}
|