X-Git-Url: http://git.moodle.org/gw?p=moodle.git;a=blobdiff_plain;f=index.php;h=2346d39b54e716404f683745806b22cc3b6dc9ef;hp=502093ca85473deb9689647a0a938c3b8007a199;hb=refs%2Fheads%2FMOODLE_310_STABLE;hpb=0697a5221827c0d3f5e227047001a86711270808 diff --git a/index.php b/index.php index 502093ca854..2346d39b54e 100644 --- a/index.php +++ b/index.php @@ -91,18 +91,6 @@ if (get_home_page() != HOMEPAGE_SITE) { // 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(); @@ -111,215 +99,27 @@ $PAGE->set_heading($SITE->fullname); $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 '

'; - echo "$stractivityclipboard  ("; - echo get_string('cancel') . ')'; - echo '

'; - } - - $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 "id\">" . $OUTPUT->pix_icon('t/edit', $streditsummary) . - "

"; - } - - $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 '
'; -} if ($editing && has_capability('moodle/course:create', context_system::instance())) { echo $courserenderer->add_new_course_button(); }