/**
  *
  */
 protected function createControls()
 {
     $this->page = $this->controller->page;
     $this->setPostback('site', 'endEditPage', array('id' => $this->page->id, 'pa_site' => $this->page->pa_site, 'pa_module' => 'site', 'pa_action' => $this->page->pa_action, 'initPanel' => $this->request->initPanel));
     $panel = new CaptionedTabPanelControl($this, 'panel');
     $panel->setCaption('Seite » bearbeiten');
     $tabStammdaten = $panel->tabs->addTab('Stammdaten');
     $tabLayout = $panel->tabs->addTab('Layout');
     $lookup = new LookupBoxControl(null, 'pa_parent');
     $lookup->setLookupEntity(new Page())->setTextfield('pa_bezeichnung')->setValuefield('pa_id')->setGroupfield('parent')->setFilter(array('site' => $this->page->pa_site))->showNull(0, '-- Kein Parent --')->preSelect($this->page->pa_parent);
     $edit = new EditControl($tabStammdaten, 'edit');
     $edit->setEntity($this->page)->addRow('pa_ausblenden')->addRow('pa_bezeichnung')->addRow('Parent-Page', $lookup)->addRow('pa_css')->addRow('-')->addRow('pa_link')->addRow('pa_description')->addRow('pa_keywords')->addRow('pa_icon');
     $button = new SaveButtonControl($tabStammdaten, 'button');
     // region Texte
     $texte = new TranslatedTextControl($tabStammdaten, 'texte');
     $texte->setCaption('Angezeiger Text im Menü');
     $texte->setElement($this->page->getElementId());
     if ($this->request->action === 'newPage' && isset($this->request->text)) {
         $texte->setText($this->request->text);
     }
     // endregion
     // region Rechte
     $panelRechte = new CaptionedPanelControl($tabStammdaten, 'panelRechte');
     $panelRechte->setCaption('Seiten » Berechtigungen');
     $security = new SecurityCheckboxControl($panelRechte, 'berechtigung');
     $security->setElement($this->page->getElementId());
     // endregion
     // region Layout (Neu)
     if ($this->page->pa_action == 'composePage') {
         $rootRegions = Region::loadByPageAndParent($this->page->id, 0);
         foreach ($rootRegions as $region) {
             $block = $region->getBlock();
             if ($block !== null) {
                 $control = $block->toDesignModeHtml();
                 $tabLayout->add($control);
             }
         }
         $addRegion = new Controls\ChooseLayoutBlockControl($tabLayout, 'choose');
         $addRegion->setPage($this->page);
     }
     // endregion
     // region Layout (alt)
     if ($this->page->pa_action == 'useInnerTemplate') {
         $choose = new Controls\ChooseTemplateControl($tabLayout, 'pa_innertemplate');
         $choose->setChosenTemplate($this->page->pa_innertemplate);
         $choose->setOuterTemplate(Template::load($this->controller->site->si_template));
         $edit = new Controls\EditRegionsControl($tabLayout, 'editInPlace');
         $edit->setPageId($this->page->id);
         $edit->setRegions($this->page->getRegions());
         $edit->setTemplate($this->page->pa_innertemplate);
         $button = new ButtonControl($tabLayout, 'button2');
         $button->setCaption('Speichern')->setOnClick("\$('#initPanel').val(1); \$('#postback').submit();");
     }
     // endregion
 }
 public function endEditPage()
 {
     $this->page = new Page($this->request->id);
     $this->page->save($this->request);
     if ($this->request->id < 0) {
         $this->page->generatePos();
     }
     Text::saveArray($this->page->getElementId(), $this->request->texte);
     Security::berechtigungenSchreiben($this->page->getSecurityElement(), $this->request->berechtigung);
     $this->flushCache();
     $oldPanel = $this->request->initPanel;
     $this->request->clear();
     $this->request->initPanel = $oldPanel;
     $this->request->id = $this->page->id;
     FlashMessage::success(Strings::GESPEICHERT);
 }
 public function install()
 {
     parent::install();
     // Datensätze anlegen
     $site = new Site();
     $site->si_bezeichnung = 'Administration';
     $site->si_name = 'admin';
     $site->si_urlpattern = 'admin.php';
     $site->si_template = 'bootadmin';
     $site->save();
     // Struktur-Eintrag im Menü
     $page = new Page();
     $page->pa_site = $site->id;
     $page->pa_parent = 0;
     $page->pa_bezeichnung = 'Struktur';
     $page->pa_link = 'struktur';
     $page->pa_pos = 0;
     $page->pa_title = 'Struktur';
     $page->pa_module = 'site';
     $page->pa_action = 'useInnerTemplate';
     $page->pa_haschildren = false;
     $page->pa_innertemplate = 'normal';
     $page->save();
     $region = new Region();
     $region->re_page = $page->id;
     $region->re_name = 'main';
     $region->re_module = 'site';
     $region->re_action = 'showSite';
     $region->re_position = 1;
     $region->save();
     Security::berechtigungSchreiben($page->getElementId(), 1, 1);
     Text::saveArray($page->getElementId(), array(1 => 'Struktur'));
     // Benutzer-Eintrag im Menü
     $page = new Page();
     $page->pa_site = $site->id;
     $page->pa_parent = 0;
     $page->pa_bezeichnung = 'Benutzer';
     $page->pa_link = 'benutzer';
     $page->pa_pos = 0;
     $page->pa_title = 'Benutzer';
     $page->pa_module = 'site';
     $page->pa_action = 'useInnerTemplate';
     $page->pa_haschildren = false;
     $page->pa_innertemplate = 'normal';
     $page->save();
     $region = new Region();
     $region->re_page = $page->id;
     $region->re_name = 'main';
     $region->re_module = 'user';
     $region->re_action = 'indexUser';
     $region->re_position = 1;
     $region->save();
     Security::berechtigungSchreiben($page->getElementId(), 1, 1);
     Text::saveArray($page->getElementId(), array(1 => 'Benutzer'));
     // Modul-Eintrag im Menü
     $page = new Page();
     $page->pa_site = $site->id;
     $page->pa_parent = 0;
     $page->pa_bezeichnung = 'Module';
     $page->pa_link = 'module';
     $page->pa_pos = 0;
     $page->pa_title = 'Module';
     $page->pa_module = 'site';
     $page->pa_action = 'useInnerTemplate';
     $page->pa_haschildren = false;
     $page->pa_innertemplate = 'normal';
     $page->save();
     $region = new Region();
     $region->re_page = $page->id;
     $region->re_name = 'main';
     $region->re_module = 'modView';
     $region->re_action = 'showModules';
     $region->re_position = 1;
     $region->save();
     Security::berechtigungSchreiben($page->getElementId(), 1, 1);
     Text::saveArray($page->getElementId(), array(1 => 'Module'));
     // Site-Definition Frontend
     $site = new Site();
     $site->si_bezeichnung = 'Webseite';
     $site->si_name = 'web';
     $site->si_urlpattern = '';
     $site->si_template = 'unify';
     $site->save();
 }