/** * Renders HTML to show course module availability information (for someone who isn't allowed * to see the activity itself, or for staff) * * @param cm_info $mod * @param array $displayoptions * @return string */ public function course_section_cm_availability(cm_info $mod, $displayoptions = array()) { global $CFG; if (!$mod->uservisible) { // this is a student who is not allowed to see the module but might be allowed // to see availability info (i.e. "Available from ...") if (!empty($mod->availableinfo)) { $formattedinfo = \core_availability\info::format_info($mod->availableinfo, $mod->get_course()); $output = html_writer::tag('div', $formattedinfo, array('class' => 'availabilityinfo')); } return $output; } // this is a teacher who is allowed to see module but still should see the // information that module is not available to all/some students $modcontext = context_module::instance($mod->id); $canviewhidden = has_capability('moodle/course:viewhiddenactivities', $modcontext); if ($canviewhidden && !empty($CFG->enableavailability)) { // Don't add availability information if user is not editing and activity is hidden. if ($mod->visible || $this->page->user_is_editing()) { $hidinfoclass = ''; if (!$mod->visible) { $hidinfoclass = 'hide'; } $ci = new \core_availability\info_module($mod); $fullinfo = $ci->get_full_information(); if ($fullinfo) { $formattedinfo = \core_availability\info::format_info($fullinfo, $mod->get_course()); return html_writer::div($formattedinfo, 'availabilityinfo ' . $hidinfoclass); } } } return ''; }
/** * Renders HTML to show course module availability information * * @param cm_info $mod * @param array $displayoptions * @return string */ public function course_section_cm_availability(cm_info $mod, $displayoptions = array()) { // If we have available info, always spit it out. if (!empty($mod->availableinfo)) { $availinfo = $mod->availableinfo; } else { $ci = new \core_availability\info_module($mod); $availinfo = $ci->get_full_information(); } if ($availinfo) { $formattedinfo = \core_availability\info::format_info($availinfo, $mod->get_course()); return html_writer::div($formattedinfo, 'availabilityinfo'); } return ''; }