PluginProbe
FileBird – WordPress Media Library Folders & File Manager / 6.3
FileBird – WordPress Media Library Folders & File Manager v6.3
6.5.8 6.5.7 6.5.5 6.5.4 trunk 4.3.1 5.1.6 5.3 5.3.2 5.4.3 5.4.4 5.4.5 5.5 5.5.3 5.5.5 5.5.8 5.5.8.1 5.6 5.6.1 5.6.2 5.6.3 5.6.4 6.2.3 6.2.5 6.3 All 36 releases
filebird / includes / Plugin.php

Plugin.php in FileBird – WordPress Media Library Folders & File Manager 6.3, at includes/Plugin.php

57 lines 1.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace FileBird;
3
4 defined( 'ABSPATH' ) || exit;
5
6 use FileBird\Classes\Review;
7 use FileBird\Classes\Schedule as FilebirdSchedule;
8 use FileBird\Install;
9 use FileBird\Model\Folder as FolderModel;
10 use FileBird\Utils\Singleton;
11
12 /**
13 * Plugin activate/deactivate logic
14 */
15 class Plugin {
16 use Singleton;
17
18 public static $hasBackup = false;
19
20 public function __construct() {
21 self::prepareRun();
22 }
23
24 public static function prepareRun() {
25 $current_version = get_option( 'fbv_version' );
26 if ( version_compare( NJFB_VERSION, $current_version, '>' ) ) {
27 if ( ! self::$hasBackup ) {
28 self::runBackup();
29 }
30 self::activate();
31 update_option( 'fbv_version', NJFB_VERSION );
32 Review::update_time_display();
33 }
34 }
35
36 public static function runBackup() {
37 $folders = FolderModel::exportAll();
38 update_option( 'filebird_backup_' . date( 'Y_m_d_H_i_s' ), $folders, false );
39 self::$hasBackup = true;
40 }
41
42 /** Plugin activated hook */
43 public static function activate() {
44 $first_time_active = get_option( 'fbv_first_time_active' );
45 if ( $first_time_active === false ) {
46 update_option( 'fbv_is_new_user', 1 );
47 update_option( 'fbv_first_time_active', 1 );
48 }
49 Install::create_tables();
50 FilebirdSchedule::registerSchedule();
51 }
52
53 /** Plugin deactivate hook */
54 public static function deactivate() {
55 FilebirdSchedule::clearSchedule();
56 }
57 }