/** * @param $bitAlias * @param class_module_pages_page $objPage * @param $strMode * * @return class_admin_formgenerator */ private function getPageForm($bitAlias, class_module_pages_page $objPage, $strMode) { //Load all the Templates available $arrTemplates = class_resourceloader::getInstance()->getTemplatesInFolder("/module_pages"); $arrTemplatesDD = array(); if (count($arrTemplates) > 0) { foreach ($arrTemplates as $strTemplate) { $arrTemplatesDD[$strTemplate] = $strTemplate; } } //remove template of master-page when editing a regular page $objMasterPage = class_module_pages_page::getPageByName("master"); if ($objMasterPage != null && ($objPage->getSystemid() == "" || $objMasterPage->getSystemid() != $objPage->getSystemid())) { unset($arrTemplatesDD[$objMasterPage->getStrTemplate()]); } $strPagesBrowser = class_link::getLinkAdminDialog("pages", "pagesFolderBrowser", "&form_element=page_folder_name&pages=1&elements=false&folder=1&pagealiases=1", $this->getLang("commons_open_browser"), $this->getLang("commons_open_browser"), "icon_externalBrowser", $this->getLang("commons_open_browser")); $objForm = new class_admin_formgenerator("page", $objPage); if ($bitAlias) { $objForm->addField(new class_formentry_hidden("page", "name"))->setStrValue(generateSystemid())->setStrLabel($this->getLang("name")); } else { $objForm->addDynamicField("strName")->setStrLabel($this->getLang("name")); } $objForm->addDynamicField("browsername")->setStrLabel($this->getLang("browsername")); if (!$bitAlias) { $objForm->addDynamicField("strSeostring")->setStrLabel($this->getLang("seostring")); $objForm->addDynamicField("strDescription")->setStrLabel($this->getLang("commons_description")); $objForm->addDynamicField("strKeywords")->setStrLabel($this->getLang("keywords")); } $strParentId = $objPage->getPrevId(); if (!validateSystemid($strParentId) && $strMode == "new") { $strParentId = $this->getSystemid(); } $strFolderId = $this->getParam("page_folder_name_id"); $strFolderName = $this->getParam("page_folder_name"); if (!validateSystemid($strFolderId) && validateSystemid($strParentId)) { $objParent = class_objectfactory::getInstance()->getObject($strParentId); $strFolderId = $objParent->getSystemid(); if ($objParent->getSystemid() != $this->getObjModule()->getSystemid()) { $strFolderName = $objParent->getStrDisplayName(); } } $objForm->addField(new class_formentry_text("page", "folder_name"))->setStrValue($strFolderName)->setBitReadonly(true)->setStrOpener($strPagesBrowser)->setStrLabel($this->getLang("page_folder_name")); $objForm->addField(new class_formentry_hidden("page", "folder_name_id"))->setStrValue($strFolderId); if (!$bitAlias) { /** @var $objField class_formentry_base */ $objField = $objForm->addDynamicField("strTemplate")->setArrKeyValues($arrTemplatesDD)->setStrLabel($this->getLang("template")); if ($strMode == "edit" && $objPage->getStrTemplate() == "") { $objField->setStrHint($this->getLang("templateNotSelectedBefore")); } $bitReadonly = false; if (class_module_system_setting::getConfigValue("_pages_templatechange_") == "false") { if ($this->getAction() == "newPage" || $this->getParam("mode") == "new") { $bitReadonly = false; } else { if ($objPage->getNumberOfElementsOnPage() != 0) { $bitReadonly = true; } } } $objField->setBitReadonly($bitReadonly); if ($strMode == "new" && $this->getParam("page_template") == "") { $objField->setStrValue(class_module_system_setting::getConfigValue("_pages_defaulttemplate_")); } } else { $objForm->addDynamicField("strAlias")->setStrHint($this->getLang("page_alias_hint"))->setBitMandatory(true)->setStrLabel($this->getLang("page_alias")); $objForm->addDynamicField("strTarget")->setStrLabel($this->getLang("page_target")); } $objForm->addField(new class_formentry_hidden("", "mode"))->setStrValue($strMode); return $objForm; }