function forum_is_subscribed($userid, $forum, $cm=null, $context=null) { //// added the two variables global $DB; if (is_numeric($forum)) { $forum = $DB->get_record('forum', array('id' => $forum)); } if (!$cm) //// check if variable is empty $cm = get_coursemodule_from_instance('forum', $forum->id); if ($cm && !$context) //// same thing for the context $context = context_module::instance($cm->id); //// moved the $cm to the beginning to avoid unnecessary call to 'forum_is_forcesubscribed()' if ($cm && forum_is_forcesubscribed($forum) && has_capability('mod/forum:allowforcesubscribe', context_module::instance($cm->id), $userid)) { return true; } return $DB->record_exists("forum_subscriptions", array("userid" => $userid, "forum" => $forum->id)); }