diff --git a/theme/boost_o365teams/classes/core_course_renderer.php b/theme/boost_o365teams/classes/core_course_renderer.php deleted file mode 100644 index 1bdb69bd8..000000000 --- a/theme/boost_o365teams/classes/core_course_renderer.php +++ /dev/null @@ -1,197 +0,0 @@ -. - -/** - * Boost o365teams core_course renderer. - * - * @package theme_boost_o365teams - * @copyright 2018 Enovation Solutions - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ - -defined('MOODLE_INTERNAL') || die(); - -require_once($CFG->dirroot . '/course/renderer.php'); - -/** - * course - * - * @package theme_boost_o365teams - * @copyright 2018 Enovation Solutions - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ -class theme_boost_o365teams_core_course_renderer extends core_course_renderer { - /** - * Render the header. - * - * @param object $course - * @param object $completioninfo - * @param cm_info $mod - * @param int $sectionreturn - * @param array $displayoptions - * @return string - */ - public function course_section_cm($course, &$completioninfo, cm_info $mod, $sectionreturn, $displayoptions = []) { - $output = ''; - // We return empty string (because course module will not be displayed at all) if - // 1) The activity is not visible to users; and - // 2) The 'availableinfo' is empty, i.e. the activity was - // hidden in a way that leaves no info, such as using the - // eye icon. - if (!$mod->is_visible_on_course_page()) { - return $output; - } - - $indentclasses = 'mod-indent'; - if (!empty($mod->indent)) { - $indentclasses .= ' mod-indent-' . $mod->indent; - if ($mod->indent > 15) { - $indentclasses .= ' mod-indent-huge'; - } - } - - $output .= html_writer::start_tag('div'); - - if ($this->page->user_is_editing()) { - $output .= course_get_cm_move($mod, $sectionreturn); - } - - $output .= html_writer::start_tag('div', ['class' => 'mod-indent-outer']); - - // This div is used to indent the content. - $output .= html_writer::div('', $indentclasses); - - // Start a wrapper for the actual content to keep the indentation consistent. - $output .= html_writer::start_tag('div'); - - // If there is content but NO link (eg label), - // then display the content here (BEFORE any icons). - // In this case cons must be - // displayed after the content so that it makes more sense visually - // and for accessibility reasons, e.g. if you have a one-line label - // it should work similarly (at least in terms of ordering) to an - // activity. - $contentpart = $this->course_section_cm_text($mod, $displayoptions); - $url = $mod->url; - - $modicons = ''; - if ($this->page->user_is_editing()) { - $editactions = course_get_cm_edit_actions($mod, $mod->indent, $sectionreturn); - $modicons .= ' ' . $this->course_section_cm_edit_actions($editactions, $mod, $displayoptions); - $modicons .= $mod->afterediticons; - } - - $modicons .= $this->course_section_cm_completion($course, $completioninfo, $mod, $displayoptions); - - if (!empty($modicons)) { - $output .= html_writer::span($modicons, 'actions'); - } - - // Display the link to the module (or do nothing if module has no url). - $cmname = $this->course_section_cm_name($mod, $displayoptions); - - if (!empty($cmname)) { - // Start the div for the activity title, excluding the edit icons. - $output .= html_writer::start_tag('div', ['class' => 'activityinstance']); - $output .= $cmname; - - // Module can put text after the link (e.g. forum unread). - $output .= $mod->afterlink; - - // Closing the tag which contains everything but edit icons. Content part of the module should not be part of this. - $output .= html_writer::end_tag('div'); - } - - if (empty($url)) { - $output .= $contentpart; - } - - // Show availability info (if module is not available). - $output .= $this->course_section_cm_availability($mod, $displayoptions); - - // If there is content AND a link, then display the content here - // (AFTER any icons). Otherwise it was displayed before. - if (!empty($url)) { - $output .= $contentpart; - } - - $output .= html_writer::end_tag('div'); - - // End of indentation div. - $output .= html_writer::end_tag('div'); - - $output .= html_writer::end_tag('div'); - - return $output; - } - - /** - * Get Section Name - * - * @param cm_info $mod - * @param array $displayoptions - * @return string - */ - public function course_section_cm_name_title(cm_info $mod, $displayoptions = []) { - $output = ''; - $url = $mod->url; - if (!$mod->is_visible_on_course_page() || !$url) { - // Nothing to be displayed to the user. - return $output; - } - - // Accessibility: for files get description via icon, this is very ugly hack! - $instancename = $mod->get_formatted_name(); - $altname = $mod->modfullname; - // Avoid unnecessary duplication: if e.g. a forum name already - // includes the word forum (or Forum, etc) then it is unhelpful - // to include that in the accessible description that is added. - if ( - false !== strpos( - core_text::strtolower($instancename), - core_text::strtolower($altname) - ) - ) { - $altname = ''; - } - - // File type after name, for alphabetic lists (screen reader). - if ($altname) { - $altname = get_accesshide(' ' . $altname); - } - - [$linkclasses, $textclasses] = $this->course_section_cm_classes($mod); - - // Get on-click attribute value if specified and decode the onclick - it - // has already been encoded for display (puke). - $onclick = htmlspecialchars_decode($mod->onclick, ENT_QUOTES); - - // Display link itself. - $activitylink = html_writer::empty_tag('img', ['src' => $mod->get_icon_url(), - 'class' => 'iconlarge activityicon', 'alt' => ' ', 'role' => 'presentation']) . - html_writer::tag('span', $instancename . $altname, ['class' => 'instancename']) . - html_writer::tag('span', '', ['class' => 'fa fa-external-link popupicon']); - if ($mod->uservisible) { - $output .= html_writer::link($url, $activitylink, ['class' => $linkclasses, 'onclick' => $onclick]); - } else { - // We may be displaying this just in order to show information - // about visibility, without the actual link ($mod->is_visible_on_course_page()). - $output .= html_writer::tag('div', $activitylink, ['class' => $textclasses]); - } - - return $output; - } -} diff --git a/theme/boost_o365teams/renderers.php b/theme/boost_o365teams/renderers.php index d6d8de811..4e8bc11f0 100644 --- a/theme/boost_o365teams/renderers.php +++ b/theme/boost_o365teams/renderers.php @@ -26,5 +26,4 @@ // Include individual renderer files to maintain PSR-1 compliance (one class per file). require_once(__DIR__ . '/classes/mod_assign_renderer.php'); -require_once(__DIR__ . '/classes/core_course_renderer.php'); require_once(__DIR__ . '/classes/mod_quiz_renderer.php');