本文整理汇总了PHP中enrol_get_my_courses函数的典型用法代码示例。如果您正苦于以下问题:PHP enrol_get_my_courses函数的具体用法?PHP enrol_get_my_courses怎么用?PHP enrol_get_my_courses使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了enrol_get_my_courses函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: get_all_notes
public function get_all_notes()
{
echo \html_writer::tag('p', get_string('viewallnote', 'local_note'), ['class' => 'lead']);
$courses = enrol_get_my_courses('id');
$courselist = [];
foreach ($courses as $key => $nouse) {
$courselist[] = $key;
}
if (empty($courselist)) {
return \html_writer::div(get_string("nonotesavailable", "local_note"), 'alert alert-warning');
}
$sql = 'select * from {cli_note} where courseid in(' . implode(',', $courselist) . ') and status = 1 order by id DESC';
$record = $this->db->get_records_sql($sql);
if (!empty($record) && $record != null) {
$table = new \html_table();
$table->head = (array) get_strings(['serial', 'author', 'date', 'course', 'title', 'content', 'attachment', 'label', 'active', 'action'], 'local_note');
$count = 1;
foreach ($record as $key => $row) {
$status = $row->status == true ? '<span class="label label-success">' . get_string('active', 'local_note') . '</span>' : '<span class="label label-warning">' . get_string('inactive', 'local_note') . '</span>';
$action = '<i class="fa fa-lock" title="Access denied"></i>';
$user = $this->db->get_record('user', ['id' => $row->publisherid], 'firstname, lastname');
$author = $user->firstname . ' ' . $user->lastname;
if ($this->userid == $row->publisherid) {
$action = \html_writer::link(new \moodle_url($this->cfg->wwwroot . '/local/note/edit_note.php?id=' . $row->id), '<i class="fa fa-edit"></i> ', ['title' => 'Edit note']);
$action .= \html_writer::link(new \moodle_url($this->cfg->wwwroot . '/local/note/delete_note.php?id=' . $row->id), ' <i class="fa fa-trash"></i>', ['title' => 'Delete note']);
}
$course = $this->db->get_record('course', array('id' => $row->courseid), 'fullname');
$table->data[] = array($count++, $author, date('j M Y', $row->createdtime), \html_writer::link(new \moodle_url($this->cfg->wwwroot . '/course/view.php', ['id' => $row->courseid]), $course->fullname), '<a href="view_note.php?id=' . $row->id . '">' . $row->title . '</a>', strip_tags(substr($row->content, 0, 20)) . ' <a href="view_note.php?id=' . $row->id . '">' . get_string('more', 'local_note') . '</a>', \html_writer::link(new \moodle_url($this->get_attachment($row->attachment)['url']), $this->get_attachment($row->attachment)['filename'], ['download' => 'download']), $row->label, $status, $action);
}
return \html_writer::table($table);
} else {
return \html_writer::div(get_string("nonotesavailable", "local_note"), 'alert alert-warning');
}
}
示例2: setup
/**
* Create basic setup for test cases
* @return bool
*/
public function setup()
{
global $CFG;
$this->resetAfterTest(true);
// Read settings from config.json.
$configdata = file_get_contents($CFG->dirroot . '/local/onenote/tests/phpu_config_data.json');
if (!$configdata) {
echo 'Please provide PHPUnit testing configs in a config.json file';
return false;
}
$this->config = json_decode($configdata, false);
$this->user = $this->getDataGenerator()->create_user();
$this->user1 = $this->getDataGenerator()->create_user();
$this->course1 = $this->getDataGenerator()->create_course();
$this->course2 = $this->getDataGenerator()->create_course();
// Setting user and enrolling to the courses created with teacher role.
$this->setUser($this->user->id);
$c1ctx = context_course::instance($this->course1->id);
$c2ctx = context_course::instance($this->course2->id);
$this->getDataGenerator()->enrol_user($this->user->id, $this->course1->id, 3);
$this->getDataGenerator()->enrol_user($this->user->id, $this->course2->id, 3);
$this->assertCount(2, enrol_get_my_courses());
$courses = enrol_get_my_courses();
// Student enrollment.
$this->setUser($this->user1->id);
$this->getDataGenerator()->enrol_user($this->user1->id, $this->course1->id, 5);
$this->getDataGenerator()->enrol_user($this->user1->id, $this->course2->id, 5);
$this->assertCount(2, get_enrolled_users($c1ctx));
}
示例3: get_glossaries_by_courses
/**
* Returns a list of glossaries in a provided list of courses.
*
* If no list is provided all glossaries that the user can view will be returned.
*
* @param array $courseids the course IDs.
* @return array of glossaries
* @since Moodle 3.1
*/
public static function get_glossaries_by_courses($courseids = array())
{
$params = self::validate_parameters(self::get_glossaries_by_courses_parameters(), array('courseids' => $courseids));
$warnings = array();
$courses = array();
$courseids = $params['courseids'];
if (empty($courseids)) {
$courses = enrol_get_my_courses();
$courseids = array_keys($courses);
}
// Array to store the glossaries to return.
$glossaries = array();
// Ensure there are courseids to loop through.
if (!empty($courseids)) {
list($courses, $warnings) = external_util::validate_courses($courseids, $courses);
// Get the glossaries in these courses, this function checks users visibility permissions.
$glossaries = get_all_instances_in_courses('glossary', $courses);
foreach ($glossaries as $glossary) {
$context = context_module::instance($glossary->coursemodule);
$glossary->name = external_format_string($glossary->name, $context->id);
list($glossary->intro, $glossary->introformat) = external_format_text($glossary->intro, $glossary->introformat, $context->id, 'mod_glossary', 'intro', null);
}
}
$result = array();
$result['glossaries'] = $glossaries;
$result['warnings'] = $warnings;
return $result;
}
示例4: render_custom_menu
protected function render_custom_menu(custom_menu $menu)
{
global $CFG;
require_once $CFG->dirroot . '/course/lib.php';
//navigation mycourses is no supported since 2.4
if (isloggedin() && !isguestuser() && ($mycourses = enrol_get_my_courses(NULL, 'visible DESC, fullname ASC'))) {
$branchlabel = get_string('mycourses');
$branchurl = new moodle_url('/course/index.php');
$branchtitle = $branchlabel;
$branchsort = 8000;
$branch = $menu->add($branchlabel, $branchurl, $branchtitle, $branchsort);
foreach ($mycourses as $mycourse) {
$branch->add($mycourse->shortname, new moodle_url('/course/view.php', array('id' => $mycourse->id)), $mycourse->fullname);
}
}
$course_id = $this->page->course->id;
if (isloggedin() && $course_id > 1) {
$branchlabel = get_string('grades');
$branchurl = new moodle_url('/grade/report/index.php?id=' . $this->page->course->id);
$branchtitle = $branchlabel;
$branchsort = 10000;
$branch = $menu->add($branchlabel, $branchurl, $branchtitle, $branchsort);
}
return parent::render_custom_menu($menu);
}
示例5: render_custom_menu
protected function render_custom_menu(custom_menu $menu)
{
/*
* This code replaces adds the current enrolled
* courses to the custommenu.
*/
$hasdisplaymycourses = empty($this->page->theme->settings->displaymycourses) ? false : $this->page->theme->settings->displaymycourses;
if (isloggedin() && !isguestuser() && $hasdisplaymycourses) {
$mycoursetitle = $this->page->theme->settings->mycoursetitle;
if ($mycoursetitle == 'module') {
$branchtitle = get_string('mymodules', 'theme_evolved');
} else {
if ($mycoursetitle == 'unit') {
$branchtitle = get_string('myunits', 'theme_evolved');
} else {
if ($mycoursetitle == 'class') {
$branchtitle = get_string('myclasses', 'theme_evolved');
} else {
$branchtitle = get_string('mycourses', 'theme_evolved');
}
}
}
$branchlabel = '<i class="fa fa-briefcase"></i>' . $branchtitle;
$branchurl = new moodle_url('/my/index.php');
$branchsort = 10000;
$branch = $menu->add($branchlabel, $branchurl, $branchtitle, $branchsort);
if ($courses = enrol_get_my_courses(NULL, 'fullname ASC')) {
foreach ($courses as $course) {
if ($course->visible) {
$branch->add(format_string($course->fullname), new moodle_url('/course/view.php?id=' . $course->id), format_string($course->shortname));
}
}
} else {
$noenrolments = get_string('noenrolments', 'theme_evolved');
$branch->add('<em>' . $noenrolments . '</em>', new moodle_url('/'), $noenrolments);
}
}
/*
* This code replaces adds the My Dashboard
* functionality to the custommenu.
*/
$hasdisplaymydashboard = empty($this->page->theme->settings->displaymydashboard) ? false : $this->page->theme->settings->displaymydashboard;
if (isloggedin() && !isguestuser() && $hasdisplaymydashboard) {
$branchlabel = '<i class="fa fa-dashboard"></i>' . get_string('mydashboard', 'theme_evolved');
$branchurl = new moodle_url('/my/index.php');
$branchtitle = get_string('mydashboard', 'theme_evolved');
$branchsort = 10000;
$branch = $menu->add($branchlabel, $branchurl, $branchtitle, $branchsort);
$branch->add(get_string('profile') . '</em>', new moodle_url('/user/profile.php'), get_string('profile'));
$branch->add(get_string('pluginname', 'block_calendar_month') . '</em>', new moodle_url('/calendar/view.php'), get_string('pluginname', 'block_calendar_month'));
$branch->add(get_string('pluginname', 'block_messages') . '</em>', new moodle_url('/message/index.php'), get_string('pluginname', 'block_messages'));
$branch->add(get_string('badges') . '</em>', new moodle_url('/badges/mybadges.php'), get_string('badges'));
$branch->add(get_string('privatefiles', 'block_private_files') . '</em>', new moodle_url('/user/files.php'), get_string('privatefiles', 'block_private_files'));
$branch->add(get_string('logout') . '</em>', new moodle_url('/login/logout.php'), get_string('logout'));
}
return parent::render_custom_menu($menu);
}
示例6: get_forums_by_courses
/**
* Returns a list of forums in a provided list of courses,
* if no list is provided all forums that the user can view
* will be returned.
*
* @param array $courseids the course ids
* @return array the forum details
* @since Moodle 2.5
*/
public static function get_forums_by_courses($courseids = array()) {
global $CFG, $DB, $USER;
require_once($CFG->dirroot . "/mod/forum/lib.php");
$params = self::validate_parameters(self::get_forums_by_courses_parameters(), array('courseids' => $courseids));
if (empty($params['courseids'])) {
// Get all the courses the user can view.
$courseids = array_keys(enrol_get_my_courses());
} else {
$courseids = $params['courseids'];
}
// Array to store the forums to return.
$arrforums = array();
// Ensure there are courseids to loop through.
if (!empty($courseids)) {
// Go through the courseids and return the forums.
foreach ($courseids as $cid) {
// Get the course context.
$context = context_course::instance($cid);
// Check the user can function in this context.
self::validate_context($context);
// Get the forums in this course.
if ($forums = $DB->get_records('forum', array('course' => $cid))) {
// Get the modinfo for the course.
$modinfo = get_fast_modinfo($cid);
// Get the forum instances.
$foruminstances = $modinfo->get_instances_of('forum');
// Loop through the forums returned by modinfo.
foreach ($foruminstances as $forumid => $cm) {
// If it is not visible or present in the forums get_records call, continue.
if (!$cm->uservisible || !isset($forums[$forumid])) {
continue;
}
// Set the forum object.
$forum = $forums[$forumid];
// Get the module context.
$context = context_module::instance($cm->id);
// Check they have the view forum capability.
require_capability('mod/forum:viewdiscussion', $context);
// Format the intro before being returning using the format setting.
list($forum->intro, $forum->introformat) = external_format_text($forum->intro, $forum->introformat,
$context->id, 'mod_forum', 'intro', 0);
// Add the course module id to the object, this information is useful.
$forum->cmid = $cm->id;
// Add the forum to the array to return.
$arrforums[$forum->id] = (array) $forum;
}
}
}
}
return $arrforums;
}
示例7: get_surveys_by_courses
/**
* Returns a list of surveys in a provided list of courses,
* if no list is provided all surveys that the user can view will be returned.
*
* @param array $courseids the course ids
* @return array of surveys details
* @since Moodle 3.0
*/
public static function get_surveys_by_courses($courseids = array())
{
global $CFG, $USER, $DB;
$returnedsurveys = array();
$warnings = array();
$params = self::validate_parameters(self::get_surveys_by_courses_parameters(), array('courseids' => $courseids));
$mycourses = array();
if (empty($params['courseids'])) {
$mycourses = enrol_get_my_courses();
$params['courseids'] = array_keys($mycourses);
}
// Ensure there are courseids to loop through.
if (!empty($params['courseids'])) {
list($courses, $warnings) = external_util::validate_courses($params['courseids'], $mycourses);
// Get the surveys in this course, this function checks users visibility permissions.
// We can avoid then additional validate_context calls.
$surveys = get_all_instances_in_courses("survey", $courses);
foreach ($surveys as $survey) {
$context = context_module::instance($survey->coursemodule);
// Entry to return.
$surveydetails = array();
// First, we return information that any user can see in the web interface.
$surveydetails['id'] = $survey->id;
$surveydetails['coursemodule'] = $survey->coursemodule;
$surveydetails['course'] = $survey->course;
$surveydetails['name'] = external_format_string($survey->name, $context->id);
if (has_capability('mod/survey:participate', $context)) {
$trimmedintro = trim($survey->intro);
if (empty($trimmedintro)) {
$tempo = $DB->get_field("survey", "intro", array("id" => $survey->template));
$survey->intro = get_string($tempo, "survey");
}
// Format intro.
list($surveydetails['intro'], $surveydetails['introformat']) = external_format_text($survey->intro, $survey->introformat, $context->id, 'mod_survey', 'intro', null);
$surveydetails['introfiles'] = external_util::get_area_files($context->id, 'mod_survey', 'intro', false, false);
$surveydetails['template'] = $survey->template;
$surveydetails['days'] = $survey->days;
$surveydetails['questions'] = $survey->questions;
$surveydetails['surveydone'] = survey_already_done($survey->id, $USER->id) ? 1 : 0;
}
if (has_capability('moodle/course:manageactivities', $context)) {
$surveydetails['timecreated'] = $survey->timecreated;
$surveydetails['timemodified'] = $survey->timemodified;
$surveydetails['section'] = $survey->section;
$surveydetails['visible'] = $survey->visible;
$surveydetails['groupmode'] = $survey->groupmode;
$surveydetails['groupingid'] = $survey->groupingid;
}
$returnedsurveys[] = $surveydetails;
}
}
$result = array();
$result['surveys'] = $returnedsurveys;
$result['warnings'] = $warnings;
return $result;
}
示例8: get_forums_by_courses
/**
* Returns a list of forums in a provided list of courses,
* if no list is provided all forums that the user can view
* will be returned.
*
* @param array $courseids the course ids
* @return array the forum details
* @since Moodle 2.5
*/
public static function get_forums_by_courses($courseids = array())
{
global $CFG;
require_once $CFG->dirroot . "/mod/forum/lib.php";
$params = self::validate_parameters(self::get_forums_by_courses_parameters(), array('courseids' => $courseids));
if (empty($params['courseids'])) {
// Get all the courses the user can view.
$courseids = array_keys(enrol_get_my_courses());
} else {
$courseids = $params['courseids'];
}
// Array to store the forums to return.
$arrforums = array();
// Ensure there are courseids to loop through.
if (!empty($courseids)) {
// Array of the courses we are going to retrieve the forums from.
$dbcourses = array();
// Mod info for courses.
$modinfocourses = array();
// Go through the courseids and return the forums.
foreach ($courseids as $courseid) {
// Check the user can function in this context.
try {
$context = context_course::instance($courseid);
self::validate_context($context);
// Get the modinfo for the course.
$modinfocourses[$courseid] = get_fast_modinfo($courseid);
$dbcourses[$courseid] = $modinfocourses[$courseid]->get_course();
} catch (Exception $e) {
continue;
}
}
// Get the forums in this course. This function checks users visibility permissions.
if ($forums = get_all_instances_in_courses("forum", $dbcourses)) {
foreach ($forums as $forum) {
$course = $dbcourses[$forum->course];
$cm = $modinfocourses[$course->id]->get_cm($forum->coursemodule);
$context = context_module::instance($cm->id);
// Skip forums we are not allowed to see discussions.
if (!has_capability('mod/forum:viewdiscussion', $context)) {
continue;
}
// Format the intro before being returning using the format setting.
list($forum->intro, $forum->introformat) = external_format_text($forum->intro, $forum->introformat, $context->id, 'mod_forum', 'intro', 0);
// Discussions count. This function does static request cache.
$forum->numdiscussions = forum_count_discussions($forum, $cm, $course);
$forum->cmid = $forum->coursemodule;
// Add the forum to the array to return.
$arrforums[$forum->id] = $forum;
}
}
}
return $arrforums;
}
示例9: get_wikis_by_courses
/**
* Returns a list of wikis in a provided list of courses,
* if no list is provided all wikis that the user can view will be returned.
*
* @param array $courseids The courses IDs.
* @return array Containing a list of warnings and a list of wikis.
* @since Moodle 3.1
*/
public static function get_wikis_by_courses($courseids = array())
{
$returnedwikis = array();
$warnings = array();
$params = self::validate_parameters(self::get_wikis_by_courses_parameters(), array('courseids' => $courseids));
$mycourses = array();
if (empty($params['courseids'])) {
$mycourses = enrol_get_my_courses();
$params['courseids'] = array_keys($mycourses);
}
// Ensure there are courseids to loop through.
if (!empty($params['courseids'])) {
list($courses, $warnings) = external_util::validate_courses($params['courseids'], $mycourses);
// Get the wikis in this course, this function checks users visibility permissions.
// We can avoid then additional validate_context calls.
$wikis = get_all_instances_in_courses('wiki', $courses);
foreach ($wikis as $wiki) {
$context = context_module::instance($wiki->coursemodule);
// Entry to return.
$module = array();
// First, we return information that any user can see in (or can deduce from) the web interface.
$module['id'] = $wiki->id;
$module['coursemodule'] = $wiki->coursemodule;
$module['course'] = $wiki->course;
$module['name'] = external_format_string($wiki->name, $context->id);
$viewablefields = [];
if (has_capability('mod/wiki:viewpage', $context)) {
list($module['intro'], $module['introformat']) = external_format_text($wiki->intro, $wiki->introformat, $context->id, 'mod_wiki', 'intro', $wiki->id);
$module['introfiles'] = external_util::get_area_files($context->id, 'mod_wiki', 'intro', false, false);
$viewablefields = array('firstpagetitle', 'wikimode', 'defaultformat', 'forceformat', 'editbegin', 'editend', 'section', 'visible', 'groupmode', 'groupingid');
}
// Check additional permissions for returning optional private settings.
if (has_capability('moodle/course:manageactivities', $context)) {
$additionalfields = array('timecreated', 'timemodified');
$viewablefields = array_merge($viewablefields, $additionalfields);
}
foreach ($viewablefields as $field) {
$module[$field] = $wiki->{$field};
}
// Check if user can add new pages.
$module['cancreatepages'] = wiki_can_create_pages($context);
$returnedwikis[] = $module;
}
}
$result = array();
$result['wikis'] = $returnedwikis;
$result['warnings'] = $warnings;
return $result;
}
示例10: get_content
function get_content()
{
global $CFG, $OUTPUT, $USER, $DB;
//global $CFG, $SESSION, $USER, $COURSE, $SITE, $PAGE, $DB;
if ($this->content !== null) {
return $this->content;
}
if (empty($this->instance)) {
$this->content = '';
return $this->content;
}
$this->content = new stdClass();
$this->content->text = '';
$this->content->footer = '';
//show my incomplete courses
//$completion = get_completion($USER->id);
//print_object($completion);
//complete courses
//show the courses the user is enrolled.
$this->content->text .= '<h2>Enrolled Courses</h2>';
$mycourses = enrol_get_my_courses();
/**
TODO:
- Count how many courses the user is enrolled to
- Count how many courses are complete (if timecompleted is not null)
-
*/
//total courses
$totalcourses = $DB->count_records('course_completions', array('userid' => $USER->id));
//incomplete courses
//$incompletecourses = $DB->count_records('course_completions', array('userid'=>$USER->id,'timecompleted'=>NULL));
//inprogress courses
$sql = "SELECT * FROM {course_completions} WHERE userid = :userid AND timestarted <> :timestarted AND timecompleted IS NULL";
$inprogress_records = $DB->get_records_sql($sql, array('userid' => $USER->id, 'timestarted' => '0'));
$inprogress_count = count($inprogress_records);
//complete courses
$sql = "SELECT * FROM {course_completions} WHERE userid = :userid AND timecompleted IS NOT :timecompleted";
$complete_records = $DB->get_records_sql($sql, array('userid' => $USER->id, 'timecompleted' => NULL));
$completecourses = count($complete_records);
//print_object($inprogress_count);
foreach ($mycourses as $course) {
$this->content->text .= '<p><a href="">' . $course->shortname . '</a></p>';
}
//$this->content->text .= "Incomplete: " . $incompletecourses." / ".$totalcourses."<br>";
$this->content->text .= "Inprogress: " . $inprogress_count . "<br>";
$this->content->text .= "Complete: " . $completecourses . "<br>";
$this->content->text .= "Total Courses: " . $totalcourses . "<br>";
return $this->content;
}
示例11: get_forums_by_courses
/**
* Returns a list of forums in a provided list of courses,
* if no list is provided all forums that the user can view
* will be returned.
*
* @param array $courseids the course ids
* @return array the forum details
* @since Moodle 2.5
*/
public static function get_forums_by_courses($courseids = array()) {
global $CFG;
require_once($CFG->dirroot . "/mod/forum/lib.php");
$params = self::validate_parameters(self::get_forums_by_courses_parameters(), array('courseids' => $courseids));
if (empty($params['courseids'])) {
$params['courseids'] = array_keys(enrol_get_my_courses());
}
// Array to store the forums to return.
$arrforums = array();
$warnings = array();
// Ensure there are courseids to loop through.
if (!empty($params['courseids'])) {
list($courses, $warnings) = external_util::validate_courses($params['courseids']);
// Get the forums in this course. This function checks users visibility permissions.
$forums = get_all_instances_in_courses("forum", $courses);
foreach ($forums as $forum) {
$course = $courses[$forum->course];
$cm = get_coursemodule_from_instance('forum', $forum->id, $course->id);
$context = context_module::instance($cm->id);
// Skip forums we are not allowed to see discussions.
if (!has_capability('mod/forum:viewdiscussion', $context)) {
continue;
}
// Format the intro before being returning using the format setting.
list($forum->intro, $forum->introformat) = external_format_text($forum->intro, $forum->introformat,
$context->id, 'mod_forum', 'intro', 0);
// Discussions count. This function does static request cache.
$forum->numdiscussions = forum_count_discussions($forum, $cm, $course);
$forum->cmid = $forum->coursemodule;
$forum->cancreatediscussions = forum_user_can_post_discussion($forum, null, -1, $cm, $context);
// Add the forum to the array to return.
$arrforums[$forum->id] = $forum;
}
}
return $arrforums;
}
示例12: block_my_course_progress_get_sorted_courses
/**
* Return sorted list of user courses
*
* @return array courses
*/
function block_my_course_progress_get_sorted_courses()
{
global $USER;
$courses = enrol_get_my_courses();
if (array_key_exists($site->id, $courses)) {
unset($courses[$site->id]);
}
foreach ($courses as $c) {
if (isset($USER->lastcourseaccess[$c->id])) {
$courses[$c->id]->lastaccess = $USER->lastcourseaccess[$c->id];
} else {
$courses[$c->id]->lastaccess = 0;
}
}
return $courses;
}
示例13: render_custom_menu
protected function render_custom_menu(custom_menu $menu)
{
global $CFG;
$hasdisplaymycourses = theme_lambda_get_setting('mycourses_dropdown');
if (isloggedin() && !isguestuser() && $hasdisplaymycourses) {
$branchlabel = get_string('mycourses');
$branchurl = new moodle_url('#');
$branchtitle = $branchlabel;
$branchsort = 10000;
$branch = $menu->add($branchlabel, $branchurl, $branchtitle, $branchsort);
if ($mycourses = enrol_get_my_courses(NULL, 'visible DESC, fullname ASC')) {
foreach ($mycourses as $mycourse) {
$branch->add($mycourse->shortname, new moodle_url('/course/view.php', array('id' => $mycourse->id)), $mycourse->fullname);
}
} else {
$hometext = get_string('myhome');
$homelabel = $hometext;
$branch->add($homelabel, new moodle_url('/my/index.php'), $hometext);
}
}
return parent::render_custom_menu($menu);
}
示例14: block_resources_get_all_resources
/**
* get all resources!
*
*/
function block_resources_get_all_resources()
{
global $DB;
// get courses list in wich logged user was enrolled
$courses = enrol_get_my_courses();
if (empty($courses)) {
return false;
}
$ids = implode(',', array_keys($courses));
// --------- cycle by courses
foreach ($courses as $key => $course) {
if (!isset($courses[$key]->resources)) {
$courses[$key]->resources = array();
}
// get videoresources list from courses and then render it
// * link to videoresource = link to course modules
$courses[$key]->videoresources = get_coursemodules_in_course('videoresource', $course->id);
}
// get resources list from all courses with AVG rating
$resources = $DB->get_records_sql('
SELECT DISTINCT rl.course * 10000 + si.id as id, si.id as section_id, rl.course, r.id as resource_id, r.url, r.title, r.internal_title, r.description, r.author, r.source
, (SELECT AVG(t.rating) FROM mdl_rating t
LEFT JOIN mdl_resource_section_items si ON si.id = t.itemid WHERE si.resource_item_id = r.id) as avgrate
FROM mdl_resourcelib rl
RIGHT JOIN mdl_resourcelib_content rc ON rl.id = rc.resourcelib_id
RIGHT JOIN mdl_resource_lists l ON rc.instance_id = l.id
RIGHT JOIN mdl_resource_list_sections ls ON l.id = ls.resource_list_id
RIGHT JOIN mdl_resource_section_items si ON ls.resource_section_id = si.resource_section_id
RIGHT JOIN mdl_resource_items r ON r.id = si.resource_item_id
WHERE rl.course IN (' . $ids . ')
ORDER BY ls.sort_order, si.sort_order');
foreach ($resources as $key => $resource) {
if (!isset($courses[$resource->course]->resources[$resource->resource_id])) {
$courses[$resource->course]->resources[$resource->resource_id] = $resource;
}
}
return $courses;
}
示例15: setup
/**
* Create basic setup for test cases
* @return bool
*/
public function setup()
{
global $CFG;
return true;
// Need to update tests to not contact external services.
$this->resetAfterTest(true);
$this->user = $this->getDataGenerator()->create_user();
$this->user1 = $this->getDataGenerator()->create_user();
$this->course1 = $this->getDataGenerator()->create_course();
$this->course2 = $this->getDataGenerator()->create_course();
// Setting user and enrolling to the courses created with teacher role.
$this->setUser($this->user->id);
$c1ctx = context_course::instance($this->course1->id);
$c2ctx = context_course::instance($this->course2->id);
$this->getDataGenerator()->enrol_user($this->user->id, $this->course1->id, 3);
$this->getDataGenerator()->enrol_user($this->user->id, $this->course2->id, 3);
$this->assertCount(2, enrol_get_my_courses());
$courses = enrol_get_my_courses();
// Student enrollment.
$this->setUser($this->user1->id);
$this->getDataGenerator()->enrol_user($this->user1->id, $this->course1->id, 5);
$this->getDataGenerator()->enrol_user($this->user1->id, $this->course2->id, 5);
$this->assertCount(2, get_enrolled_users($c1ctx));
}