PluginProbe
FileBird – WordPress Media Library Folders & File Manager / 6.3.4
FileBird – WordPress Media Library Folders & File Manager v6.3.4
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 / Classes / FolderStateManager.php

FolderStateManager.php in FileBird – WordPress Media Library Folders & File Manager 6.3.4, at includes/Classes/FolderStateManager.php

63 lines 1.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace FileBird\Classes;
3
4 defined( 'ABSPATH' ) || exit;
5
6 use FileBird\Model\Folder as FolderModel;
7
8 class FolderStateManager {
9 private $fb_folder = null;
10 private $query = null;
11 private $settingModel = null;
12
13 public function __construct( $query, $settingModel ) {
14 $this->query = $query;
15 $this->settingModel = $settingModel;
16 }
17
18 public function getFbFolder() {
19 $paramUrl = $this->getParamFromUrl();
20 $this->fb_folder = $this->getParamFromQuery();
21
22 if ( Helpers::isListMode() ) {
23 $this->fb_folder = $this->settingModel->get( 'DEFAULT_FOLDER' );
24
25 if ( $this->fb_folder === FolderModel::PREVIOUS_FOLDER ) {
26 $this->fb_folder = $this->settingModel->get( 'FOLDER_STARTUP' );
27 }
28
29 if ( ! \is_null( $paramUrl ) ) {
30 $this->fb_folder = $paramUrl;
31 $this->settingModel->setFolderStartup( $paramUrl );
32 }
33 }
34
35 return $this->fb_folder;
36 }
37
38 private function getParamFromUrl() {
39 // phpcs:ignore WordPress.Security.NonceVerification.Recommended
40 return isset( $_GET['fbv'] ) ? intval( $_GET['fbv'] ) : null;
41 }
42
43 private function getParamFromQuery() {
44 $folder = null;
45
46 if ( '' !== $this->query->get( 'fbv' ) ) {
47 $folder = intval( $this->query->get( 'fbv' ) );
48 }
49
50 return $folder;
51 }
52
53 // TODO: getFolderStartup is not good performance
54 public function getState( $folderId ) {
55 $this->settingModel->setFolderStartup( $folderId );
56
57 if ( $this->settingModel->get( 'DEFAULT_FOLDER' ) == FolderModel::PREVIOUS_FOLDER ) {
58 return $this->settingModel->getFolderStartup();
59 }
60
61 return $folderId;
62 }
63 }