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)) { if (empty($CFG->loginhttps)) { $wwwroot = $CFG->wwwroot; } else { $wwwroot = str_replace('http','https',$CFG->wwwroot); } $loginstring = "".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; } $preferred_width_left = min($preferred_width_left, BLOCK_L_MAX_WIDTH); $preferred_width_left = max($preferred_width_left, BLOCK_L_MIN_WIDTH); $preferred_width_right = min($preferred_width_right, BLOCK_R_MAX_WIDTH); $preferred_width_right = max($preferred_width_right, BLOCK_R_MIN_WIDTH); ?>
';
/// Print Section
if ($site->numsections > 0) {
echo "
| ';
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, $missingblocks); } echo ' | ';
}
?>