public function display($tpl = null) { $this->board = new QuipForumBoardInfo(); $session =& JFactory::getSession(); if (!($this->boardId = JRequest::getInt('id'))) { $this->boardId = $session->get('quipforum_board_id', '1'); } # will need to change to first available published forum. Redirect?? $this->userAccessLevel = $this->get('UserAccessLevel'); $this->userData = JFactory::getUser(); if (!$this->userAccessLevel) { return JError::raiseWarning(403, JText::_('JERROR_ALERTNOAUTHOR')); } if (!$this->board->data[$this->boardId]->published) { return JError::raiseWarning(403, JText::_('JERROR_ALERTNOAUTHOR')); } if ($this->userData->id) { $this->userPanel = "Welcome back, " . $this->userData->name; $this->settingsOptions = " <div class='qforum-index-settings'>\n\t\t\t\t<a href='" . JRoute::_('index.php?option=com_quipforum&view=settings') . "'><s> Settings</s></a>\n\t\t\t\t</div>"; $userSettings = comQuipForumHelper::getUserSettings(); if ($userSettings->flags->flag_unread) { $this->get('BoardRead'); $this->get('PostsRead'); $this->postReadClearOptions = " <div class='qforum-board-clear-unread'>\n\t\t\t\t\t\t<a href='" . JRoute::_('index.php?option=com_quipforum&view=board&task=clear_unread') . "'>Clear All Unread Flags</a>\n\t\t\t\t\t\t</div>"; } } $this->preBoardMarkup = $this->get('PreBoardMarkup'); $this->boardThreads = $this->get('BoardThreads'); $this->threadMarkup = $this->get('ThreadMarkup'); $this->pageNav = comQuipForumHelper::buildPageNav(); $session->set('quipforum_board_id', $this->boardId); $document =& JFactory::getDocument(); $document->addStyleSheet("components/com_quipforum/assets/css/board.css", 'text/css', "screen"); $this->threadMarkup = comQuipForumHelper::icons($this->threadMarkup); $this->threadMarkup = comQuipForumHelper::smilies($this->threadMarkup); if ($this->userData->authorise('core.manage', 'com_quipforum') || $this->userAccessLevel > 3) { $this->adminOptions = ""; // takes a long time for some reason. /*if($this->adminPostTrash = $this->get('PostTrashDB')) { $this->adminOptions .= "There are deleted posts in the trash. Empty it."; }*/ $this->jsonLog = $this->get('JsonLog'); } switch ($this->userAccessLevel) { case 1: $this->postOptions = " <div class='qforum-add-post'>\n\t \t\tCannot Add New Post\n\t \t\t</div>"; break; case 2: case 3: case 4: $this->postOptions = " <div class='qforum-add-post'>\n\t \t\t<a href='" . JRoute::_('index.php?option=com_quipforum&view=add') . "'>New Post</a>\n\t \t\t</div>"; } parent::display($tpl); }
public function display($tpl = null) { $this->postData = $this->get('PostData'); $this->boardData = $this->get('BoardData'); $this->userAccessLevel = $this->get('UserAccessLevel'); if (!$this->userAccessLevel) { return JError::raiseWarning(403, JText::_('JERROR_ALERTNOAUTHOR')); } $this->threadMarkup = $this->get('ThreadMarkup'); $document =& JFactory::getDocument(); $document->addStyleSheet("components/com_quipforum/assets/css/board.css", 'text/css', "screen"); $document->addStyleSheet("components/com_quipforum/assets/css/post.css", 'text/css', "screen"); $this->userData = JFactory::getUser(); if ($this->userData->id == $this->postData->user_id && $this->userData->id) { $this->adminOptions .= "<li><a href='" . JRoute::_('index.php?option=com_quipforum&view=post&id=' . $this->postData->id . '&task=edit') . "'>Edit Post</a></li>"; } if ($this->postData->id == $this->postData->thread_id && $this->userAccessLevel > 2 && $this->userData->id) { $this->adminOptions .= "<li><a href='" . JRoute::_('index.php?option=com_quipforum&view=post&id=' . $this->postData->id . '&task=request_sticky') . "'>Request Sticky</a></li>"; } if ($this->userData->authorise('core.manage', 'com_quipforum') || $this->userAccessLevel > 3) { if ($this->postData->id == $this->postData->thread_id) { $this->adminOptions .= "<li><a href='" . JRoute::_('index.php?option=com_quipforum&view=post&id=' . $this->postData->id . '&task=toggle_sticky') . "'>Toggle Sticky</a></li>"; $this->adminOptions .= "<li><a href='" . JRoute::_('index.php?option=com_quipforum&view=post&id=' . $this->postData->id . '&task=toggle_announcement') . "'>Toggle Announcement</a></li>"; } $this->adminOptions .= "<li><a href='" . JRoute::_('index.php?option=com_quipforum&view=post&id=' . $this->postData->id . '&task=edit') . "'>Edit Post (as Admin)</a></li>"; $this->adminOptions .= "<li><a href='" . JRoute::_('index.php?option=com_quipforum&view=post&id=' . $this->postData->id . '&task=delete') . "'>Delete Post</a></li>"; $this->adminOptions .= "<li><a href='" . JRoute::_('index.php?option=com_quipforum&view=post&id=' . $this->postData->id . '&task=clear_all') . "'>Clear All Flags</a></li>"; $this->jsonLog = $this->get('JsonLog'); } if ($this->userData->id) { $userSettings = comQuipForumHelper::getUserSettings(); if ($userSettings->flags->flag_unread) { $this->get('PostRead'); } $this->adminOptions .= "<li><a href='" . JRoute::_('index.php?option=com_quipforum&view=post&id=' . $this->postData->thread_id . '&task=watch_thread&post_return_id=' . $this->postData->id) . "'>Toggle Thread Watch Status</a></li>"; $this->adminOptions .= "<li><a href='" . JRoute::_('index.php?option=com_quipforum&view=post&id=' . $this->postData->id . '&task=favourite') . "'>Toggle Favourite</a></li>"; $this->adminOptions .= "<li><a href='" . JRoute::_('index.php?option=com_quipforum&view=post&id=' . $this->postData->id . '&task=off_topic') . "'>Flag as Off-Topic</a></li>"; $this->adminOptions .= "<li><a href='" . JRoute::_('index.php?option=com_quipforum&view=post&id=' . $this->postData->id . '&task=report_spam') . "'>Report as Spam</a></li>"; $this->adminOptions .= "<li><a href='" . JRoute::_('index.php?option=com_quipforum&view=post&id=' . $this->postData->id . '&task=report_offensive') . "'>Report Offensive Material</a></li>"; } if ($this->userAccessLevel > 1) { $this->adminOptions .= " <li><a href='#reply'> Reply</a></li>"; $this->replyAllowed = 1; } if ($this->userAccessLevel > 3 || $this->userData->authorise('core.manage', 'com_quipforum')) { $this->adminLog = comQuipForumHelper::getLog($this->postData->id); } parent::display($tpl); }
public function clear_unread() { $userData = JFactory::getUser(); $userSettings = comQuipForumHelper::getUserSettings(); $session =& JFactory::getSession(); $boardId = $session->get('quipforum_board_id', '0'); if (!$userData->id || !$userSettings->flags->flag_unread) { return JError::raiseWarning(403, JText::_('JERROR_ALERTNOAUTHOR')); } $query = "DELETE FROM #__quipforum_boards_read " . "WHERE #__quipforum_boards_read.user_id = '" . $userData->id . "' " . "AND #__quipforum_boards_read.board_id = '" . $boardId . "' "; $db =& JFactory::getDBO(); $db->setQuery($query); $result = $db->loadObjectList(); $query = "DELETE #__quipforum_posts_read.* FROM #__quipforum_posts_read " . "LEFT JOIN #__quipforum_post_references " . "ON #__quipforum_post_references.id = #__quipforum_posts_read.post_id " . "WHERE #__quipforum_post_references.board_id = '" . $boardId . "' " . "AND #__quipforum_posts_read.user_id = '" . $userData->id . "' "; $db =& JFactory::getDBO(); $db->setQuery($query); $result = $db->loadObjectList(); $query = "INSERT INTO #__quipforum_boards_read " . "(user_id, board_id, datetime) " . "VALUES ('" . $userData->id . "','" . $boardId . "', '" . comQuipForumHelper::sqlDateTime() . "' )"; $db =& JFactory::getDBO(); $db->setQuery($query); $result = $db->loadObjectList(); $this->setRedirect(JRoute::_('index.php?option=com_quipforum&view=board&id=' . $boardId), 'Unread posts cleared.'); }