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>'); } } }
/** * Gibt den Text mit den ersetzten Links zurück * @return string */ public function getText() { $this->text = html_entity_decode($this->text); $matches = []; // Suchen nach allem, dass in [[ ]] eingeschlossen ist preg_match_all('/\\[\\[([\\w\\.\\säöüÄÖÜß]+)\\]\\]/', $this->text, $matches); Logging::debug(print_r($matches, true)); foreach ($matches[1] as $match) { $artikel = CmsArtikel::loadByBezeichnung($match, $this->kategorieId); if ($artikel == null) { Logging::info('Lege Artikel neu an: ' . $match); $artikel = new CmsArtikel(); $artikel->ca_kategorie = $this->kategorieId; $artikel->ca_bezeichnung = $match; $artikel->ca_aktiv = 1; $artikel->ca_autor = Security::getUserId(); $artikel->save(); $titel = Text::get($artikel->getElementId() . '.titel'); $titel->te_text = $match; $titel->save(); } $link = EntityLinks::show($artikel); $tag = "<a href=\"{$link}\">{$match}</a>"; $this->text = str_replace('[[' . $match . ']]', $tag, $this->text); } return $this->text; }
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++; } }
public function setupControls() { $panel = new CaptionedTabPanelControl($this, $this->id); $panel->setCaption($this->caption); $sprachen = Model\Sprache::filter(['aktiv' => 1]); foreach ($sprachen as $sprache) { $tab = $panel->tabs->addTab($sprache->sp_bezeichnung); if ($this->text != null) { $text = $this->text; } else { $text = Model\Text::get($this->element, $sprache->id); $text = $text->te_text; } if (!$this->WYSIWYG) { $input = new FormControls\InputTextboxControl(null, $this->id . '[' . $sprache->id . ']'); $input->setValue(htmlentities($text, ENT_QUOTES, 'UTF-8')); $content = new DataControls\EditControl($tab, ''); $content->addRow('angezeigter Text', $input); } else { $input = new FormControls\InputEditorControl($tab, $this->id . '_' . $sprache->id); $input->setName($this->id . '[' . $sprache->id . ']'); $input->setValue($text); } } }
public static function saveArray($element, $texte) { if (is_array($texte)) { foreach ($texte as $sprache => $text) { $temp = Text::get($element, $sprache); $temp->te_text = trim($text); $temp->save(); } } }
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); } }
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 endEditArtikel() { $this->artikel = new CmsArtikel($this->request->id); $this->artikel->save($this->request); Text::saveArray($this->artikel->getElementId() . '.titel', $this->request->titel); Text::saveArray($this->artikel->getElementId() . '.intro', $this->request->intro); Text::saveArray($this->artikel->getElementId() . '.text', $this->request->text); $this->request->clear(); $this->request->kategorie = $this->artikel->ca_kategorie; 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(); }
public function getTitel($lang = -1) { if ($lang == -1) { $lang = $_SESSION['sp_id']; } return Text::get($this->getElementId() . '.titel', $lang)->te_text; }
/** * Erstellt das Text-Objekt aus einem übergebenen * SQL Result Array * @param $row */ private function loadTextFromRow($row) { $this->text = new Text(); $this->text->loadFromRow($row); $this->loadedText = $this->text->te_text; }