57 lines
1.3 KiB
PHP
57 lines
1.3 KiB
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();
|
|
}
|
|
} |