Esempio n. 1
0
 public function getContent($format = TRUE)
 {
     if ($format) {
         return PHPWS_Text::parseTag(PHPWS_Text::parseOutput($this->content), null, 'block');
     } else {
         return $this->content;
     }
 }
Esempio n. 2
0
 public function getContent($view_mode = true, $fix_anchor = true)
 {
     if (empty($this->content)) {
         return null;
     }
     if ($view_mode) {
         return PHPWS_Text::parseTag(PHPWS_Text::parseOutput($this->content, ENCODE_PARSED_TEXT, false, false, $fix_anchor));
     } else {
         return PHPWS_Text::decodeText($this->content);
     }
 }
Esempio n. 3
0
 /**
  * Transform text using Wiki library
  *
  * @author Greg Meiste <*****@*****.**>
  */
 function transform($wikitext)
 {
     require_once 'Text/Wiki.php';
     if (!defined('WIKI_PARSER')) {
         define('WIKI_PARSER', 'Default');
     }
     $wiki =& Text_Wiki::factory(WIKI_PARSER);
     if (PEAR::isError($wiki)) {
         return sprintf(dgettext('wiki', 'Error! %s parser not found.'), WIKI_PARSER);
     }
     $wikitext = str_replace("&#39;", "'", $wikitext);
     $db = new PHPWS_DB('wiki_pages');
     $db->addColumn('title');
     $pages = $db->select('col');
     if (PEAR::isError($pages)) {
         PHPWS_Error::log($pages);
         $pages = NULL;
     }
     // Add custom parser rules
     $wiki->addPath('parse', PHPWS_SOURCE_DIR . 'mod/wiki/class/parse/');
     $wiki->insertRule('Template', '');
     $wiki->setRenderConf('xhtml', 'wikilink', 'pages', $pages);
     $wiki->setRenderConf('xhtml', 'wikilink', 'view_url', MOD_REWRITE_ENABLED ? 'wiki/%s' : './index.php?module=wiki&amp;page=%s');
     $wiki->setRenderConf('xhtml', 'wikilink', 'new_url', MOD_REWRITE_ENABLED ? 'wiki/%s' : './index.php?module=wiki&amp;page=%s');
     $wiki->setRenderConf('xhtml', 'toc', 'title', '<strong>' . dgettext('wiki', 'Table of Contents') . '</strong>');
     $wiki->setRenderConf('xhtml', 'image', 'base', 'images/wiki/');
     $wiki->setRenderConf('xhtml', 'url', 'target', PHPWS_Settings::get('wiki', 'ext_page_target'));
     $wiki->setRenderConf('xhtml', 'interwiki', 'target', PHPWS_Settings::get('wiki', 'ext_page_target'));
     $sites = array();
     $db = new PHPWS_DB('wiki_interwiki');
     $result = $db->select();
     foreach ($result as $row) {
         $sites[$row['label']] = $row['url'];
     }
     $wiki->setRenderConf('xhtml', 'interwiki', 'sites', $sites);
     if (PHPWS_Settings::get('wiki', 'ext_chars_support')) {
         $wiki->setParseConf('Wikilink', 'ext_chars', true);
         $wiki->setFormatConf('Xhtml', 'translate', HTML_SPECIALCHARS);
     }
     // Setting CSS styles for tags
     $wiki->setRenderConf('xhtml', 'blockquote', 'css', 'wiki');
     $wiki->setRenderConf('xhtml', 'code', 'css', 'wiki');
     $wiki->setRenderConf('xhtml', 'code', 'css_code', 'wiki');
     $wiki->setRenderConf('xhtml', 'code', 'css_php', 'wiki');
     $wiki->setRenderConf('xhtml', 'code', 'css_html', 'wiki');
     $wiki->setRenderConf('xhtml', 'deflist', 'css_dl', 'wiki');
     $wiki->setRenderConf('xhtml', 'deflist', 'css_dt', 'wiki');
     $wiki->setRenderConf('xhtml', 'deflist', 'css_dd', 'wiki');
     $wiki->setRenderConf('xhtml', 'emphasis', 'css', 'wiki');
     $wiki->setRenderConf('xhtml', 'heading', 'css_h1', 'wiki');
     $wiki->setRenderConf('xhtml', 'heading', 'css_h2', 'wiki');
     $wiki->setRenderConf('xhtml', 'heading', 'css_h3', 'wiki');
     $wiki->setRenderConf('xhtml', 'heading', 'css_h4', 'wiki');
     $wiki->setRenderConf('xhtml', 'heading', 'css_h5', 'wiki');
     $wiki->setRenderConf('xhtml', 'heading', 'css_h6', 'wiki');
     $wiki->setRenderConf('xhtml', 'horiz', 'css', 'wiki');
     $wiki->setRenderConf('xhtml', 'image', 'css', 'wiki');
     $wiki->setRenderConf('xhtml', 'interwiki', 'css', 'wiki');
     $wiki->setRenderConf('xhtml', 'list', 'css_ol', 'wiki');
     $wiki->setRenderConf('xhtml', 'list', 'css_ol_li', 'wiki');
     $wiki->setRenderConf('xhtml', 'list', 'css_ul', 'wiki');
     $wiki->setRenderConf('xhtml', 'list', 'css_ul_li', 'wiki');
     $wiki->setRenderConf('xhtml', 'paragraph', 'css', 'wiki');
     $wiki->setRenderConf('xhtml', 'table', 'css_table', 'wiki');
     $wiki->setRenderConf('xhtml', 'table', 'css_tr', 'wiki');
     $wiki->setRenderConf('xhtml', 'table', 'css_th', 'wiki');
     $wiki->setRenderConf('xhtml', 'table', 'css_td', 'wiki');
     $wiki->setRenderConf('xhtml', 'tt', 'css', 'wiki');
     $wiki->setRenderConf('xhtml', 'url', 'css_inline', 'wiki');
     $wiki->setRenderConf('xhtml', 'url', 'css_footnote', 'wiki');
     $wiki->setRenderConf('xhtml', 'url', 'css_descr', 'wiki');
     $wiki->setRenderConf('xhtml', 'url', 'css_img', 'wiki');
     $wiki->setRenderConf('xhtml', 'wikilink', 'css', 'wiki');
     $wiki->setRenderConf('xhtml', 'wikilink', 'css_new', 'wiki');
     if (ALLOW_PROFANITY) {
         $wikitext = $wiki->transform($wikitext);
     } else {
         $wikitext = $wiki->transform(PHPWS_Text::profanityFilter($wikitext));
     }
     if (PHPWS_Settings::get('wiki', 'allow_bbcode')) {
         $wikitext = PHPWS_Text::bb2html($wikitext, 'wiki');
     }
     $wikitext = PHPWS_Text::fixAnchors($wikitext);
     $wikitext = str_replace('%23', '#', $wikitext);
     return PHPWS_Text::parseTag($wikitext);
 }
