/** * Prepare message actions display. * * @return void */ protected function before() { parent::before(); $catid = $this->input->getInt('id'); $me = KunenaUserHelper::getMyself(); $this->category = KunenaForumCategory::getInstance($catid); $token = JSession::getFormToken(); $task = "index.php?option=com_kunena&view=category&task=%s&catid={$catid}&{$token}=1"; $layout = "index.php?option=com_kunena&view=topic&layout=%s&catid={$catid}"; $this->template = KunenaFactory::getTemplate(); $this->categoryButtons = new JObject(); // Is user allowed to post new topic? if ($this->category->getNewTopicCategory()->exists()) { $this->categoryButtons->set('create', $this->getButton(sprintf($layout, 'create'), 'create', 'topic', 'communication', true)); } // Is user allowed to mark forums as read? if ($me->exists()) { $this->categoryButtons->set('markread', $this->getButton(sprintf($task, 'markread'), 'markread', 'category', 'user', true)); } // Is user allowed to subscribe category? if ($this->category->isAuthorised('subscribe')) { $subscribed = $this->category->getSubscribed($me->userid); if (!$subscribed) { $this->categoryButtons->set('subscribe', $this->getButton(sprintf($task, 'subscribe'), 'subscribe', 'category', 'user', true)); } else { $this->categoryButtons->set('unsubscribe', $this->getButton(sprintf($task, 'unsubscribe'), 'unsubscribe', 'category', 'user', true)); } } JPluginHelper::importPlugin('kunena'); $dispatcher = JDispatcher::getInstance(); $dispatcher->trigger('onKunenaGetButtons', array('category.action', $this->categoryButtons, $this)); }
function shKUCategoryName($catid, $option, $shLangIso, $shLangName) { global $sh_LANG; static $cats = null; $sefConfig =& Sh404sefFactory::getConfig(); if (empty($catid) || !$sefConfig->shFbInsertCategoryName) { return ''; } if (class_exists('KunenaForum')) { // Kunena 2.0 support $category = KunenaForumCategory::getInstance($catid); $catname = $category->name; } elseif (class_exists('KunenaRouter')) { if (KunenaRouter::$catidcache === null) { KunenaRouter::loadCategories(); } // Kunena 1.6 support $catname = empty(KunenaRouter::$catidcache[$catid]) ? '' : KunenaRouter::$catidcache[$catid]['name']; } else { // Kunena 1.0 / 1.5 support if (is_null($cats)) { try { $cats = ShlDbHelper::selectObjectList('#__fb_categories', array('id', 'name')); } catch (Exception $e) { ShlSystem_Log::error('sh404sef', '%s::%s::%d: %s', __CLASS__, __METHOD__, __LINE__, $e->getMessage()); } } $catname = empty($cats[$catid]) ? null : $cats[$catid]->name; } $shCat = empty($catname) ? $sh_LANG[$shLangIso]['COM_SH404SEF_KU_CATEGORY'] . $sefConfig->replacement . $catid : ($sefConfig->shFbInsertCategoryId ? $catid . $sefConfig->replacement : '') . $catname; // if name, put ID only if requested return $shCat; }
function shKUCategoryName($catid, $option, $shLangIso, $shLangName) { global $sh_LANG; static $cats = null; $sefConfig =& shRouter::shGetConfig(); if (empty($catid) || !$sefConfig->shFbInsertCategoryName) { return ''; } if (class_exists('KunenaForum')) { // Kunena 2.0 support $category = KunenaForumCategory::getInstance($catid); $catname = $category->name; } elseif (class_exists('KunenaRouter')) { if (KunenaRouter::$catidcache === null) { KunenaRouter::loadCategories(); } // Kunena 1.6 support $catname = empty(KunenaRouter::$catidcache[$catid]) ? '' : KunenaRouter::$catidcache[$catid]['name']; } else { // Kunena 1.0 / 1.5 support if (is_null($cats)) { $database =& JFactory::getDBO(); $query = 'SELECT id, name FROM #__fb_categories'; $database->setQuery($query); if (!shTranslateUrl($option, $shLangName)) { $cats = $database->loadObjectList('id', false); } else { $cats = $database->loadObjectList('id'); } } $catname = empty($cats[$catid]) ? null : $cats[$catid]->name; } $shCat = empty($catname) ? $sh_LANG[$shLangIso]['COM_SH404SEF_KU_CATEGORY'] . $sefConfig->replacement . $catid : ($sefConfig->shFbInsertCategoryId ? $catid . $sefConfig->replacement : '') . $catname; // if name, put ID only if requested return $shCat; }
static function remove_forum_k2($course_id, $forum_id) { $kunena_forum_id = JoomdleHelperForum::get_kunena_forum_id($course_id, $forum_id); $category = KunenaForumCategory::getInstance($kunena_forum_id); $category->delete(); $db = JFactory::getDBO(); $query = 'DELETE ' . ' FROM #__joomdle_course_forums' . " WHERE course_id = " . $db->Quote($course_id); $query .= " AND moodle_forum_id = " . $db->Quote($forum_id); $db->setQuery($query); $db->query(); }
/** * Test getChildren() * * @dataProvider providerGetChildren * @depends PostingTest::testCreateCategories */ public function testGetChildren($id, $level, $expected) { $category = KunenaForumCategory::getInstance($id); $this->assertThat(array_keys($category->getChildren($level)), $this->equalTo($expected), 'Check category children'); }
public function permdelete() { $app = JFactory::getApplication (); if (! JRequest::checkToken ('get')) { $app->enqueueMessage ( JText::_ ( 'COM_KUNENA_ERROR_TOKEN' ), 'error' ); $this->redirectBack (); } if ($this->mesid) { // Delete message $target = KunenaForumMessageHelper::get($this->mesid); $msg = JText::_ ( 'COM_KUNENA_POST_SUCCESS_DELETE' ); $url = $target->getUrl($this->return, false); } else { // Delete topic $target = KunenaForumTopicHelper::get($this->id); $msg = JText::_ ( 'COM_KUNENA_TOPIC_SUCCESS_DELETE' ); $url = KunenaForumCategory::getInstance($this->return)->getUrl(null, false); } if ($target->authorise('permdelete') && $target->delete()) { $app->enqueueMessage ( $msg ); } else { $app->enqueueMessage ( $target->getError(), 'notice' ); } $app->redirect ( $url ); }