// Trigger event.
course_view(context_course::instance(SITEID));
-// If the hub plugin is installed then we let it take over the homepage here.
-if (file_exists($CFG->dirroot.'/local/hub/lib.php') and get_config('local_hub', 'hubenabled')) {
- require_once($CFG->dirroot.'/local/hub/lib.php');
- $hub = new local_hub();
- $continue = $hub->display_homepage();
- // Function display_homepage() returns true if the hub home page is not displayed
- // ...mostly when search form is not displayed for not logged users.
- if (empty($continue)) {
- exit;
- }
-}
-
$PAGE->set_pagetype('site-index');
$PAGE->set_docs_path('');
$editing = $PAGE->user_is_editing();
$courserenderer = $PAGE->get_renderer('core', 'course');
echo $OUTPUT->header();
-// Print Section or custom info.
$siteformatoptions = course_get_format($SITE)->get_format_options();
$modinfo = get_fast_modinfo($SITE);
-$modnames = get_module_types_names();
-$modnamesplural = get_module_types_names(true);
$modnamesused = $modinfo->get_used_module_names();
-$mods = $modinfo->get_cms();
+// Print Section or custom info.
if (!empty($CFG->customfrontpageinclude)) {
+ // Pre-fill some variables that custom front page might use.
+ $modnames = get_module_types_names();
+ $modnamesplural = get_module_types_names(true);
+ $mods = $modinfo->get_cms();
+
include($CFG->customfrontpageinclude);
} else if ($siteformatoptions['numsections'] > 0) {
- if ($editing) {
- // Make sure section with number 1 exists.
- course_create_sections_if_missing($SITE, 1);
- // Re-request modinfo in case section was created.
- $modinfo = get_fast_modinfo($SITE);
- }
- $section = $modinfo->get_section_info(1);
- if (($section && (!empty($modinfo->sections[1]) or !empty($section->summary))) or $editing) {
- echo $OUTPUT->box_start('generalbox sitetopic');
-
- // If currently moving a file then show the current clipboard.
- if (ismoving($SITE->id)) {
- $stractivityclipboard = strip_tags(get_string('activityclipboard', '', $USER->activitycopyname));
- echo '<p><font size="2">';
- echo "$stractivityclipboard (<a href=\"course/mod.php?cancelcopy=true&sesskey=".sesskey()."\">";
- echo get_string('cancel') . '</a>)';
- echo '</font></p>';
- }
-
- $context = context_course::instance(SITEID);
-
- // If the section name is set we show it.
- if (trim($section->name) !== '') {
- echo $OUTPUT->heading(
- format_string($section->name, true, array('context' => $context)),
- 2,
- 'sectionname'
- );
- }
-
- $summarytext = file_rewrite_pluginfile_urls($section->summary,
- 'pluginfile.php',
- $context->id,
- 'course',
- 'section',
- $section->id);
- $summaryformatoptions = new stdClass();
- $summaryformatoptions->noclean = true;
- $summaryformatoptions->overflowdiv = true;
-
- echo format_text($summarytext, $section->summaryformat, $summaryformatoptions);
-
- if ($editing && has_capability('moodle/course:update', $context)) {
- $streditsummary = get_string('editsummary');
- echo "<a title=\"$streditsummary\" " .
- " href=\"course/editsection.php?id=$section->id\">" . $OUTPUT->pix_icon('t/edit', $streditsummary) .
- "</a><br /><br />";
- }
-
- $courserenderer = $PAGE->get_renderer('core', 'course');
- echo $courserenderer->course_section_cm_list($SITE, $section);
-
- echo $courserenderer->course_section_add_cm_control($SITE, $section->section);
- echo $OUTPUT->box_end();
- }
+ echo $courserenderer->frontpage_section1();
}
// Include course AJAX.
include_course_ajax($SITE, $modnamesused);
-if (isloggedin() and !isguestuser() and isset($CFG->frontpageloggedin)) {
- $frontpagelayout = $CFG->frontpageloggedin;
-} else {
- $frontpagelayout = $CFG->frontpage;
-}
-
-foreach (explode(',', $frontpagelayout) as $v) {
- switch ($v) {
- // Display the main part of the front page.
- case FRONTPAGENEWS:
- if ($SITE->newsitems) {
- // Print forums only when needed.
- require_once($CFG->dirroot .'/mod/forum/lib.php');
-
- if (! $newsforum = forum_get_course_forum($SITE->id, 'news')) {
- print_error('cannotfindorcreateforum', 'forum');
- }
-
- // Fetch news forum context for proper filtering to happen.
- $newsforumcm = get_coursemodule_from_instance('forum', $newsforum->id, $SITE->id, false, MUST_EXIST);
- $newsforumcontext = context_module::instance($newsforumcm->id, MUST_EXIST);
-
- $forumname = format_string($newsforum->name, true, array('context' => $newsforumcontext));
- echo html_writer::link('#skipsitenews',
- get_string('skipa', 'access', core_text::strtolower(strip_tags($forumname))),
- array('class' => 'skip-block skip'));
-
- // Wraps site news forum in div container.
- echo html_writer::start_tag('div', array('id' => 'site-news-forum'));
-
- if (isloggedin()) {
- $SESSION->fromdiscussion = $CFG->wwwroot;
- $subtext = '';
- if (\mod_forum\subscriptions::is_subscribed($USER->id, $newsforum)) {
- if (!\mod_forum\subscriptions::is_forcesubscribed($newsforum)) {
- $subtext = get_string('unsubscribe', 'forum');
- }
- } else {
- $subtext = get_string('subscribe', 'forum');
- }
- echo $OUTPUT->heading($forumname);
- $suburl = new moodle_url('/mod/forum/subscribe.php', array('id' => $newsforum->id, 'sesskey' => sesskey()));
- echo html_writer::tag('div', html_writer::link($suburl, $subtext), array('class' => 'subscribelink'));
- } else {
- echo $OUTPUT->heading($forumname);
- }
+echo $courserenderer->frontpage();
- forum_print_latest_discussions($SITE, $newsforum, $SITE->newsitems, 'plain', 'p.modified DESC');
-
- // End site news forum div container.
- echo html_writer::end_tag('div');
-
- echo html_writer::tag('span', '', array('class' => 'skip-block-to', 'id' => 'skipsitenews'));
- }
- break;
-
- case FRONTPAGEENROLLEDCOURSELIST:
- $mycourseshtml = $courserenderer->frontpage_my_courses();
- if (!empty($mycourseshtml)) {
- echo html_writer::link('#skipmycourses',
- get_string('skipa', 'access', core_text::strtolower(get_string('mycourses'))),
- array('class' => 'skip skip-block'));
-
- // Wrap frontpage course list in div container.
- echo html_writer::start_tag('div', array('id' => 'frontpage-course-list'));
-
- echo $OUTPUT->heading(get_string('mycourses'));
- echo $mycourseshtml;
-
- // End frontpage course list div container.
- echo html_writer::end_tag('div');
-
- echo html_writer::tag('span', '', array('class' => 'skip-block-to', 'id' => 'skipmycourses'));
- break;
- }
- // No "break" here. If there are no enrolled courses - continue to 'Available courses'.
-
- case FRONTPAGEALLCOURSELIST:
- $availablecourseshtml = $courserenderer->frontpage_available_courses();
- if (!empty($availablecourseshtml)) {
- echo html_writer::link('#skipavailablecourses',
- get_string('skipa', 'access', core_text::strtolower(get_string('availablecourses'))),
- array('class' => 'skip skip-block'));
-
- // Wrap frontpage course list in div container.
- echo html_writer::start_tag('div', array('id' => 'frontpage-course-list'));
-
- echo $OUTPUT->heading(get_string('availablecourses'));
- echo $availablecourseshtml;
-
- // End frontpage course list div container.
- echo html_writer::end_tag('div');
-
- echo html_writer::tag('span', '', array('class' => 'skip-block-to', 'id' => 'skipavailablecourses'));
- }
- break;
-
- case FRONTPAGECATEGORYNAMES:
- echo html_writer::link('#skipcategories',
- get_string('skipa', 'access', core_text::strtolower(get_string('categories'))),
- array('class' => 'skip skip-block'));
-
- // Wrap frontpage category names in div container.
- echo html_writer::start_tag('div', array('id' => 'frontpage-category-names'));
-
- echo $OUTPUT->heading(get_string('categories'));
- echo $courserenderer->frontpage_categories_list();
-
- // End frontpage category names div container.
- echo html_writer::end_tag('div');
-
- echo html_writer::tag('span', '', array('class' => 'skip-block-to', 'id' => 'skipcategories'));
- break;
-
- case FRONTPAGECATEGORYCOMBO:
- echo html_writer::link('#skipcourses',
- get_string('skipa', 'access', core_text::strtolower(get_string('courses'))),
- array('class' => 'skip skip-block'));
-
- // Wrap frontpage category combo in div container.
- echo html_writer::start_tag('div', array('id' => 'frontpage-category-combo'));
-
- echo $OUTPUT->heading(get_string('courses'));
- echo $courserenderer->frontpage_combo_list();
-
- // End frontpage category combo div container.
- echo html_writer::end_tag('div');
-
- echo html_writer::tag('span', '', array('class' => 'skip-block-to', 'id' => 'skipcourses'));
- break;
-
- case FRONTPAGECOURSESEARCH:
- echo $OUTPUT->box($courserenderer->course_search_form('', 'short'), 'mdl-align');
- break;
-
- }
- echo '<br />';
-}
if ($editing && has_capability('moodle/course:create', context_system::instance())) {
echo $courserenderer->add_new_course_button();
}