Example #1
0
 /**
  * Create Page Method
  *
  * @return PageXml
  */
 public function CreatePage()
 {
     parent::CreatePage();
     $this->_myWords = $this->WordCollection();
     $this->defaultXmlnukeDocument->addMenuItem("module:Xmlnuke.Admin.FileManagement", $this->_myWords->Value("FILEMANAGEMENT"), "");
     $this->_block = new XmlBlockCollection($this->_myWords->Value("FILEMANAGEMENT"), BlockPosition::Center);
     $this->setTitlePage($this->_myWords->Value("TITLE"));
     $this->setHelp($this->_myWords->Value("DESCRIPTION"));
     $this->defaultXmlnukeDocument->addXmlnukeObject($this->_block);
     //get the current folder
     $root = $this->_context->get("folder");
     $browser = new XmlFileBrowser($root, $this->_action, $this->_context);
     //SET FILEBROWSER ACESS LEVEL
     $processor = new AnydatasetFilenameProcessor("filemanagement");
     $processor->setFilenameLocation(ForceFilenameLocation::UseWhereExists);
     $anyDataSet = new AnyDataset($processor->FullQualifiedNameAndPath());
     $ignoreAdmin = false;
     $it = $anyDataSet->getIterator();
     while ($it->hasNext()) {
         $row = $it->moveNext();
         switch ($row->getField("type")) {
             case "INITIAL_DIR":
                 $initial_dir = $row->getFieldArray("value");
                 $browser->setSubFoldersPermitted($initial_dir);
                 break;
             case "VALID_FILE_NEW":
                 $file_new_list = $row->getFieldArray("value");
                 $browser->setFileNewList($file_new_list);
                 break;
             case "VALID_FILE_VIEW":
                 $file_view_list = $row->getFieldArray("value");
                 $browser->setFileViewList($file_view_list);
                 break;
             case "VALID_FILE_EDIT":
                 $file_edit_list = $row->getFieldArray("value");
                 $browser->setFileEditList($file_edit_list);
                 break;
             case "VALID_FILE_DELETE":
                 $file_delete_list = $row->getFieldArray("value");
                 $browser->setFileDeleteList($file_delete_list);
                 break;
             case "VALID_FILE_UPLOAD":
                 $file_upload_list = $row->getFieldArray("value");
                 $browser->setFileUploadList($file_upload_list);
                 break;
             case "VALID_FILE_MAX_UPLOAD":
                 $file_max_upload = $row->getField("value");
                 $browser->setFileMaxUpload($file_max_upload);
                 break;
             case "PERMISSION":
                 $browser->setFileNew($row->getField("file_new"));
                 $browser->setFileView($row->getField("file_view"));
                 $browser->setFileEdit($row->getField("file_edit"));
                 $browser->setFileDelete($row->getField("file_delete"));
                 $browser->setFileUpload($row->getField("file_upload"));
                 $browser->setFolderNew($row->getField("folder_new"));
                 $browser->setFolderView($row->getField("folder_view"));
                 $browser->setFolderEdit($row->getField("folder_edit"));
                 $browser->setFolderDelete($row->getField("folder_delete"));
                 $ignoreAdmin = $row->getField("ignore_admin") == "true";
                 break;
         }
     }
     if ($this->isUserAdmin() && !$ignoreAdmin) {
         $browser->setUserType(FileBrownserUserType::ADMIN);
     }
     $this->_block->addXmlnukeObject($browser);
     return $this->defaultXmlnukeDocument->generatePage();
 }