// //
/////////////////////////////////////////////////////////////////////////////
- require_once('../config.php');
- require_once('lib.php');
+ require_once('../config.php');
+ require_once('lib.php');
- require_login();
+ require_login();
- require_variable($_GET['from']);
- require_variable($_GET['var']);
- optional_variable($_GET['value']);
- optional_variable($_GET['id']);
- optional_variable($_GET['cal_d']);
- optional_variable($_GET['cal_m']);
- optional_variable($_GET['cal_y']);
+ require_variable($_GET['from']);
+ require_variable($_GET['var']);
+ optional_variable($_GET['value']);
+ optional_variable($_GET['id']);
+ optional_variable($_GET['cal_d']);
+ optional_variable($_GET['cal_m']);
+ optional_variable($_GET['cal_y']);
- switch($_GET['var']) {
- case 'setcourse':
- $id = intval($_GET['id']);
- if($id == 0) {
- $SESSION->cal_courses_shown = array();
- }
- else if($id == 1) {
- $SESSION->cal_courses_shown = calendar_get_default_courses(true);
- }
- else {
- // We don't check for membership anymore: if(isstudent($id, $USER->id) || isteacher($id, $USER->id)) {
- $SESSION->cal_courses_shown = $id;
- }
- break;
- case 'showgroups':
- $SESSION->cal_show_groups = !$SESSION->cal_show_groups;
- break;
- case 'showcourses':
- $SESSION->cal_show_course = !$SESSION->cal_show_course;
- break;
- case 'showglobal':
- $SESSION->cal_show_global = !$SESSION->cal_show_global;
- break;
- case 'showuser':
- if($SESSION->cal_show_user) {
- $SESSION->cal_show_user = false;
- }
- else {
- $SESSION->cal_show_user = $USER->id;
- }
- break;
- }
+ switch($_GET['var']) {
+ case 'setcourse':
+ $id = intval($_GET['id']);
+ if($id == 0) {
+ $SESSION->cal_courses_shown = array();
+ }
+ else if($id == 1) {
+ $SESSION->cal_courses_shown = calendar_get_default_courses(true);
+ }
+ else {
+ // We don't check for membership anymore: if(isstudent($id, $USER->id) || isteacher($id, $USER->id)) {
+ $SESSION->cal_courses_shown = $id;
+ }
+ break;
+ case 'showgroups':
+ $SESSION->cal_show_groups = !$SESSION->cal_show_groups;
+ break;
+ case 'showcourses':
+ $SESSION->cal_show_course = !$SESSION->cal_show_course;
+ break;
+ case 'showglobal':
+ $SESSION->cal_show_global = !$SESSION->cal_show_global;
+ break;
+ case 'showuser':
+ if($SESSION->cal_show_user) {
+ $SESSION->cal_show_user = false;
+ }
+ else {
+ $SESSION->cal_show_user = $USER->id;
+ }
+ break;
+ }
- switch($_GET['from']) {
- case 'prefs':
- redirect($CFG->wwwroot.'/calendar/preferences.php?edit='.$_GET['pref']);
- break;
- case 'month':
- redirect($CFG->wwwroot.'/calendar/view.php?view=month&cal_d='.$_GET['cal_d'].'&cal_m='.$_GET['cal_m'].'&cal_y='.$_GET['cal_y']);
- break;
- case 'upcoming':
- redirect($CFG->wwwroot.'/calendar/view.php?view=upcoming&cal_d='.$_GET['cal_d'].'&cal_m='.$_GET['cal_m'].'&cal_y='.$_GET['cal_y']);
- break;
- case 'event':
- redirect($CFG->wwwroot.'/calendar/view.php?view=event&id='.$_GET['id']);
- break;
- case 'day':
- redirect($CFG->wwwroot.'/calendar/view.php?view=day&cal_d='.$_GET['cal_d'].'&cal_m='.$_GET['cal_m'].'&cal_y='.$_GET['cal_y']);
- break;
- case 'course':
- redirect($CFG->wwwroot.'/course/view.php?id='.intval($_GET['id']));
- break;
- default:
+ switch($_GET['from']) {
+ case 'prefs':
+ redirect($CFG->wwwroot.'/calendar/preferences.php?edit='.$_GET['pref']);
+ break;
+ case 'month':
+ redirect($CFG->wwwroot.'/calendar/view.php?view=month&cal_d='.$_GET['cal_d'].'&cal_m='.$_GET['cal_m'].'&cal_y='.$_GET['cal_y']);
+ break;
+ case 'upcoming':
+ redirect($CFG->wwwroot.'/calendar/view.php?view=upcoming&cal_d='.$_GET['cal_d'].'&cal_m='.$_GET['cal_m'].'&cal_y='.$_GET['cal_y']);
+ break;
+ case 'event':
+ redirect($CFG->wwwroot.'/calendar/view.php?view=event&id='.$_GET['id']);
+ break;
+ case 'day':
+ redirect($CFG->wwwroot.'/calendar/view.php?view=day&cal_d='.$_GET['cal_d'].'&cal_m='.$_GET['cal_m'].'&cal_y='.$_GET['cal_y']);
+ break;
+ case 'course':
+ redirect($CFG->wwwroot.'/course/view.php?id='.intval($_GET['id']));
+ break;
+ default:
- }
+ }
?>
calendar_set_filters($courses, $groups, $users, $defaultcourses, $defaultcourses);
}
else {
- if($_GET['view'] == 'upcoming') {
- $defaultcourses = calendar_get_default_courses();
- calendar_set_filters($courses, $groups, $users, $defaultcourses, $defaultcourses, false);
- }
- else {
- calendar_set_filters($courses, $groups, $users);
- }
+ calendar_set_filters($courses, $groups, $users);
}
// Let's see if we are supposed to provide a referring course link
print_side_block_start(get_string('monthlyview', 'calendar'), '', 'sideblockmain');
list($prevmon, $prevyr) = calendar_sub_month($mon, $yr);
list($nextmon, $nextyr) = calendar_add_month($mon, $yr);
- $getvars = 'from=month&cal_d='.$day.'&cal_m='.$mon.'&cal_y='.$yr; // For filtering
+ $getvars = 'cal_d='.$day.'&cal_m='.$mon.'&cal_y='.$yr; // For filtering
echo calendar_filter_controls($_GET['view'], $getvars);
echo '<p>';
echo calendar_top_controls('display', array('m' => $prevmon, 'y' => $prevyr));
list($d, $m, $y) = array(intval($now['mday']), intval($now['mon']), intval($now['year']));
}
+ $getvars = 'from=day&cal_d='.$d.'&cal_m='.$m.'&cal_y='.$y; // For filtering
+
$starttime = make_timestamp($y, $m, $d);
$endtime = $starttime + SECS_IN_DAY - 1;
$whereclause = calendar_sql_where($starttime, $endtime, $users, $groups, $courses);
// New event button
if(isguest()) {
- $text = get_string('dayview', 'calendar');
+ $text = get_string('dayview', 'calendar').': '.calendar_course_filter_selector($getvars);
}
else {
- $text = '<div style="float: left;">'.get_string('dayview', 'calendar').'</div><div style="float: right;">';
+ $text = '<div style="float: left;">'.get_string('dayview', 'calendar').': '.calendar_course_filter_selector($getvars).'</div><div style="float: right;">';
$text.= '<form style="display: inline;" action="'.CALENDAR_URL.'event.php" method="get">';
$text.= '<input type="hidden" name="action" value="new" />';
$text.= '<input type="hidden" name="cal_m" value="'.$m.'" />';
// New event button
if(isguest()) {
- $text = get_string('detailedmonthview', 'calendar');
+ $text = get_string('detailedmonthview', 'calendar').': '.calendar_course_filter_selector($getvars);
}
else {
- $text = '<div style="float: left;">'.get_string('detailedmonthview', 'calendar').'</div><div style="float: right;">';
+ $text = '<div style="float: left;">'.get_string('detailedmonthview', 'calendar').': '.calendar_course_filter_selector($getvars).'</div><div style="float: right;">';
$text.= '<form style="display: inline;" action="'.CALENDAR_URL.'event.php" method="get">';
$text.= '<input type="hidden" name="action" value="new" />';
$text.= '<input type="hidden" name="cal_m" value="'.$m.'" />';
print_side_block_start($text, '', 'mycalendar');
- if(isadmin($USER->id)) {
- $coursesdata = get_courses('all', 'c.shortname');
- }
- elseif(!isguest($USER->id)) {
- $coursesdata = get_my_courses($USER->id, 'shortname');
- }
- else {
- $coursesdata = get_record('course', 'id', $SESSION->cal_course_referer);
- }
- $coursesdata = array_diff_assoc($coursesdata, array(1 => 1));
-
- if(!isguest($USER->id)) {
- echo '<p style="text-align: center; margin: 1em;"><strong>'.get_string('eventsfromcourse', 'calendar').': ';
- echo '<select name="course" onchange="document.location.href=\''.CALENDAR_URL.'set.php?var=setcourse&'.$getvars.'&id=\' + this.value;">';
- echo '<option value="1">'.get_string('all')."</option>\n";
- if($coursesdata !== false) {
- foreach($coursesdata as $coursedata) {
- echo "\n<option value='$coursedata->id'";
- if(is_numeric($SESSION->cal_courses_shown) && $coursedata->id == $SESSION->cal_courses_shown) {
- echo ' selected';
- }
- echo '>'.$coursedata->shortname."</option>\n";
- }
- }
- echo '</select></strong></p>';
- }
-
echo calendar_top_controls('month', array('m' => $m, 'y' => $y));
// Start calendar display
return;
}
- print_side_block_start(get_string('upcomingevents', 'calendar'), '', 'mycalendar');
+ print_side_block_start(get_string('upcomingevents', 'calendar').': '.calendar_course_filter_selector('from=upcoming'), '', 'mycalendar');
for($i = 0; $i < $numevents; ++$i) {
echo '<p>';
if(!empty($events[$i]->icon)) {
}
echo '<span class="cal_event">'.$events[$i]->name.":</span>\n";
echo '<span class="cal_event_date">'.$events[$i]->time.'</span>';
- echo '<br />'.$events[$i]->description.'<br />';
+ echo '<div style="margin-top: -1em; padding-left: 20px;">'.$events[$i]->description.'</div>';
if($i < $numevents - 1) {
echo '<hr />';
}
echo "</tbody>\n</table>\n";
}
+
+function calendar_course_filter_selector($getvars = '') {
+ global $USER, $SESSION;
+
+ if(isadmin($USER->id)) {
+ $coursesdata = get_courses('all', 'c.shortname');
+ }
+ elseif(!isguest($USER->id)) {
+ $coursesdata = get_my_courses($USER->id, 'shortname');
+ }
+ else {
+ $coursesdata = get_record('course', 'id', $SESSION->cal_course_referer);
+ }
+ $coursesdata = array_diff_assoc($coursesdata, array(1 => 1));
+
+ $selector = '';
+
+ if(!isguest($USER->id)) {
+ $selector .= '<form method="get" action="set.php" style="display: inline;"><span>';
+ $selector .= '<input type="hidden" name="var" value="setcourse" />';
+ if(!empty($getvars)) {
+ $getarray = explode('&', $getvars);
+ foreach($getarray as $getvar) {
+ $selector .= '<input type="hidden" name="'.strtok($getvar, '=').'" value="'.strtok('=').'" />';
+ }
+ }
+ $selector .= '<select name="id" onchange="form.submit();">';
+ $selector .= '<option value="1">'.get_string('fulllistofcourses')."</option>\n";
+ if($coursesdata !== false) {
+ foreach($coursesdata as $coursedata) {
+ $selector .= "\n<option value='$coursedata->id'";
+ if(is_numeric($SESSION->cal_courses_shown) && $coursedata->id == $SESSION->cal_courses_shown) {
+ $selector .= ' selected';
+ }
+ $selector .= '>'.$coursedata->shortname."</option>\n";
+ }
+ }
+ $selector .= '</select>';
+ $selector .= '<noscript id="cal_noscript" style="display: inline;"> <input type="submit" value="'.get_string('show').'" /></noscript>';
+ $selector .= '<script type="text/javascript">'."\n<!--\n".'document.getElementById("cal_noscript").style.display = "none";'."\n<!--\n".'</script>';
+ $selector .= '</span></form>';
+ }
+
+ return $selector;
+}
+
?>