Esempio n. 4
0
 /**
  * Displays the blog entry
  *
  * @param boolean edit       If true, show edit link
  * @param boolean summarized If true, this is a summarized entry
  */
 public function view($edit = true, $summarized = true)
 {
     if (!$this->id) {
         PHPWS_Core::errorPage(404);
     }
     $key = new Key($this->key_id);
     if (!$key->allowView() || !Blog_User::allowView()) {
         Current_User::requireLogin();
         return dgettext('blog', 'You do not have permission to view this entry.');
     }
     $template['TITLE'] = sprintf('<a href="%s" rel="bookmark">%s</a>', $this->getViewLink(true), $this->title);
     $template['TITLE_NO_LINK'] = $this->title;
     if ($this->publish_date > time()) {
         $template['UNPUBLISHED'] = dgettext('blog', 'Unpublished');
     } elseif ($this->expire_date && $this->expire_date < time()) {
         $template['UNPUBLISHED'] = dgettext('blog', 'Expired');
     }
     $template['LOCAL_DATE'] = $this->getPublishDate();
     $summary = $this->getSummary(true);
     $entry = $this->getEntry(true);
     if ($summarized) {
         if (empty($summary)) {
             $template['SUMMARY'] = PHPWS_Text::parseTag($entry);
         } else {
             if (!empty($entry)) {
                 $template['READ_MORE'] = PHPWS_Text::rewriteLink(Icon::get('chevron-circle-down') . '&nbsp;' . dgettext('blog', 'Read more'), 'blog', array('id' => $this->id), null, 'Read more of this entry', 'btn btn-default');
             }
             $template['SUMMARY'] = PHPWS_Text::parseTag($summary);
         }
     } else {
         $template['SUMMARY'] = PHPWS_Text::parseTag($summary);
         $template['ENTRY'] = PHPWS_Text::parseTag($entry);
     }
     $template['IMAGE'] = $this->getFile($this->thumbnail && $summarized);
     if ($edit && (Current_User::allow('blog', 'edit_blog', $this->id, 'entry') || Current_User::allow('blog', 'edit_blog') && $this->author_id == Current_User::getId())) {
         $vars['blog_id'] = $this->id;
         $vars['action'] = 'admin';
         $vars['command'] = 'edit';
         $template['EDIT_LINK'] = PHPWS_Text::secureLink(dgettext('blog', 'Edit'), 'blog', $vars);
         $template['EDIT_URI'] = PHPWS_Text::linkAddress('blog', $vars, true);
         if (!$summarized) {
             MiniAdmin::add('blog', array(PHPWS_Text::secureLink(dgettext('blog', 'Edit blog'), 'blog', $vars)));
         }
     }
     // Check setting for showing when the entry was posted
     if (PHPWS_Settings::get('blog', 'show_posted_by')) {
         $template['POSTED_BY'] = dgettext('blog', 'By');
         $template['AUTHOR'] = $this->author;
     }
     // Check settings for showing the author of the entry
     if (PHPWS_Settings::get('blog', 'show_posted_date')) {
         $template['PUBLISHED'] = dgettext('blog', 'Published');
         $template['POSTED_ON'] = dgettext('blog', 'Posted on');
         $template['PUBLISHED_DATE'] = $this->getPublishDateShort();
     }
     if ($summarized) {
         $view_tpl = 'view_list.tpl';
     } else {
         $template['COMMENT_SCRIPT'] = PHPWS_Settings::get('blog', 'comment_script');
         $key->flag();
         $view_tpl = 'view_full.tpl';
     }
     return PHPWS_Template::process($template, 'blog', $view_tpl);
 }