/** * Constructor * * @param \Nette\Http\Request $request HTTP request * @param \Nette\Http\Session $session Session * @param array $config Custom configuration */ public function __construct(Request $request, Session $session, $config = array()) { parent::__construct(); // Create system container with services and configuration $this->system = new FileManager\Application\Loader($session, $config); $this->system->freeze(); // Get & validate actual dir $actualDir = $this->system->session->get("actualdir"); $actualPath = $this->getAbsolutePath($actualDir); if (!is_dir($actualPath) || empty($actualDir)) { // Set root directory as default $actualDir = FileSystem::getRootname(); } $this->setActualDir($actualDir); // Get selected files via POST $selectedFiles = $request->getPost("files"); if (is_array($selectedFiles)) { $this->selectedFiles = $selectedFiles; } $this->invalidateControl(); }
/** * Go to parent directory from actual path */ public function handleGoToParent() { $parent = dirname($this->getActualDir()); if ($parent == "\\" || $parent == ".") { $parentDir = FileSystem::getRootname(); } else { $parentDir = $parent . "/"; } $this->setActualDir($parentDir); }