public function test() { $objDB = class_carrier::getInstance()->getObjDB(); echo "testing module_pages\n"; //pages at startup: $intPagesAtStartup = count(class_module_pages_folder::getPagesInFolder(class_module_system_module::getModuleByName("pages")->getSystemid())); $objDB->flushQueryCache(); echo "\tcreate a new folder...\n"; $objFolder = new class_module_pages_folder(); $objFolder->setStrName("autotest"); $objFolder->updateObjectToDb(class_module_system_module::getModuleByName("pages")->getSystemid()); $strTestFolderID = $objFolder->getSystemid(); echo "\tcreate 10 folders using the model...\n"; $arrFoldersCreated = array(); for ($intI = 0; $intI < 10; $intI++) { $objFolder = new class_module_pages_folder(); $objFolder->setStrName("testfolder_" . $intI); $objFolder->updateObjectToDb($strTestFolderID); $strFolderID = $objFolder->getSystemid(); $arrFoldersCreated[] = $strFolderID; $objFolder = new class_module_pages_folder($strFolderID); $this->assertEquals($objFolder->getStrName(), "testfolder_" . $intI, __FILE__ . " checkNameOfFolderCreated"); $this->assertEquals($objFolder->getPrevId(), $strTestFolderID, __FILE__ . " checkPrevIDOfFolderCreated"); } $arrFoldersAtLevel = class_module_pages_folder::getFolderList($strTestFolderID); $this->assertEquals(count($arrFoldersAtLevel), 10, __FILE__ . " checkNrOfFoldersCreatedByModel"); echo "\tcreate 10 pages on root level using the model...\n"; $arrPagesCreated = array(); for ($intI = 0; $intI < 10; $intI++) { $objPages = new class_module_pages_page(); $objPages->setStrName("autotest_" . $intI); $objPages->setStrTemplate("standard.tpl"); $objPages->updateObjectToDb(); $strPageID = $objPages->getSystemid(); $arrPagesCreated[] = $strPageID; $objPage = new class_module_pages_page($strPageID); $this->assertEquals($objPage->getStrName(), "autotest_" . $intI, __FILE__ . " checkNameOfPageCreated"); $this->assertEquals($objPage->getStrTemplate(), "standard.tpl", __FILE__ . " checkTemplateOfPageCreated"); } $arrPagesAtLevel = class_module_pages_folder::getPagesInFolder(class_module_system_module::getModuleByName("pages")->getSystemid()); $this->assertEquals(count($arrPagesAtLevel), 10 + $intPagesAtStartup, __FILE__ . " checkNrOfPagesCreatedByModel"); echo "\tdeleting pages created...\n"; foreach ($arrPagesCreated as $strOnePageID) { $objDelPage = new class_module_pages_page($strOnePageID); $objDelPage->deleteObjectFromDatabase(); $objDB->flushQueryCache(); } echo "\tcheck number of pages installed...\n"; $arrPagesAtLevel = class_module_pages_folder::getPagesInFolder(class_module_system_module::getModuleByName("pages")->getSystemid()); $this->assertEquals(count($arrPagesAtLevel), $intPagesAtStartup, __FILE__ . " checkNrOfPagesAtLevel"); echo "\tdeleting folders created...\n"; foreach ($arrFoldersCreated as $strOneFolderID) { $objFolder = new class_module_pages_folder($strOneFolderID); $objFolder->deleteObjectFromDatabase(); $objDB->flushQueryCache(); } echo "\tcheck number of folders installed...\n"; $arrFoldersAtLevel = class_module_pages_folder::getFolderList($strTestFolderID); $this->assertEquals(count($arrFoldersAtLevel), 0, __FILE__ . " checkNrOfFoldersAtLevel"); echo "\tdeleting folder...\n"; $objFolder = new class_module_pages_folder($strTestFolderID); $objFolder->deleteObjectFromDatabase(); }
/** * Returns a list of folders in the pages-database * * @return String * @permissions view * @autoTestable */ protected function actionPagesFolderBrowser() { $strReturn = ""; $intCounter = 1; $this->setArrModuleEntry("template", "/folderview.tpl"); if ($this->getParam("CKEditorFuncNum") != "") { $strReturn .= "<script type=\"text/javascript\">window.opener.KAJONA.admin.folderview.selectCallbackCKEditorFuncNum = " . (int) $this->getParam("CKEditorFuncNum") . ";</script>"; } //param init $bitPages = $this->getParam("pages") != "" ? true : false; $bitPageAliases = $this->getParam("pagealiases") != "" ? true : false; $bitPageelements = $this->getParam("elements") == "false" ? false : true; $bitFolder = $this->getParam("folder") != "" ? true : false; $strSystemid = $this->getSystemid() != "" ? $this->getSystemid() : class_module_system_module::getModuleByName("pages")->getSystemid(); $strElement = $this->getParam("form_element") != "" ? $this->getParam("form_element") : "ordner_name"; $strPageid = $this->getParam("pageid") != "" ? $this->getParam("pageid") : "0"; $strLinkAddon = "" . ($bitPages ? "&pages=1" : "") . ($bitFolder ? "&folder=1" : "") . ($this->getParam("bit_link") != "" ? "&bit_link=1" : "") . (!$bitPageelements ? "&elements=false" : "") . ($bitPageAliases ? "&pagealiases=1" : ""); $arrFolder = class_module_pages_folder::getFolderList($strSystemid); $objFolder = new class_module_pages_folder($strSystemid); $strLevelUp = ""; if (validateSystemid($strSystemid) && $strSystemid != $this->getObjModule()->getSystemid()) { $strLevelUp = $objFolder->getPrevId(); } //but: when browsing pages the current level should be kept if ($strPageid != "0") { $strLevelUp = $strSystemid; } $strReturn .= $this->objToolkit->formHeader(""); $strAction = $this->objToolkit->listButton("<a href=\"#\" title=\"" . $this->getLang("select_page") . "\" rel=\"tooltip\" onclick=\"KAJONA.admin.folderview.selectCallback([['" . $strElement . "', '" . _indexpath_ . "?page='+\$('#quickselect').val()]]);\">" . class_adminskin_helper::getAdminImage("icon_accept") . "</a>"); $strReturn .= $this->objToolkit->formInputPageSelector("quickselect", $this->getLang("folderview_quickselect"), "", "", false, false, $strAction); $strReturn .= $this->objToolkit->formClose(false); $strReturn .= $this->objToolkit->listHeader(); //Folder to jump one level up if (!$bitPages || $strLevelUp != "" || $bitFolder) { $strAction = $this->objToolkit->listButton($strSystemid != "0" && $strLevelUp != "" || $strPageid != "0" ? class_link::getLinkAdmin($this->getArrModule("modul"), "pagesFolderBrowser", "&systemid=" . $strLevelUp . $strLinkAddon . "&form_element=" . $strElement . ($this->getParam("bit_link") != "" ? "&bit_link=1" : ""), $this->getLang("commons_one_level_up"), $this->getLang("commons_one_level_up"), "icon_folderActionLevelup") : " "); if ($strSystemid == $this->getObjModule()->getSystemid() && (!$bitPages || $bitFolder)) { $strAction .= $this->objToolkit->listButton("<a href=\"#\" title=\"" . $this->getLang("commons_accept") . "\" rel=\"tooltip\" onclick=\"KAJONA.admin.folderview.selectCallback([['" . $strElement . "_id', '" . $this->getObjModule()->getSystemid() . "'], ['" . $strElement . "', '']]);\">" . class_adminskin_helper::getAdminImage("icon_accept")); } $strReturn .= $this->objToolkit->genericAdminList(generateSystemid(), "..", getImageAdmin("icon_folderOpen"), $strAction, $intCounter++); } if (count($arrFolder) > 0 && $strPageid == "0") { foreach ($arrFolder as $objSingleFolder) { if ($bitPages && !$bitFolder) { $strAction = $this->objToolkit->listButton(class_link::getLinkAdmin($this->getArrModule("modul"), "pagesFolderBrowser", "&systemid=" . $objSingleFolder->getSystemid() . "&form_element=" . $strElement . $strLinkAddon, $this->getLang("pages_ordner_oeffnen"), $this->getLang("pages_ordner_oeffnen"), "icon_folderActionOpen")); $strReturn .= $this->objToolkit->simpleAdminList($objSingleFolder, $strAction, $intCounter++); } else { $strAction = $this->objToolkit->listButton(class_link::getLinkAdmin($this->getArrModule("modul"), "pagesFolderBrowser", "&systemid=" . $objSingleFolder->getSystemid() . "&form_element=" . $strElement . $strLinkAddon, $this->getLang("pages_ordner_oeffnen"), $this->getLang("pages_ordner_oeffnen"), "icon_folderActionOpen")); $strAction .= $this->objToolkit->listButton("<a href=\"#\" title=\"" . $this->getLang("commons_accept") . "\" rel=\"tooltip\" onclick=\"KAJONA.admin.folderview.selectCallback([['" . $strElement . "_id', '" . $objSingleFolder->getSystemid() . "'], ['" . $strElement . "', '" . $objSingleFolder->getStrName() . "']]); \">" . class_adminskin_helper::getAdminImage("icon_accept")); $strReturn .= $this->objToolkit->simpleAdminList($objSingleFolder, $strAction, $intCounter++); } } } $strReturn .= $this->objToolkit->listFooter(); //Pages could be sent too if ($bitPages && $strPageid == "0") { $arrPages = class_module_pages_folder::getPagesInFolder($strSystemid); if (count($arrPages) > 0) { $strReturn .= $this->objToolkit->listHeader(); /** @var $objSinglePage class_module_pages_page */ foreach ($arrPages as $objSinglePage) { $arrSinglePage = array(); //Should we generate a link ? if ($this->getParam("bit_link") != "") { $arrSinglePage["name2"] = class_link::getLinkPortalHref($objSinglePage->getStrName(), "", "", "", "", $this->getLanguageToWorkOn()); } else { $arrSinglePage["name2"] = $objSinglePage->getStrName(); } if ($objSinglePage->getIntType() == class_module_pages_page::$INT_TYPE_ALIAS) { if (count(class_module_pages_folder::getPagesInFolder($objSinglePage->getSystemid())) == 0) { $strAction = getImageAdmin("icon_treeBranchOpenDisabled"); } else { $strAction = $this->objToolkit->listButton(class_link::getLinkAdmin($this->getArrModule("modul"), "pagesFolderBrowser", "&systemid=" . $objSinglePage->getSystemid() . "&form_element=" . $strElement . $strLinkAddon, $this->getLang("page_sublist"), $this->getLang("page_sublist"), "icon_treeBranchOpen")); } if ($bitPageAliases) { $strAction .= $this->objToolkit->listButton("<a href=\"#\" title=\"" . $this->getLang("select_page") . "\" rel=\"tooltip\" onclick=\"KAJONA.admin.folderview.selectCallback([['" . $strElement . "_id', '" . $objSinglePage->getSystemid() . "'],['" . $strElement . "', '" . $arrSinglePage["name2"] . "']]);\">" . class_adminskin_helper::getAdminImage("icon_accept") . "</a>"); } $strReturn .= $this->objToolkit->simpleAdminList($objSinglePage, $strAction, $intCounter++); } else { if (count(class_module_pages_folder::getPagesInFolder($objSinglePage->getSystemid())) == 0) { $strAction = getImageAdmin("icon_treeBranchOpenDisabled"); } else { $strAction = $this->objToolkit->listButton(class_link::getLinkAdmin($this->getArrModule("modul"), "pagesFolderBrowser", "&systemid=" . $objSinglePage->getSystemid() . "&form_element=" . $strElement . $strLinkAddon, $this->getLang("page_sublist"), $this->getLang("page_sublist"), "icon_treeBranchOpen")); } if ($bitPageelements) { $strAction .= $this->objToolkit->listButton(class_link::getLinkAdmin($this->getArrModule("modul"), "pagesFolderBrowser", "&systemid=" . $strSystemid . "&form_element=" . $strElement . "&pageid=" . $objSinglePage->getSystemid() . ($this->getParam("bit_link") != "" ? "&bit_link=1" : "") . ($bitPages ? "&pages=1" : "") . ($bitPageAliases ? "&pagealiases=1" : ""), $this->getLang("seite_oeffnen"), $this->getLang("seite_oeffnen"), "icon_folderActionOpen")); } $strAction .= $this->objToolkit->listButton("<a href=\"#\" title=\"" . $this->getLang("select_page") . "\" rel=\"tooltip\" onclick=\"KAJONA.admin.folderview.selectCallback([['" . $strElement . "_id', '" . $objSinglePage->getSystemid() . "'],['" . $strElement . "', '" . $arrSinglePage["name2"] . "']]);\">" . class_adminskin_helper::getAdminImage("icon_accept") . "</a>"); $strReturn .= $this->objToolkit->simpleAdminList($objSinglePage, $strAction, $intCounter++); } } $strReturn .= $this->objToolkit->listFooter(); } } //Load the list of pagelements available on the page if ($strPageid != "0") { $strReturn .= $this->objToolkit->divider(); $arrPageelements = class_module_pages_pageelement::getElementsOnPage($strPageid, true, $this->getLanguageToWorkOn()); $objPage = new class_module_pages_page($strPageid); if (count($arrPageelements) > 0) { $strReturn .= $this->objToolkit->listHeader(); /** @var class_module_pages_pageelement $objOnePageelement */ foreach ($arrPageelements as $objOnePageelement) { $arrSinglePage = array(); //Should we generate a link ? if ($this->getParam("bit_link") != "") { $arrSinglePage["name2"] = class_link::getLinkPortalHref($objPage->getStrName(), "", "", "", "", $this->getLanguageToWorkOn()) . "#" . $objOnePageelement->getSystemid(); } else { $arrSinglePage["name2"] = $objPage->getStrName() . "#" . $objOnePageelement->getSystemid(); } $strAction = $this->objToolkit->listButton("<a href=\"#\" title=\"" . $this->getLang("seite_uebernehmen") . "\" rel=\"tooltip\" onclick=\"KAJONA.admin.folderview.selectCallback([['" . $strElement . "', '" . $arrSinglePage["name2"] . "']]);\">" . class_adminskin_helper::getAdminImage("icon_accept") . "</a>"); $strReturn .= $this->objToolkit->simpleAdminList($objOnePageelement, $strAction, $intCounter++); } $strReturn .= $this->objToolkit->listFooter(); } } return $strReturn; }