private function getNaviAdminForm(class_module_navigation_tree $objTree)
 {
     $strFolderBrowser = class_link::getLinkAdminDialog("pages", "pagesFolderBrowser", "&form_element=navi_folder_i&folder=1", $this->getLang("commons_open_browser"), $this->getLang("commons_open_browser"), "icon_externalBrowser", $this->getLang("commons_open_browser"));
     $objForm = new class_admin_formgenerator("navi", $objTree);
     $objFolder = new class_module_pages_folder($objTree->getStrFolderId());
     $objForm->addDynamicField("strName");
     $objForm->addField(new class_formentry_text("navi", "folder_i", null))->setStrValue($objFolder->getStrName())->setBitReadonly(true)->setStrOpener($strFolderBrowser)->setStrLabel($this->getLang("navigation_folder_i"));
     $objForm->addField(new class_formentry_hidden("navi", "folder_i_id"))->setStrValue($objFolder->getSystemid());
     return $objForm;
 }
 /**
  * Creates the admin-form object
  *
  * @param class_module_languages_language $objLanguage
  *
  * @return class_admin_formgenerator
  */
 private function getAdminForm(class_module_languages_language $objLanguage)
 {
     $objLang = new class_module_languages_language();
     $arrLanguages = $objLang->getAllLanguagesAvailable();
     $arrLanguagesDD = array();
     foreach ($arrLanguages as $strLangShort) {
         $arrLanguagesDD[$strLangShort] = $this->getLang("lang_" . $strLangShort);
     }
     $objForm = new class_admin_formgenerator("language", $objLanguage);
     $objForm->addDynamicField("strName")->setArrKeyValues($arrLanguagesDD);
     $objForm->addDynamicField("bitDefault");
     return $objForm;
 }
 /**
  * @param interface_usersources_group|class_model $objGroup
  *
  * @return class_admin_formgenerator
  */
 private function getGroupForm(interface_usersources_group $objGroup)
 {
     $objForm = new class_admin_formgenerator("group", $objGroup);
     //add the global group-name
     $objForm->addField(new class_formentry_text("group", "name"))->setBitMandatory(true)->setStrLabel($this->getLang("group_name"))->setStrValue($this->getParam("group_name"));
     if ($objGroup->isEditable()) {
         //adding elements is more generic right here - load all methods
         $objAnnotations = new class_reflection($objGroup);
         $arrProperties = $objAnnotations->getPropertiesWithAnnotation("@fieldType");
         foreach ($arrProperties as $strProperty => $strValue) {
             $objForm->addDynamicField($strProperty);
         }
     }
     $objGroup->updateAdminForm($objForm);
     return $objForm;
 }
 /**
  * Generates a simple form to edit and create elements' basic data.
  *
  * @param class_module_pages_element $objElement
  *
  * @return class_admin_formgenerator
  */
 private function getElementForm(class_module_pages_element $objElement)
 {
     //Fetch Admin classes
     $arrClasses = class_resourceloader::getInstance()->getFolderContent("/admin/elements", array(".php"));
     $arrClassesAdmin = array();
     foreach ($arrClasses as $strClass) {
         $arrClassesAdmin[$strClass] = $strClass;
     }
     //Fetch Portal-Classes
     $arrClassesPortal = array();
     $arrClasses = class_resourceloader::getInstance()->getFolderContent("/portal/elements", array(".php"));
     foreach ($arrClasses as $strClass) {
         $arrClassesPortal[$strClass] = $strClass;
     }
     $objForm = new class_admin_formgenerator("element", $objElement);
     //redefine for proper lang-rendering
     $objElement->setArrModuleEntry("modul", "pages");
     $objForm->generateFieldsFromObject();
     $objForm->getField("cachetime")->setStrHint($this->getLang("element_cachetime_hint"));
     $objForm->getField("classadmin")->setArrKeyValues($arrClassesAdmin);
     $objForm->getField("classportal")->setArrKeyValues($arrClassesPortal);
     //check if the config-vals may be overriden
     /** @var $objAdminInstance class_element_admin */
     if ($objElement->getSystemid() != "") {
         $objAdminInstance = $objElement->getAdminElementInstance();
         if ($objAdminInstance->getConfigVal1Name() != "") {
             $objForm->addDynamicField("strConfigval1")->setStrLabel($objAdminInstance->getConfigVal1Name());
         }
         if ($objAdminInstance->getConfigVal2Name() != "") {
             $objForm->addDynamicField("strConfigval2")->setStrLabel($objAdminInstance->getConfigVal2Name());
         }
         if ($objAdminInstance->getConfigVal3Name() != "") {
             $objForm->addDynamicField("strConfigval3")->setStrLabel($objAdminInstance->getConfigVal3Name());
         }
     }
     return $objForm;
 }