예제 #1
0
 /**
  * Controller-Processing
  * @return boolean
  */
 public function process()
 {
     if (!parent::process()) {
         return false;
     }
     $this->view->assign('replacementsArticle', $this->getReplacementTranslations('TEMPLATE_ARTICLE_', $this->articleTemplate->getReplacementTags()));
     $this->view->assign('contentArticle', $this->articleTemplate->getContent());
     if ($this->config->articles_template_active != $this->config->article_template_active) {
         $this->view->assign('replacementsArticleSingle', $this->getReplacementTranslations('TEMPLATE_ARTICLE_', $this->articleSingleTemplate->getReplacementTags()));
         $this->view->assign('contentArticleSingle', $this->articleSingleTemplate->getContent());
     }
     $this->view->assign('replacementsComment', $this->getReplacementTranslations('TEMPLATE_COMMMENT_', $this->commentTemplate->getReplacementTags()));
     $this->view->assign('contentComment', $this->commentTemplate->getContent());
     $this->view->assign('replacementsCommentForm', $this->getReplacementTranslations('TEMPLATE_COMMMENTFORM_', $this->commentFormTemplate->getReplacementTags()));
     $this->view->assign('contentCommentForm', $this->commentFormTemplate->getContent());
     $this->view->assign('replacementsLatestNews', $this->getReplacementTranslations('TEMPLATE_ARTICLE_', $this->latestNewsTemplate->getReplacementTags()));
     $this->view->assign('contentLatestNews', $this->latestNewsTemplate->getContent());
     $this->view->assign('replacementsTweet', $this->getReplacementTranslations('TEMPLATE_ARTICLE_', $this->tweetTemplate->getReplacementTags()));
     $this->view->assign('contentTweet', $this->tweetTemplate->getContent());
     $this->view->assign('allowedTags', htmlentities($this->articleTemplate->getAllowedTags(', ')));
     $this->view->addJsVars(array('fpcmTemplateId' => 1, 'fpcmJqUploadInit' => 0));
     $this->view->addJsLangVars(array('previewHeadline' => $this->lang->translate('HL_TEMPLATE_PREVIEW')));
     $tplfilelist = new \fpcm\model\files\templatefilelist();
     $this->view->assign('templateFiles', $tplfilelist->getFolderObjectList());
     $this->view->setViewJsFiles(array(\fpcm\classes\baseconfig::$jsPath . 'filemanager.js', \fpcm\classes\baseconfig::$jsPath . 'templates.js'));
     $translInfo = array('{{filecount}}' => 1, '{{filesize}}' => \fpcm\classes\tools::calcSize(\fpcm\classes\baseconfig::uploadFilesizeLimit(true), 0));
     $this->view->assign('maxFilesInfo', $this->lang->translate('FILE_LIST_PHPMAXINFO', $translInfo));
     $this->view->assign('actionPath', \fpcm\classes\baseconfig::$rootPath . $this->getControllerLink('modules/list'));
     $this->view->render();
 }
예제 #2
0
 /**
  * Artikel parsen
  * @return string
  */
 protected function assignArticleData()
 {
     $categoryTexts = array();
     $categoryIcons = array();
     $categories = $this->categoryList->getCategoriesAll();
     foreach ($this->article->getCategories() as $categoryId) {
         $category = isset($categories[$categoryId]) ? $categories[$categoryId] : false;
         if (!$category) {
             continue;
         }
         $categoryTexts[] = '<span class="fpcm-pub-category-text">' . $category->getName() . '</span>';
         if (!$category->getIconPath()) {
             continue;
         }
         $categoryIcons[] = '<img src="' . $category->getIconPath() . '" alt="' . $category->getName() . '" title="' . $category->getName() . '" class="fpcm-pub-category-icon">';
     }
     $shareButtonParser = new \fpcm\model\pubtemplates\sharebuttons($this->article->getArticleLink(), $this->article->getTitle());
     $users = $this->userList->getUsersByIds(array($this->article->getCreateuser(), $this->article->getChangeuser()));
     $commentCounts = $this->commentList->countComments(array($this->article->getId()), 0, 1, 0);
     $commentCount = $this->config->system_comments_enabled && $this->article->getComments() ? isset($commentCounts[$this->article->getId()]) ? (int) $commentCounts[$this->article->getId()] : 0 : '';
     $this->articleTemplate->setCommentsEnabled($this->config->system_comments_enabled && $this->article->getComments());
     if (isset($users[$this->article->getCreateuser()])) {
         $emailAddress = '<a href="mailto:' . $users[$this->article->getCreateuser()]->getEmail() . '">' . $users[$this->article->getCreateuser()]->getDisplayname() . '</a>';
     } else {
         $emailAddress = '';
     }
     $replacements = array('{{headline}}' => $this->article->getTitle(), '{{text}}' => $this->article->getContent(), '{{author}}' => isset($users[$this->article->getCreateuser()]) ? $users[$this->article->getCreateuser()]->getDisplayname() : $this->lang->translate('GLOBAL_NOTFOUND'), '{{authorEmail}}' => $emailAddress, '{{date}}' => date($this->config->system_dtmask, $this->article->getCreatetime()), '{{changeDate}}' => date($this->config->system_dtmask, $this->article->getChangetime()), '{{changeUser}}' => isset($users[$this->article->getChangeuser()]) ? $users[$this->article->getChangeuser()]->getDisplayname() : $this->lang->translate('GLOBAL_NOTFOUND'), '{{statusPinned}}' => $this->article->getPinned() ? $this->lang->translate('PUBLIC_ARTICLE_PINNED') : '', '{{shareButtons}}' => $shareButtonParser->parse(), '{{categoryIcons}}' => implode(PHP_EOL, $categoryIcons), '{{categoryTexts}}' => implode(PHP_EOL, $categoryTexts), '{{commentCount}}' => $commentCount, '{{permaLink}}:{{/permaLink}}' => $this->article->getArticleLink(), '{{commentLink}}:{{/commentLink}}' => $this->article->getArticleLink() . '#comments', '<readmore>:</readmore>' => $this->article->getMd5path(), '{{articleImage}}' => $this->article->getArticleImage(), '{{sources}}' => $this->article->getSources());
     $this->articleTemplate->setReplacementTags($replacements);
     $parsed = $this->articleTemplate->parse();
     if ($this->session->exists()) {
         $html = array();
         $html[] = '<div class="fpcm-pub-articletoolbar-article fpcm-pub-articletoolbar-article' . $this->articleId . '">';
         $html[] = '<a href="' . $this->article->getEditLink() . '">' . $this->lang->translate('HL_ARTICLE_EDIT') . '</a>';
         $html[] = '</div>';
         $parsed = implode(PHP_EOL, $html) . $parsed;
     }
     return $parsed;
 }