title = get_string('administration'); $this->version = 2004081200; } function get_content() { global $CFG, $USER; if ($this->content !== NULL) { return $this->content; } $this->content = new stdClass; $this->content->items = array(); $this->content->icons = array(); $this->content->footer = ''; if (empty($this->instance)) { return $this->content = ''; } else if ($this->instance->pageid == SITEID) { return $this->content = ''; } $course = get_record('course', 'id', $this->instance->pageid); $context = get_context_instance(CONTEXT_COURSE, $this->instance->pageid); if (!has_capability('moodle/course:view', $context)) { // Just return return $this->content; } if (empty($CFG->loginhttps)) { $securewwwroot = $CFG->wwwroot; } else { $securewwwroot = str_replace('http:','https:',$CFG->wwwroot); } /// Course editing on/off if (has_capability('moodle/course:update', $context)) { $this->content->icons[]=''; if (isediting($this->instance->pageid)) { $this->content->items[]=''.get_string('turneditingoff').''; } else { $this->content->items[]=''.get_string('turneditingon').''; } $this->content->items[]=''.get_string('settings').''; $this->content->icons[]=''; } /// Assign roles to the course if (has_capability('moodle/role:assign', $context)) { $this->content->items[]=''.get_string('assignroles', 'role').''; $this->content->icons[]=''; } /// Manage metacourses if ($course->metacourse) { if (has_capability('moodle/course:managemetacourse', $context)) { $strchildcourses = get_string('childcourses'); $this->content->items[]=''.$strchildcourses.''; $this->content->icons[]=''; } else if (has_capability('moodle/role:assign', $context)) { $strchildcourses = get_string('childcourses'); $this->content->items[]=''.$strchildcourses.''; $this->content->icons[]=''; } } /// Manage groups in this course if (($course->groupmode || !$course->groupmodeforce) && has_capability('moodle/course:managegroups', $context)) { $strgroups = get_string('groups'); $this->content->items[]=''.$strgroups.''; $this->content->icons[]=''; } /// Backup this course if (has_capability('moodle/site:backup', $context)) { $this->content->items[]=''.get_string('backup').''; $this->content->icons[]=''; } /// Restore to this course if (has_capability('moodle/site:restore', $context)) { $this->content->items[]=''.get_string('restore').''; $this->content->icons[]=''; } /// Import data from other courses if (has_capability('moodle/site:import', $context)) { $this->content->items[]=''.get_string('import').''; $this->content->icons[]=''; } /// Reset this course if (has_capability('moodle/course:reset', $context)) { $this->content->items[]=''.get_string('reset').''; $this->content->icons[]=''; } /// View course reports if (has_capability('moodle/site:viewreports', $context)) { $this->content->items[]=''.get_string('reports').''; $this->content->icons[]=''; } /// Manage questions if (has_capability('moodle/question:manage', $context)) { $this->content->items[]=''.get_string('questions', 'quiz').''; $this->content->icons[]=''; } /// Manage scales if (has_capability('moodle/course:managescales', $context)) { $this->content->items[]=''.get_string('scales').''; $this->content->icons[]=''; } /// Manage files if (has_capability('moodle/course:managefiles', $context)) { $this->content->items[]=''.get_string('files').''; $this->content->icons[]=''; } /// Authorize hooks if (has_capability('enrol/authorize:managepayments', $context)) { if ($course->enrol == 'authorize' || (empty($course->enrol) && $CFG->enrol == 'authorize')) { require_once($CFG->dirroot.'/enrol/authorize/const.php'); $paymenturl = ''.get_string('payments').' '; if ($cnt = count_records('enrol_authorize', 'status', AN_STATUS_AUTH, 'courseid', $course->id)) { $paymenturl .= ''.get_string('paymentpending', 'moodle', $cnt).''; } $this->content->items[] = $paymenturl; $this->content->icons[] = ''; } } /// View course grades (or just your own grades, same link) if (has_capability('moodle/course:viewcoursegrades', $context) or (has_capability('moodle/user:viewusergrades', $context) && $course->showgrades)) { $this->content->items[]=''.get_string('grades').''; $this->content->icons[]=''; } /// Person can unenrol themselves from this course if (has_capability('moodle/role:unassignself', $context, NULL, false) and empty($course->metacourse)) { $this->content->items[]=''.get_string('unenrolme', '', $course->shortname).''; $this->content->icons[]=''; } /// Should the following two be in this block? /// View own activity report // if ($course->showreports) { // $this->content->items[]=''.get_string('activityreport').''; // $this->content->icons[]=''; // } /// Edit your own profile // $fullname = fullname($USER, has_capability('moodle/site:viewfullnames', $context)); // $editmyprofile = ''.get_string('editmyprofile').''; // if (empty($USER->description)) { // //Accessibility: replace non-standard with CSS ( makes title visible in IE). // $text = get_string('profile').' '.get_string('missingdescription'); // $this->content->items[]= $editmyprofile.' *'.$text.''; // } else { // $this->content->items[]= $editmyprofile; // } // $this->content->icons[]=''; return $this->content; } function applicable_formats() { return array('all' => false, 'course' => true); } } ?>