Example #1
0
    if (!$cm->uservisible or !isset($forums[$forumid])) {
        continue;
    }
    $forum = $forums[$forumid];
    if (!($context = context_module::instance($cm->id, IGNORE_MISSING))) {
        // Shouldn't happen.
        continue;
    }
    if (!has_capability('mod/forum:viewdiscussion', $context)) {
        // User can't view this one - skip it.
        continue;
    }
    // Determine whether subscription options should be displayed.
    $forum->cansubscribe = mod_forum\subscriptions::is_subscribable($forum);
    $forum->cansubscribe = $forum->cansubscribe || has_capability('mod/forum:managesubscriptions', $context);
    $forum->issubscribed = mod_forum\subscriptions::is_subscribed($USER->id, $forum, null, $cm);
    $showsubscriptioncolumns = $showsubscriptioncolumns || $forum->issubscribed || $forum->cansubscribe;
    // Fill two type array - order in modinfo is the same as in course.
    if ($forum->type == 'news' or $forum->type == 'social') {
        $generalforums[$forum->id] = $forum;
    } else {
        if ($course->id == SITEID or empty($cm->sectionnum)) {
            $generalforums[$forum->id] = $forum;
        } else {
            $learningforums[$forum->id] = $forum;
        }
    }
}
if ($showsubscriptioncolumns) {
    // The user can subscribe to at least one forum.
    $generaltable->head[] = $strsubscribed;
Example #2
0
/**
 * @global object
 * @param int $userid
 * @param object $forum
 * @return bool
 * @deprecated since Moodle 2.8 use \mod_forum\subscriptions::is_subscribed() instead
 */
function forum_is_subscribed($userid, $forum)
{
    global $DB;
    debugging("forum_is_subscribed() has been deprecated, please use \\mod_forum\\subscriptions::is_subscribed() instead.", DEBUG_DEVELOPER);
    // Note: The new function does not take an integer form of forum.
    if (is_numeric($forum)) {
        $forum = $DB->get_record('forum', array('id' => $forum));
    }
    return mod_forum\subscriptions::is_subscribed($userid, $forum);
}