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", "", "", true, "", "$loginstring$langmenu"); $editing = isediting($site->id); // 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... $formats = block_method_result($recblock->name, 'applicable_formats'); if( isset($formats['site']) ? $formats['site'] : !empty($formats['all'])) { // Translation: if the 'site' format is explicitly accepted/rejected, use // that setting. Otherwise, fallback to the 'all' format. The empty() test // uses the trick that empty() fails if 'all' is either !isset() or false. // 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) or !isset($SESSION->blockcache) or !isset($SESSION->blockcache->width->{$site->id}) or $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); ?>
|
Dr. Raymond Lewis has devised a method called the Dream School Protocol, whereby you can determine your Shadow and your Dream Profile and, based on it, create a custom tailored self-improvement program to help you achieve your specific needs, goals, and desires. The Dream School Protocol is safe, easy to learn, and simple to use. In the Dream School Basics program, you learn how to stimulate, remember, interpret, and program your dreams. Unique programs are available in ten focus areas, including:
We can help you create a custom tailored Dream School Program designed to meet your specific needs, goals, and desires by enrolling in Dream School Basics. This program requires you to decide on a specific goal, any a few questions, and based on your answers we will design a program tailored specifically for you. Or, you can learn how to design a Dream School Basics program yourself by ordering a copy of Dream School: the Keys to Life and the Secrets of the Universe. Dr. Lewis and his team are actively writing this book right now and we are accepting prepublication orders. In this groundbreaking book, we present a bold, new perspective on dreams and how to use them. The book presents a multitude of tips, tools, and techniques along with checklists, tables, and figures. Join the millions of people who are interested in dreams and how they can be used to improve their life. The Dream School is the place to learn how. |