/**
  * 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;
 }
Esempio n. 2
0
 /**
  * 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);
 }