File: /home/nciq25gegoxa/public_html/wp-content/plugins/filebird/includes/Plugin.php
<?php
namespace FileBird;
defined( 'ABSPATH' ) || exit;
use FileBird\Classes\Review;
use FileBird\Classes\Schedule as FilebirdSchedule;
use FileBird\Install;
use FileBird\Model\Folder as FolderModel;
use FileBird\Utils\Singleton;
/**
* Plugin activate/deactivate logic
*/
class Plugin {
use Singleton;
public static $hasBackup = false;
public function __construct() {
self::prepareRun();
}
public static function prepareRun() {
$current_version = get_option( 'fbv_version' );
if ( version_compare( NJFB_VERSION, $current_version, '>' ) ) {
if ( ! self::$hasBackup ) {
self::runBackup();
}
self::activate();
update_option( 'fbv_version', NJFB_VERSION );
Review::update_time_display();
}
}
public static function runBackup() {
$folders = FolderModel::exportAll();
update_option( 'filebird_backup_' . date( 'Y_m_d_H_i_s' ), $folders, false );
self::$hasBackup = true;
}
/** Plugin activated hook */
public static function activate() {
$first_time_active = get_option( 'fbv_first_time_active' );
if ( $first_time_active === false ) {
update_option( 'fbv_is_new_user', 1 );
update_option( 'fbv_first_time_active', 1 );
}
Install::create_tables();
FilebirdSchedule::registerSchedule();
}
/** Plugin deactivate hook */
public static function deactivate() {
FilebirdSchedule::clearSchedule();
}
}