wwwroot/$CFG->admin/index.php"); } if ($CFG->forcelogin) { require_login(); } if (isadmin()) { if (moodle_needs_upgrading()) { redirect("$CFG->wwwroot/$CFG->admin/index.php"); } } if (empty($USER->id)) { $loginstring = "wwwroot/login/index.php\">".get_string("login").""; } else { $loginstring = "".user_login_string($site).""; } if (empty($CFG->langmenu)) { $langmenu = ""; } else { $currlang = current_language(); $langs = get_list_of_languages(); $langmenu = popup_form ("$CFG->wwwroot/index.php?lang=", $langs, "chooselang", $currlang, "", "", "", true); } print_header(strip_tags($site->fullname), "$site->fullname", "home", "", "summary))."\">", true, "", "$loginstring$langmenu"); $editing = isediting($site->id); $courseformat = COURSE_FORMAT_SITE; // Doing this now so we can pass the results to block_action() // and dodge the overhead of doing the same work twice. $blocks = $site->blockinfo; $delimpos = strpos($blocks, ':'); if($delimpos === false) { // No ':' found, we have all left blocks $leftblocks = explode(',', $blocks); $rightblocks = array(); } else if($delimpos === 0) { // ':' at start of string, we have all right blocks $blocks = substr($blocks, 1); $leftblocks = array(); $rightblocks = explode(',', $blocks); } else { // Both left and right blocks $leftpart = substr($blocks, 0, $delimpos); $rightpart = substr($blocks, $delimpos + 1); $leftblocks = explode(',', $leftpart); $rightblocks = explode(',', $rightpart); } if($editing) { if (isset($_GET['blockaction'])) { if (isset($_GET['blockid'])) { block_action($site, $leftblocks, $rightblocks, strtolower($_GET['blockaction']), intval($_GET['blockid'])); } } // This has to happen after block_action() has possibly updated the two arrays $allblocks = array_merge($leftblocks, $rightblocks); $missingblocks = array(); $recblocks = get_records('blocks','visible','1'); // Note down which blocks are going to get displayed blocks_used($allblocks, $recblocks); if($editing && $recblocks) { foreach($recblocks as $recblock) { // If it's not hidden or displayed right now... if(!in_array($recblock->id, $allblocks) && !in_array(-($recblock->id), $allblocks)) { // And if it's applicable for display in this format... if(block_method_result($recblock->name, 'applicable_formats') & $courseformat) { // Add it to the missing blocks $missingblocks[] = $recblock->id; } } } } } else { // Note down which blocks are going to get displayed $allblocks = array_merge($leftblocks, $rightblocks); $recblocks = get_records('blocks','visible','1'); blocks_used($allblocks, $recblocks); } // If the block width cache is not set, set it if(!isset($SESSION->blockcache->width->{$site->id}) || $editing) { // This query might be optimized away if we 're in editing mode if(!isset($recblocks)) { $recblocks = get_records('blocks','visible','1'); } $preferred_width_left = blocks_preferred_width($leftblocks, $recblocks); $preferred_width_right = blocks_preferred_width($rightblocks, $recblocks); // This may be kind of organizational overkill, granted... // But is there any real need to simplify the structure? $SESSION->blockcache->width->{$site->id}->left = $preferred_width_left; $SESSION->blockcache->width->{$site->id}->right = $preferred_width_right; } else { $preferred_width_left = $SESSION->blockcache->width->{$site->id}->left; $preferred_width_right = $SESSION->blockcache->width->{$site->id}->right; } ?>
';
switch ($CFG->frontpage) { /// Display the main part of the front page.
case FRONTPAGENEWS:
if (! $newsforum = forum_get_course_forum($site->id, "news")) {
error("Could not find or create a main news forum for the site");
}
if (isset($USER->id)) {
$SESSION->fromdiscussion = "$CFG->wwwroot";
if (forum_is_subscribed($USER->id, $newsforum->id)) {
$subtext = get_string("unsubscribe", "forum");
} else {
$subtext = get_string("subscribe", "forum");
}
$headertext = "
| ';
if(block_have_active($rightblocks) || $editing || isadmin()) {
echo '';
if (isadmin()) {
echo ' '.update_course_icon($site->id).' ';
echo ''; } print_course_blocks($site, $rightblocks, BLOCK_RIGHT); if ($editing && !empty($missingblocks)) { block_print_blocks_admin($site->id, $missingblocks); } echo ' | ';
}
?>