protected function createControls()
 {
     $artikelliste = $this->controller->kategorie->getArtikel();
     Logging::info('Kategorie enthält ' . count($artikelliste) . ' Artikel');
     foreach ($artikelliste as $artikel) {
         $glossar[strtoupper(substr($artikel->titel, 0, 1))][] = $artikel;
     }
     array_multisort($glossar, SORT_DESC);
     $menuString = '<br><div class="btn-group">';
     foreach ($glossar as $buchstabe => $artikelmenge) {
         $menuString .= '<a href="' . $_SERVER['REQUEST_URI'] . '#' . $buchstabe . '" class="btn btn-default">' . $buchstabe . '</a>';
     }
     $menuString .= '</div><br><br>';
     $menu = new HtmlControl($this, 'menu');
     $menu->setInnerHtml($menuString);
     foreach ($glossar as $buchstabe => $artikelmenge) {
         $anchor = new HtmlControl($this, $buchstabe);
         $anchor->setInnerHtml('<a id="' . $buchstabe . '"></a>');
         $artikelPanel = new CaptionedPanelControl($this, 'buchstabe_' . $buchstabe);
         $artikelPanel->setCaption($buchstabe);
         sort($artikelmenge);
         foreach ($artikelmenge as $artikel) {
             $text = Text::get($artikel->getElementId() . '.intro', $_SESSION['sp_id'])->te_text;
             $artikelText = new HtmlControl($artikelPanel, 'text_' . $artikel->id);
             $artikelText->setInnerHtml('<h4>' . $artikel->titel . '</h4>' . $text . '<br>');
         }
     }
 }
 protected function createControls()
 {
     $panel = new CaptionedPanelControl($this, 'panel');
     $panel->setCaption('Teilen von Dateien');
     $upload = new UploaderControl($panel);
     $upload->setAction('uploadShare');
     $upload->setNotify('medien');
     $size = "<?php echo round({me_groesse}/1024/1024,1); ?> MB";
     $sendLink = Configuration::get('site.url') . '/index.php/medien/get?token={me_token}';
     $send = "<a class='btn-xs btn-default' href='mailto:?body=" . $sendLink . "'><span class='glyphicon glyphicon-envelope'></span></a>";
     $editLink = Application::routing()->appLink('medien', 'editShare', array('id' => '{me_id}'));
     $edit = "<a class='btn-xs btn-default' href=" . $editLink . "><span class='glyphicon glyphicon-edit'></span></a>";
     $buttons = $send . $edit;
     $token = new InputTextboxControl(null);
     $token->setValue($sendLink)->addCssClass('input-sm');
     $valid = "<?php echo ((strtotime('{me_valid_until}')) < strtotime(date('d.m.Y'))) ? '<span style=\"color: red;\">Abgelaufen</span>' : '{me_valid_until}'; ?>";
     $downloads = "<?php echo '{me_downloads}' == '' ? 0 : {me_downloads}?>";
     $medien = new GridControl($panel, 'medien');
     $medien->setEntity(new Medien(), array('share' => 1));
     $medien->setDeleteAction('deleteMedien');
     $medien->createColumn(GridColumn::LINK, 'me_titel')->setAppLink('medien', 'editShare', array('id' => '{me_id}'));
     $medien->createColumn(GridColumn::FIELD, 'me_erweiterung')->setHeader('Typ');
     $medien->createColumn(GridColumn::FIELD, 'me_groesse', $size);
     $medien->createColumn(GridColumn::FIELD, 'me_token', $token->toHtml())->setHeader('Download-Link');
     $medien->createColumn(GridColumn::FIELD, 'me_downloads', $downloads);
     $medien->createColumn(GridColumn::FIELD, 'me_valid_until', $valid);
     $medien->createColumn(GridColumn::FIELD, 'me_titel', $buttons)->setHeader('');
     $medien->createColumn(GridColumn::DELETELINK);
     $hinweis = new CoreControls\HtmlControl($this);
     $hinweis->setInnerHtml("<span style='color: #AAA;'><b>Hinweis:</b> Abgelaufene Dateien werden nach 14 Tagen automatisch gelöscht.</span>");
 }
 protected function createControls()
 {
     $artikelliste = $this->controller->kategorie->getArtikel();
     Logging::info('Kategorie enthält ' . count($artikelliste) . ' Artikel');
     $i = 1;
     foreach ($artikelliste as $artikel) {
         $text = Text::get($artikel->getElementId() . '.intro', $_SESSION['sp_id'])->te_text;
         $anchor = new HtmlControl($this);
         $anchor->setInnerHtml('<a name="' . $artikel->id . '"></a>');
         $artikelPanel = new CaptionedPanelControl($this, 'artikel_' . $artikel->id);
         $artikelPanel->setCaption($artikel->titel);
         $blogInfos = new HtmlControl($artikelPanel);
         $blogInfos->setInnerHtml('
             <div class="blog-post-tags">
                 <ul class="list-unstyled list-inline blog-info">
                     <li><i class="fa fa-calendar"></i> ' . $artikel->ca_geschrieben_am . '</li>
                     <li><i class="fa fa-pencil"></i> ' . $artikel->autor . '</li>
                 </ul>
             </div>
             ');
         $artikelText = new HtmlControl($artikelPanel, 'text_' . $artikel->id);
         $artikelText->setInnerHtml('
                 <img src="' . $artikel->ca_hauptbild . '" class="blogimage" />
             ' . $text);
         $i++;
     }
 }
 protected function getStdEditControl($readOnly = false)
 {
     $control = new ControlContainer(null);
     $id = 'image' . $this->name;
     if ($this->getValue() != '' && file_exists('medien/-1/' . $this->getValue())) {
         $url = Configuration::get('site.url') . "/medien/-1/thumbs/{$this->getValue()}";
     } else {
         $url = Configuration::get('site.url') . "/pixel.png";
     }
     $htmlControl = new HtmlControl($control);
     $htmlControl->setInnerHtml("<img src=\"{$url}\" id=\"{$id}\" class=\"img-thumbnail\" />");
     $uploader = new UploaderControl($control, $this->name);
     $uploader->setTargetFilename($this->entity->id);
     $uploader->setValue($this->getValue());
     return $control;
 }
 protected function createControls()
 {
     /**
      * @var CmsArtikel $artikel
      */
     $artikel = $this->controller->artikel;
     $titel = Text::get($artikel->getElementId() . '.titel', $_SESSION['sp_id'])->te_text;
     $text = Text::get($artikel->getElementId() . '.intro', $_SESSION['sp_id'])->te_text;
     $wiki = new CmsArtikelWikiLinks();
     $wiki->setKategorieId(2);
     // TODO
     $wiki->setText($text);
     $text = $wiki->getText();
     if (Application::isAdmin()) {
         $editButton = new ButtonControl($this, 'btnEdit' . $artikel->id);
         $editButton->setCaption('Bearbeiten')->setIcon('pencil')->setLink('Cms', 'editArtikel', ['id' => $artikel->id])->setButtonClass(ButtonControl::BUTTON_WARNING)->setSize(ButtonControl::SIZE_EXTRASMALL)->addCssClass('pull-right');
     }
     // TODO
     if (false) {
         // ($titel != '') {
         $artikelPanel = new CaptionedPanelControl($this, 'artikel_' . $artikel->id);
         $artikelPanel->setCaption($titel);
         if ($artikel->ca_hauptbild == '') {
             $artikelText = new HtmlControl($artikelPanel, 'text_' . $artikel->id);
             $artikelText->setInnerHtml($text);
         } else {
             $artikelText = new HtmlControl($artikelPanel, 'text_' . $artikel->id);
             $artikelText->setInnerHtml('
                 <img src="' . $artikel->ca_hauptbild . '" class="blogimage" />
             ' . $text);
         }
     } else {
         $artikelText = new HtmlControl($this, 'text_' . $artikel->id);
         $artikelText->setInnerHtml($text);
     }
 }
 /**
  * Gibt das HTML Markup aus. Die Funktion hinter dem Wrapper wird jetzt erst aufgerufen!
  * @return string
  * @throws Exception
  */
 public function toHtml()
 {
     // Erzeugen des neuen Requests
     $request = Application::getCurrentRequest()->createSubRequest();
     $request->module = $this->module;
     $request->action = $this->action;
     $request->embedded = true;
     $request->setViaArray($this->param);
     $module = Modules::getModule($this->module);
     if ($module == null) {
         throw new Exception("[Wrapper] Modul {$this->module} konnte nicht geladen werden");
     }
     $controller = $module->createController($request);
     if ($controller->hatBerechtigung()) {
         $response = $controller->execute($request);
         Logging::warning((string) $response->getContent());
         if ($response->getContent() instanceof View) {
             $result = '<div id="' . $this->id . '" class="wrapper">' . $response->getContent()->render() . '</div>';
         } else {
             $result = 'NO VIEW';
         }
     } else {
         $result = '<div class="alert alert-danger">Für diese Funktion haben Sie keine ausreichende Berechtigung</div>';
     }
     // Ergebnis in einem Panel verpacken
     if ($this->showInPanel) {
         $panel = new CaptionedPanelControl(null, 'panel-' . $this->id);
         $panel->setCaption($this->panelCaption);
         $panel->setCollapsed($this->panelCollapsed);
         $html = new HtmlControl($panel);
         $html->setInnerHtml($result);
         $result = $panel->toHtml();
     }
     return $result;
 }
 /**
  * @inheritdoc
  */
 public function toDesignModeHtml()
 {
     // TODO: Das muss hier raus, damit man Polymorphie nutzen kann
     if ($this->re_module == '') {
         return new HtmlControl(null);
     }
     $module = Modules::getModule($this->re_module);
     if ($module == null) {
         return new HtmlControl(null);
     }
     $action = $module->getAction($this->re_action);
     $div = Html::createElement('div')->addCssClass('panel panel-info')->addInnerHtml("<div class=\"panel-heading\">\n                    <span class=\"label label-default\">{$module->name}</span>\n                    <em>{$action->description}</em>\n                    <small>[{$this->re_parameter}]</small>\n                </div>");
     $divInner = Html::createElement('div')->addTo($div)->addCssClass('panel-body');
     $btnGroup = new \NewFrontiers\Controls\StdControls\ButtonGroupControl(null, 'btnGroup' . $this->id);
     $divInner->addInnerHtml($btnGroup);
     $btnDelete = new ButtonControl($btnGroup, 'btnDelete' . $this->id);
     $btnDelete->setCaption(' ')->setIcon('minus')->addCssClass('confirm')->addCssClass('btn-danger')->setLink('site', 'deleteRegion', array('id' => $this->id));
     $btnEdit = new ButtonControl($btnGroup, 'btnEdit' . $this->id);
     $btnEdit->setCaption('')->setIcon('edit')->addCssClass('nfs-modal')->addCssClass('btn-primary')->setLink('site', 'editRegion', array('id' => $this->id));
     $btnUp = new ButtonControl($btnGroup, 'btnUp' . $this->id);
     $btnUp->setCaption('')->setIcon('arrow-up')->setLink('site', 'regionUp', array('id' => $this->id));
     $btnDown = new ButtonControl($btnGroup, 'btnDown' . $this->id);
     $btnDown->setCaption('')->setIcon('arrow-down')->setLink('site', 'regionDown', array('id' => $this->id));
     $result = new HtmlControl(null, 'region' . $this->id);
     $result->setInnerHtml($div->render());
     return $result;
 }