Updated the 19 build version to 20080915
[moodle.git] / my / index.php
blob449a9541e6adb00d2576c52555d68bd755c1befa
1 <?php // $Id$
3 // this is the 'my moodle' page
5 require_once('../config.php');
6 require_once($CFG->libdir.'/blocklib.php');
7 require_once($CFG->dirroot.'/course/lib.php');
8 require_once('pagelib.php');
10 require_login();
12 $mymoodlestr = get_string('mymoodle','my');
14 if (isguest()) {
15 $wwwroot = $CFG->wwwroot.'/login/index.php';
16 if (!empty($CFG->loginhttps)) {
17 $wwwroot = str_replace('http:','https:', $wwwroot);
20 print_header($mymoodlestr);
21 notice_yesno(get_string('noguest', 'my').'<br /><br />'.get_string('liketologin'),
22 $wwwroot, $CFG->wwwroot);
23 print_footer();
24 die();
28 $edit = optional_param('edit', -1, PARAM_BOOL);
29 $blockaction = optional_param('blockaction', '', PARAM_ALPHA);
31 $PAGE = page_create_instance($USER->id);
33 $pageblocks = blocks_setup($PAGE,BLOCKS_PINNED_BOTH);
35 if (($edit != -1) and $PAGE->user_allowed_editing()) {
36 $USER->editing = $edit;
39 $PAGE->print_header($mymoodlestr);
41 echo '<table id="layout-table">';
42 echo '<tr valign="top">';
44 $lt = (empty($THEME->layouttable)) ? array('left', 'middle', 'right') : $THEME->layouttable;
45 foreach ($lt as $column) {
46 switch ($column) {
47 case 'left':
49 $blocks_preferred_width = bounded_number(180, blocks_preferred_width($pageblocks[BLOCK_POS_LEFT]), 210);
51 if(blocks_have_content($pageblocks, BLOCK_POS_LEFT) || $PAGE->user_is_editing()) {
52 echo '<td style="vertical-align: top; width: '.$blocks_preferred_width.'px;" id="left-column">';
53 print_container_start();
54 blocks_print_group($PAGE, $pageblocks, BLOCK_POS_LEFT);
55 print_container_end();
56 echo '</td>';
59 break;
60 case 'middle':
62 echo '<td valign="top" id="middle-column">';
63 print_container_start(TRUE);
65 /// The main overview in the middle of the page
67 // limits the number of courses showing up
68 $courses = get_my_courses($USER->id, 'visible DESC,sortorder ASC', '*', false, 21);
69 $site = get_site();
70 $course = $site; //just in case we need the old global $course hack
72 if (array_key_exists($site->id,$courses)) {
73 unset($courses[$site->id]);
76 foreach ($courses as $c) {
77 if (isset($USER->lastcourseaccess[$c->id])) {
78 $courses[$c->id]->lastaccess = $USER->lastcourseaccess[$c->id];
79 } else {
80 $courses[$c->id]->lastaccess = 0;
84 if (empty($courses)) {
85 print_simple_box(get_string('nocourses','my'),'center');
86 } else {
87 print_overview($courses);
90 // if more than 20 courses
91 if (count($courses) > 20) {
92 echo '<br />...';
95 print_container_end();
96 echo '</td>';
98 break;
99 case 'right':
101 $blocks_preferred_width = bounded_number(180, blocks_preferred_width($pageblocks[BLOCK_POS_RIGHT]), 210);
103 if (blocks_have_content($pageblocks, BLOCK_POS_RIGHT) || $PAGE->user_is_editing()) {
104 echo '<td style="vertical-align: top; width: '.$blocks_preferred_width.'px;" id="right-column">';
105 print_container_start();
106 blocks_print_group($PAGE, $pageblocks, BLOCK_POS_RIGHT);
107 print_container_end();
108 echo '</td>';
110 break;
114 /// Finish the page
115 echo '</tr></table>';
117 print_footer();