PluginProbe
FileBird – WordPress Media Library Folders & File Manager / 5.6
FileBird – WordPress Media Library Folders & File Manager v5.6
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 / Controller / UserSettings.php

UserSettings.php in FileBird – WordPress Media Library Folders & File Manager 5.6, at includes/Controller/UserSettings.php

69 lines 1.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace FileBird\Controller;
4
5 defined( 'ABSPATH' ) || exit;
6
7 use FileBird\Model\Folder as FolderModel;
8
9 class UserSettings {
10 protected static $instance = null;
11
12 private $userId = '';
13 public $settings = array();
14
15 public static function getInstance() {
16 if ( null == self::$instance ) {
17 self::$instance = new self();
18 self::$instance->doHooks();
19 }
20 return self::$instance;
21 }
22
23 public function __construct() {
24 $this->userId = get_current_user_id();
25 $this->settings = $this->getAllSettings();
26 }
27
28 public function doHooks() {
29 add_filter( 'fbv_data', array( $this, 'addUserSettingsData' ), 10, 1 );
30 }
31
32 public function getAllSettings() {
33 return array(
34 'default_folder' => $this->getDefaultSelectedFolder(),
35 'default_sort_files' => $this->getDefaultSortFiles(),
36 );
37 }
38
39 public function addUserSettingsData( $data ) {
40 $data['user_settings'] = $this->settings;
41 return $data;
42 }
43
44 public function getDefaultSortFiles() {
45 return get_user_meta( $this->userId, '_njt_fbv_default_sort_files', true );
46 }
47
48 public function getDefaultSelectedFolder() {
49 $folder_id = get_user_meta( $this->userId, '_njt_fbv_default_folder', true );
50 $folder_id = intval( $folder_id );
51
52 if ( $folder_id > 0 ) {
53 if ( is_null( FolderModel::findById( $folder_id ) ) ) {
54 $folder_id = -1;
55 }
56 }
57 return $folder_id;
58 }
59
60 public function setDefaultSelectedFolder( $value ) {
61 $value = (int) $value;
62 update_user_meta( $this->userId, '_njt_fbv_default_folder', $value );
63 }
64
65 public function setDefaultSortFiles( $value ) {
66 update_user_meta( $this->userId, '_njt_fbv_default_sort_files', $value );
67 }
68 }
69