static function sync_course_forums($course_id) { // Create user groups $course_info = JoomdleHelperContent::getCourseInfo($course_id); JoomdleHelperJoomlagroups::add_course_groups($course_id, $course_info['fullname']); JoomdleHelperJoomlagroups::sync_group_members($course_id); // Create parent category JoomdleHelperForum::add_forum($course_id, -2, $course_info['fullname']); $sections = JoomdleHelperContent::call_method('get_course_mods', (int) $course_id, ''); foreach ($sections as $section) { foreach ($section['mods'] as $mod) { if ($mod['mod'] == 'forum' && $mod['type'] != 'news') { JoomdleHelperForum::add_forum($course_id, $mod['id'], $mod['name']); } } } }
function removeCourseForums ($action, $params) { $course_id = $params[0]; return JoomdleHelperForum::remove_course_forums ($course_id); }
static function get_direct_link($mod, $course_id, $mod_id, $type) { $link = ''; $params = JComponentHelper::getParams('com_joomdle'); switch ($mod) { case 'resource': if ($type == 'page') { if ($params->get('use_page_view')) { $itemid = JoomdleHelperContent::getMenuItem(); if (!$itemid) { $itemid = $params->get('joomdle_itemid'); } $link = JRoute::_("index.php?option=com_joomdle&view=page&course_id={$course_id}&page_id={$mod_id}&itemid={$itemid}"); } } else { if ($type == 'folder') { $link = ''; break; } else { $link = $params->get('MOODLE_URL') . '/mod/resource/view.php?redirect=1&id=' . $mod_id; } } break; case 'url': $link = $params->get('MOODLE_URL') . '/mod/url/view.php?redirect=1&id=' . $mod_id; break; case 'page': if ($params->get('use_page_view')) { $itemid = JoomdleHelperContent::getMenuItem(); if (!$itemid) { $itemid = $params->get('joomdle_itemid'); } $link = JRoute::_("index.php?option=com_joomdle&view=page&course_id={$course_id}&page_id={$mod_id}"); } break; case 'forum': $itemid = JoomdleHelperContent::getMenuItem(); if (!$itemid) { $itemid = $params->get('joomdle_itemid'); } // Deal with news forum if ($type == 'news') { // If is news forum, link to coursenews view instead of forum $link = JRoute::_("index.php?option=com_joomdle&view=coursenews&course_id={$course_id}"); break; } if ($params->get('use_kunena_forums')) { require_once JPATH_ADMINISTRATOR . '/components/com_joomdle/helpers/forum.php'; $forum_id = JoomdleHelperForum::get_kunena_forum_id($course_id, $mod_id); $sub_version = JoomdleHelperForum::get_sub_version(); if ($forum_id) { if ($sub_version > 3) { $link = JRoute::_("index.php?option=com_kunena&view=category&catid={$forum_id}&course_id={$course_id}&Itemid={$itemid}"); } else { $link = JRoute::_("index.php?option=com_kunena&func=showcat&catid={$forum_id}&course_id={$course_id}&Itemid={$itemid}"); } } else { $link = ''; } } break; case 'label': $link = 'none'; break; case 'certificate': $link = $params->get('MOODLE_URL') . '/mod/certificate/view.php?certificate=1&id=' . $mod_id . '&action=review'; break; } return $link; }
function sync_to_kunena() { JRequest::checkToken() or jexit('Invalid Token'); $cid = JRequest::getVar('cid', array(), 'post', 'array'); JArrayHelper::toInteger($cid); if (count($cid) < 1) { JError::raiseError(500, JText::_('Select an item to sync')); } JoomdleHelperForum::sync_forums($cid); $this->setRedirect('index.php?option=com_joomdle&view=forums'); }