<?php /** * @author Matthew McNaney <mcnaney at gmail dot com> * @version $Id$ */ if (!defined('PHPWS_SOURCE_DIR')) { include '../../core/conf/404.html'; exit; } PHPWS_Core::initModClass('blog', 'Blog.php'); if (isset($_GET['xmlrpc'])) { PHPWS_Core::initModClass('blog', 'Blog_XML.php'); $xml = new Blog_XML(); return; } if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'admin') { if (Current_User::allow('blog')) { PHPWS_Core::initModClass('blog', 'Blog_Admin.php'); Blog_Admin::main(); } else { Current_User::disallow(); } } else { Blog_User::main(); }
<?php /** * @version $Id$ * @author Matthew McNaney <mcnaney at gmail dot com> */ if (PHPWS_Settings::get('blog', 'home_page_display')) { if (!isset($_REQUEST['module'])) { $content = Blog_User::show(); Layout::add($content, 'blog', 'view', TRUE); } } else { Blog_User::showSide(); }
/** * Displays current blog entries to side box */ public static function showSide() { switch (PHPWS_Settings::get('blog', 'show_recent')) { case 0: // don't show return; case 1: // home page only if (!PHPWS_Core::atHome()) { return; } break; case 2: // everywhere break; } $db = new PHPWS_DB('blog_entries'); $db->addWhere('sticky', 0); $limit = PHPWS_Settings::get('blog', 'blog_limit'); $result = Blog_User::getEntries($db, $limit); if (!$result) { return false; } foreach ($result as $entry) { $tpl['entry'][] = array('TITLE' => sprintf('<a href="%s">%s</a>', $entry->getViewLink(true), $entry->title)); } $tpl['RECENT_TITLE'] = sprintf('<a href="index.php?module=blog&action=view">%s</a>', dgettext('blog', 'Recent blog entries')); $content = PHPWS_Template::process($tpl, 'blog', 'recent_view.tpl'); Layout::add($content, 'blog', 'recent_entries'); }
/** * 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') . ' ' . 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); }