/** * Generic list of all packages available on the local filesystem * @return string * @permissions view * @autoTestable */ protected function actionList() { if ($this->getParam("doFilter") != "") { $this->objSession->setSession($this->STR_FILTER_SESSION_KEY, $this->getParam("packagelist_filter")); $this->setParam("pv", 1); $this->adminReload(class_link::getLinkAdminHref($this->getArrModule("modul"), "list")); return ""; } class_module_packagemanager_template::syncTemplatepacks(); $strReturn = ""; $strReturn .= $this->objToolkit->formHeader(class_link::getLinkAdminHref($this->getArrModule("modul")), "list"); $strReturn .= $this->objToolkit->formInputText("packagelist_filter", $this->getLang("packagelist_filter"), $this->objSession->getSession($this->STR_FILTER_SESSION_KEY)); $strReturn .= $this->objToolkit->formInputSubmit(); $strReturn .= $this->objToolkit->formInputHidden("doFilter", "1"); $strReturn .= $this->objToolkit->formClose(); $objManager = new class_module_packagemanager_manager(); $arrPackages = $objManager->getAvailablePackages($this->objSession->getSession($this->STR_FILTER_SESSION_KEY)); $arrPackages = $objManager->sortPackages($arrPackages); $objArrayIterator = new class_array_iterator($arrPackages); $objArrayIterator->getElementsOnPage((int) ($this->getParam("pv") != "" ? $this->getParam("pv") : 1)); $objArraySectionIterator = new class_array_section_iterator(count($arrPackages)); $objArraySectionIterator->setPageNumber((int) ($this->getParam("pv") != "" ? $this->getParam("pv") : 1)); $objArraySectionIterator->setArraySection($objArrayIterator->getElementsOnPage((int) ($this->getParam("pv") != "" ? $this->getParam("pv") : 1))); $strReturn .= $this->objToolkit->listHeader(); $intI = 0; /** @var class_module_packagemanager_metadata $objOneMetadata */ foreach ($objArraySectionIterator as $objOneMetadata) { $strActions = ""; $objHandler = $objManager->getPackageManagerForPath($objOneMetadata->getStrPath()); if ($objHandler->isInstallable()) { $strActions .= $this->objToolkit->listButton(class_link::getLinkAdminDialog($this->getArrModule("modul"), "processPackage", "&package=" . $objOneMetadata->getStrPath(), $this->getLang("package_install"), $this->getLang("package_installocally"), "icon_downloads", $this->getLang("package_install"))); } $strActions .= $this->objToolkit->listButton(class_link::getLinkAdminDialog($this->getArrModule("modul"), "showInfo", "&package=" . $objOneMetadata->getStrTitle(), $this->getLang("package_info"), $this->getLang("package_info"), "icon_lens", $objOneMetadata->getStrTitle())); if ($this->getObjModule()->rightDelete()) { if ($objHandler->isRemovable($objOneMetadata)) { $strActions .= $this->objToolkit->listDeleteButton($objOneMetadata->getStrTitle(), $this->getLang("package_delete_question"), class_link::getLinkAdminHref($this->getArrModule("modul"), "deletePackage", "&package=" . $objOneMetadata->getStrTitle())); } else { $strActions .= $this->objToolkit->listButton(class_adminskin_helper::getAdminImage("icon_deleteLocked", $this->getLang("package_delete_locked"))); } } $strActions .= $this->objToolkit->listButton("<span id=\"updateWrapper" . createFilename($objOneMetadata->getStrTitle(), true) . "\">" . class_adminskin_helper::getAdminImage("loadingSmall", $this->getLang("package_searchupdate")) . "</span>"); $strActions .= "<script type='text/javascript'>\n \$(function() {\n KAJONA.admin.loader.loadFile('" . class_resourceloader::getInstance()->getCorePathForModule("module_packagemanager") . "/module_packagemanager/admin/scripts/packagemanager.js', function() {\n KAJONA.admin.packagemanager.addPackageToTest('" . $objOneMetadata->getStrTitle() . "', '" . createFilename($objOneMetadata->getStrTitle(), true) . "');\n }); });\n </script>"; $strReturn .= $this->objToolkit->simpleAdminList($objOneMetadata, $strActions, $intI++); } $strAddActions = ""; if ($this->getObjModule()->rightEdit()) { $strAddActions = $this->objToolkit->listButton(class_link::getLinkAdminDialog($this->getArrModule("modul"), "addPackage", "", $this->getLang("action_upload_package"), $this->getLang("action_upload_package"), "icon_new", $this->getLang("action_upload_package"))); } $strReturn .= $this->objToolkit->genericAdminList(generateSystemid(), "", "", $strAddActions, $intI); $strReturn .= $this->objToolkit->listFooter(); $strCore = class_resourceloader::getInstance()->getCorePathForModule("module_packagemanager"); $strReturn .= "<script type='text/javascript'>\n \$(function() {\n KAJONA.admin.loader.loadFile('{$strCore}/module_packagemanager/admin/scripts/packagemanager.js', function() {\n\n \$(window.setTimeout(function() {\n KAJONA.admin.packagemanager.triggerUpdateCheck();\n }, 1000));\n });\n });\n </script>"; $strReturn .= $this->objToolkit->getPageview($objArraySectionIterator, $this->getArrModule("modul"), $this->getAction()); return $strReturn; }
/** * Loads all installers available to this->arrInstaller */ public function loadInstaller() { $objManager = new class_module_packagemanager_manager(); $arrModules = $objManager->getAvailablePackages(); $this->arrMetadata = array(); foreach ($arrModules as $objOneModule) { if ($objOneModule->getBitProvidesInstaller()) { $this->arrMetadata[] = $objOneModule; } } $this->arrMetadata = $objManager->sortPackages($this->arrMetadata, true); }