/**
  * 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;
 }
Exemplo n.º 2
0
 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>');
         }
     }
 }
Exemplo n.º 3
0
 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);
         }
     }
 }
Exemplo n.º 5
0
 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();
         }
     }
 }
Exemplo n.º 6
0
 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 getTitel($lang = -1)
 {
     if ($lang == -1) {
         $lang = $_SESSION['sp_id'];
     }
     return Text::get($this->getElementId() . '.titel', $lang)->te_text;
 }
Exemplo n.º 8
0
 /**
  * Gibt den Text der Seite zurück
  * @param int $sprache (-1 = Standardsprache)
  * @return array|Text
  */
 public function getText($sprache = -1)
 {
     if ($this->text === null) {
         $this->text = Text::get($this->getElementId(), $sprache);
         $this->loadedText = $this->text->te_text;
     }
     return $this->text;
 }