/**
  * Generic list of all packages available on the local filesystem
  * @return string
  * @permissions view
  * @autoTestable
  */
 protected function actionOpenFolder()
 {
     if (validateSystemid(class_module_system_setting::getConfigValue("_packageserver_repo_id_"))) {
         if ($this->getSystemid() == "") {
             $this->setSystemid(class_module_system_setting::getConfigValue("_packageserver_repo_id_"));
         }
         $objIterator = new class_array_section_iterator(class_module_mediamanager_file::getFileCount($this->getSystemid(), false, false, true));
         $objIterator->setPageNumber($this->getParam("pv"));
         $objIterator->setArraySection(class_module_mediamanager_file::loadFilesDB($this->getSystemid(), false, false, $objIterator->calculateStartPos(), $objIterator->calculateEndPos(), true));
     } else {
         $objIterator = new class_array_section_iterator(class_module_mediamanager_file::getFlatPackageListCount(false, false));
         $objIterator->setPageNumber($this->getParam("pv"));
         $objIterator->setArraySection(class_module_mediamanager_file::getFlatPackageList(false, false, $objIterator->calculateStartPos(), $objIterator->calculateEndPos()));
     }
     return $this->renderList($objIterator);
 }
 /**
  * @return int
  */
 protected function getNumberOfEntriesOnLevel()
 {
     return class_module_mediamanager_file::getFileCount($this->getSystemid(), false, true);
 }
 /**
  * Loads the content of a folder
  * If requested, loads subactions,too
  *
  * SPECIAL MODE FOR MODULE FOLDERVIEW
  *
  * @return string
  * @permissions view
  * @autoTestable
  */
 protected function actionFolderContentFolderviewMode()
 {
     $strReturn = "<script type='text/javascript'>KAJONA.admin.loader.loadFile('" . class_resourceloader::getInstance()->getCorePathForModule("module_mediamanager") . "/module_mediamanager/admin/scripts/mediamanager.js');</script>";
     //if set, save CKEditors CKEditorFuncNum parameter to read it again in KAJONA.admin.folderview.selectCallback()
     //so we don't have to pass through the param with all requests
     if ($this->getParam("CKEditorFuncNum") != "") {
         $strReturn .= "<script type=\"text/javascript\">window.opener.KAJONA.admin.folderview.selectCallbackCKEditorFuncNum = " . (int) $this->getParam("CKEditorFuncNum") . ";</script>";
     }
     $strTargetfield = $this->getParam("form_element");
     $this->setArrModuleEntry("template", "/folderview.tpl");
     //list repos or contents?
     if ($this->getSystemid() == "") {
         //Load the repos
         $arrObjRepos = class_module_mediamanager_repo::getObjectList();
         $intI = 0;
         //Print every repo
         /** @var class_module_mediamanager_repo $objOneRepo */
         foreach ($arrObjRepos as $objOneRepo) {
             //check rights
             if ($objOneRepo->rightView()) {
                 $strActions = "";
                 $strActions .= $this->objToolkit->listButton(class_link::getLinkAdmin($this->getArrModule("modul"), "folderContentFolderviewMode", "&form_element=" . $strTargetfield . "&systemid=" . $objOneRepo->getSystemid(), "", $this->getLang("action_open_folder"), "icon_folderActionOpen"));
                 $strReturn .= $this->objToolkit->simpleAdminList($objOneRepo, $strActions, $intI++);
             }
         }
         if (uniStrlen($strReturn) != 0) {
             $strReturn = $this->objToolkit->listHeader() . $strReturn . $this->objToolkit->listFooter();
         }
         if (count($arrObjRepos) == 0) {
             $strReturn .= $this->getLang("commons_list_empty");
         }
     } else {
         $objFile = class_objectfactory::getInstance()->getObject($this->getSystemid());
         if ($objFile === null || !$objFile->rightView()) {
             return $this->getLang("commons_error_permissions");
         }
         $objIterator = new class_array_section_iterator(class_module_mediamanager_file::getFileCount($this->getSystemid()));
         $objIterator->setPageNumber($this->getParam("pv"));
         $objIterator->setArraySection(class_module_mediamanager_file::loadFilesDB($this->getSystemid(), false, false, $objIterator->calculateStartPos(), $objIterator->calculateEndPos()));
         $strReturn .= $this->actionUploadFileInternal();
         $strReturn .= $this->generateNewFolderDialogCode();
         $strReturn .= $this->renderFloatingGrid($objIterator, class_module_mediamanager_admin::INT_LISTTYPE_FOLDERVIEW, "&form_element=" . $this->getParam("form_element"), false);
     }
     return $strReturn;
 }