if(is_bool($users) && is_bool($groups) && is_bool($courses)) {
return false;
}
-
if(is_array($users) && !empty($users)) {
// Events from a number of users
if(!empty($whereclause)) $whereclause .= ' OR';
if(!empty($whereclause)) $whereclause .= ' OR';
$whereclause .= ' userid != 0 AND courseid = 0 AND groupid = 0';
}
+ else if($users === false) {
+ // No user at all
+ if(!empty($whereclause)) {
+ $whereclause .= ' OR';
+ }
+ $whereclause .= ' 0';
+ }
if(is_array($groups) && !empty($groups)) {
// Events from a number of groups
if(!empty($whereclause)) $whereclause .= ' OR';
if(!empty($whereclause)) $whereclause .= ' OR ';
$whereclause .= ' groupid != 0';
}
- if(is_array($courses) && !empty($courses)) {
- // A number of courses
- if(!empty($whereclause)) $whereclause .= ' OR';
- $whereclause .= ' groupid = 0 AND courseid IN ('.implode(',', $courses).')';
+ if(is_array($courses)) {
+ // A number of courses (maybe none at all!)
+ if(!empty($courses)) {
+ if(!empty($whereclause)) {
+ $whereclause .= ' OR';
+ }
+ $whereclause .= ' groupid = 0 AND courseid IN ('.implode(',', $courses).')';
+ }
+ else {
+ // This means NO courses, not that we don't care!
+ if(!empty($whereclause)) {
+ $whereclause .= ' OR';
+ }
+ $whereclause .= ' 0';
+ }
}
else if(is_numeric($courses)) {
// One course
// Just basic time filtering
$whereclause = $timeclause;
}
+
return $whereclause;
}
$content .= '<td style="width: 8px;"></td><td><a href="'.CALENDAR_URL.'set.php?var=showcourses'.$getvars.'" title="'.get_string('tt_showcourse', 'calendar').'">'.get_string('courseevents', 'calendar').'</a></td>'."\n";
}
- if(!isguest($USER->id)) {
+ if(!empty($USER) && !isguest($USER->id)) {
$content .= "</tr>\n<tr>";
if($groupevents) {
function calendar_edit_event_allowed($event) {
global $USER;
+ if(empty($USER) || isguest($USER->id)) {
+ return false;
+ }
+
if (isadmin($USER->id)) return true; // Admins are allowed anything
if ($event->courseid > 1) {
global $CFG, $USER;
// Guests have no preferences
- if (empty($USER->id) or isguest()) {
+ if (empty($USER->id) || isguest()) {
return '';
}
require_once('../config.php');
require_once('../course/lib.php');
-
- require_login();
-
require_once('lib.php');
optional_variable($_GET['view'], 'upcoming');
}
}
- if(isguest($USER->id)) {
+ if(empty($USER) || isguest($USER->id)) {
$defaultcourses = calendar_get_default_courses();
calendar_set_filters($courses, $groups, $users, $defaultcourses, $defaultcourses);
}
$events = calendar_get_upcoming($courses, $groups, $users, 1, 100, $starttime);
// New event button
- if (isguest()) {
+ if (empty($USER) || isguest()) {
$text = get_string('dayview', 'calendar').': '.calendar_course_filter_selector($getvars);
} else {
calendar_events_by_day($events, $display->tstart, $eventsbyday, $durationbyday, $typesbyday);
// New event button
- if(isguest()) {
+ if(empty($USER) || isguest()) {
$text = get_string('detailedmonthview', 'calendar').': '.calendar_course_filter_selector($getvars);
}
else {
echo "</tr>\n";
- if(!isguest($USER->id)) {
+ if(!empty($USER) && !isguest($USER->id)) {
echo '<tr>';
// Group events
if($SESSION->cal_show_groups) {
$events = calendar_get_upcoming($courses, $groups, $users, $futuredays, $maxevents);
// New event button
- if(isguest()) {
+ if(empty($USER) || isguest()) {
$text = get_string('upcomingevents', 'calendar').': '.calendar_course_filter_selector('from=upcoming');
} else {
function calendar_course_filter_selector($getvars = '') {
global $USER, $SESSION;
- if (isguest($USER->id)) {
+ if (empty($USER) || isguest($USER->id)) {
return '';
}