/** * Return contents of course_overview block * * @return stdClass contents of block */ public function get_content() { global $USER, $CFG, $DB; require_once $CFG->dirroot . '/user/profile/lib.php'; if ($this->content !== NULL) { return $this->content; } $config = get_config('block_course_overview'); $this->content = new stdClass(); $this->content->text = ''; $this->content->footer = ''; $content = array(); $updatemynumber = optional_param('mynumber', -1, PARAM_INT); if ($updatemynumber >= 0) { block_course_overview_update_mynumber($updatemynumber); } profile_load_custom_fields($USER); list($sortedcourses, $sitecourses, $totalcourses) = block_course_overview_get_sorted_courses(); $overviews = block_course_overview_get_overviews($sitecourses); $renderer = $this->page->get_renderer('block_course_overview'); if (!empty($config->showwelcomearea)) { require_once $CFG->dirroot . '/message/lib.php'; $msgcount = message_count_unread_messages(); $this->content->text = $renderer->welcome_area($msgcount); } // Number of sites to display. if ($this->page->user_is_editing() && empty($config->forcedefaultmaxcourses)) { $this->content->text .= $renderer->editing_bar_head($totalcourses); } if (empty($sortedcourses)) { $this->content->text .= get_string('nocourses', 'my'); } else { // For each course, build category cache. $this->content->text .= $renderer->course_overview($sortedcourses, $overviews); $this->content->text .= $renderer->hidden_courses($totalcourses - count($sortedcourses)); if ($this->page->user_is_editing() && ajaxenabled()) { $this->page->requires->js_init_call('M.block_course_overview.add_handles'); } } return $this->content; }
$PAGE->requires->js('/teacher/jquery-latest.min.js',true); $PAGE->requires->js('/teacher/html-table-search.js',true); $PAGE->requires->css('/teacher/bootstrap-select.css',true); $PAGE->requires->js('/teacher/bootstrap-select.js',true); echo "<input id='baseurl' type='hidden' value=".$CFG->wwwroot ."/>"; require_once($CFG->dirroot.'/teacher/customlib.php'); $PAGE->requires->js('/teacher/custom.js',true); $PAGE->requires->css('/teacher/styles.css',true); if(user_has_role_assignment($USER->id,3)) { $context = context_user::instance($USER->id); $PAGE->set_context($context); $enrolledcourses = block_course_overview_get_sorted_courses(); $cours = enrol_get_users_courses($USER->id); echo $OUTPUT->header(); ?> <div id="demo"> <div id="watchlist"> <a href="<?php echo $CFG->wwwroot?>/teacher/dashboard.php" class='link'>Courses</a> <a href="<?php echo $CFG->wwwroot?>/teacher/reports.php" class='link'>Reports</a> <a href="<?php echo $CFG->wwwroot?>/teacher/watchlist.php" class='current link' >Watchlist</a> <div class="yui3-skin-sam"> <div id="course-sel"> <?php
public function frontpage_my_courses() { global $USER, $CFG, $DB; $output = ''; if (!isloggedin() or isguestuser()) { return ''; } $courses = block_course_overview_get_sorted_courses(); list($sortedcourses, $sitecourses, $totalcourses) = block_course_overview_get_sorted_courses(); if (!empty($sortedcourses) || !empty($rcourses) || !empty($rhosts)) { $chelper = new coursecat_helper(); if (count($courses) > $CFG->frontpagecourselimit) { // There are more enrolled courses than we can display, display link to 'My courses'. $totalcount = count($sortedcourses); $courses = array_slice($sortedcourses, 0, $CFG->frontpagecourselimit, true); $chelper->set_courses_display_options(array('viewmoreurl' => new moodle_url('/my/'), 'viewmoretext' => new lang_string('mycourses'))); } else { // All enrolled courses are displayed, display link to 'All courses' if there are more courses in system. $chelper->set_courses_display_options(array('viewmoreurl' => new moodle_url('/course/index.php'), 'viewmoretext' => new lang_string('fulllistofcourses'))); $totalcount = $DB->count_records('course') - 1; } $chelper->set_show_courses(self::COURSECAT_SHOW_COURSES_EXPANDED)->set_attributes(array('class' => 'frontpage-course-list-enrolled')); $output .= $this->coursecat_courses($chelper, $sortedcourses, $totalcount); if (!empty($rcourses)) { $output .= html_writer::start_tag('div', array('class' => 'courses')); foreach ($rcourses as $course) { $output .= $this->frontpage_remote_course($course); } $output .= html_writer::end_tag('div'); } else { if (!empty($rhosts)) { $output .= html_writer::start_tag('div', array('class' => 'courses')); foreach ($rhosts as $host) { $output .= $this->frontpage_remote_host($host); } $output .= html_writer::end_tag('div'); } } } return $output; }
public function navigation_menu() { global $PAGE, $COURSE, $OUTPUT, $CFG; $menu = new custom_menu(); if (isloggedin() && !isguestuser()) { if (!empty($PAGE->theme->settings->displaymycourses)) { $mycoursetitle = $this->page->theme->settings->mycoursetitle; if ($mycoursetitle == 'module') { $branchtitle = get_string('mymodules', 'theme_pioneer'); } else { if ($mycoursetitle == 'unit') { $branchtitle = get_string('myunits', 'theme_pioneer'); } else { if ($mycoursetitle == 'class') { $branchtitle = get_string('myclasses', 'theme_pioneer'); } else { $branchtitle = get_string('mycourses', 'theme_pioneer'); } } } $branchlabel = '<i class="fa fa-briefcase"></i>' . $branchtitle; $branchurl = new moodle_url('/my/index.php'); $branchsort = 10001; $branch = $menu->add($branchlabel, $branchurl, $branchtitle, $branchsort); list($sortedcourses, $sitecourses, $totalcourses) = block_course_overview_get_sorted_courses(); if ($sortedcourses) { foreach ($sortedcourses 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_pioneer'); $branch->add('<em>' . $noenrolments . '</em>', new moodle_url('/'), $noenrolments); } } if (!empty($PAGE->theme->settings->enablethiscourse)) { if (isset($COURSE->id) && $COURSE->id > 1) { $branchtitle = get_string('thiscourse', 'theme_pioneer'); $branchlabel = '<i class="fa fa-sitemap"></i><span class="menutitle">' . $branchtitle . '</span>'; $branchurl = new moodle_url('#'); $branch = $menu->add($branchlabel, $branchurl, $branchtitle, 10002); $branchtitle = "People"; $branchlabel = '<i class="fa fa-users"></i>' . $branchtitle; $branchurl = new moodle_url('/user/index.php', array('id' => $PAGE->course->id)); $branch->add($branchlabel, $branchurl, $branchtitle, 100003); $data = theme_pioneer_get_course_activities(); foreach ($data as $modname => $modfullname) { if ($modname === 'resources') { $icon = $OUTPUT->pix_icon('icon', '', 'mod_page', array('class' => 'icon')); $branch->add($icon . $modfullname, new moodle_url('/course/resources.php', array('id' => $PAGE->course->id))); } else { $icon = '<img src="' . $OUTPUT->pix_url('icon', $modname) . '" class="icon" alt="" />'; $branch->add($icon . $modfullname, new moodle_url('/mod/' . $modname . '/index.php', array('id' => $PAGE->course->id))); } } } } } return $this->render_custom_menu($menu); }
// You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** * Move/order course functionality for course_overview block. * * @package block_course_overview * @copyright 2012 Adam Olley <*****@*****.**> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require_once dirname(__FILE__) . '/../../config.php'; require_once dirname(__FILE__) . '/locallib.php'; require_sesskey(); require_login(); $source = required_param('source', PARAM_INT); $move = required_param('move', PARAM_INT); list($courses_sorted, $sitecourses, $coursecount) = block_course_overview_get_sorted_courses(); $sortorder = array_keys($courses_sorted); // Now resort based on new weight for chosen course. $neworder = array(); $sourcekey = array_search($source, $sortorder); if ($sourcekey === false) { print_error("invalidcourseid", null, null, $source); } $destination = $sourcekey + $move; if ($destination < 0) { print_error("listcantmoveup"); } else { if ($destination >= count($courses_sorted)) { print_error("listcantmovedown"); } }