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; }