<?php require_once 'uh/web/session.php'; $session = new session("uhsl_login"); ## PERMISSIONS TO ACCESS INTRANET SYSTEMS ## $perm_announcements = isset($session->data['user']['perm_announcements']) ? $session->data['user']['perm_announcements'] : 0; settype($perm_announcements, "integer"); $perm_parking = isset($session->data['user']['perm_parking']) ? $session->data['user']['perm_parking'] : 0; settype($perm_parking, "integer"); $perm_degree = isset($session->data['user']['perm_degree']) ? $session->data['user']['perm_degree'] : 0; settype($perm_degree, "integer"); $perm_icon = isset($session->data['user']['perm_icon']) ? $session->data['user']['perm_icon'] : 0; settype($perm_icon, "integer"); $perm_crime_log = isset($session->data['user']['perm_crime_log']) ? $session->data['user']['perm_crime_log'] : 0; settype($perm_crime_log, "integer"); $perm_room_request = isset($session->data['user']['perm_room_request']) ? $session->data['user']['perm_room_request'] : 0; settype($perm_room_request, "integer"); $perm_space_request = isset($session->data['user']['perm_space_request']) ? $session->data['user']['perm_space_request'] : 0; settype($perm_space_request, "integer"); $perm_open_lab_reservations = isset($session->data['user']['perm_open_lab_reservations']) ? $session->data['user']['perm_open_lab_reservations'] : 0; settype($perm_open_lab_reservations, "integer"); $perm_polls = isset($session->data['user']['perm_polls']) ? $session->data['user']['perm_polls'] : 0; settype($perm_polls, "integer"); $perm_rsvps = isset($session->data['user']['perm_rsvps']) ? $session->data['user']['perm_rsvps'] : 0; settype($perm_rsvps, "integer"); $perm_calendar = isset($session->data['user']['perm_calendar']) ? $session->data['user']['perm_calendar'] : 0; settype($perm_calendar, "integer"); $perm_photos = isset($session->data['user']['perm_photos']) ? $session->data['user']['perm_photos'] : 0; settype($perm_photos, "integer"); $perm_aliases = isset($session->data['user']['perm_aliases']) ? $session->data['user']['perm_aliases'] : 0; settype($perm_aliases, "integer"); $perm_dashboard = isset($session->data['user']['perm_dashboard']) ? $session->data['user']['perm_dashboard'] : 0; settype($perm_dashboard, "integer"); ## FUTURE PERMISSION FUNCTIONS SETUP ## // Sufficient permission -> return false so page continues to process/load // Insufficient permission -> return true so page redirects and generates error message // functions updated // -crime_log // -faculty_staff // -announcements (second one) function check_announcement_permission($level) { global $session, $perm_announcements; switch ($level) { case 2: return ($perm_announcements == 2) ? false : true; break; default: return (($perm_announcements < 1 && $perm_announcements > 2) || is_null($perm_announcements)) ? false : true; } } function check_announcements_permission($level) { global $perm_announcements; switch ($level) { case 2: return ($perm_announcements == 2) ? false : true; break; default: return ($perm_announcements == 1 || $perm_announcements == 2) ? false : true; } } function check_parking_permission() { global $session, $perm_parking; return (($perm_parking < 1 && $perm_parking > 3) || is_null($perm_parking)) ? false : true; } function check_degree_permission($level) { global $session, $perm_degree; switch ($level) { case 3: return ($perm_degree == 3) ? false : true; break; case 2: return ($perm_degree == 2 || $perm_degree == 3) ? false : true; break; default: return ($perm_degree == 1 || $perm_degree == 2 || $perm_degree == 3) ? false : true; } } function check_icon_permission($level) { global $perm_icon; switch ($level) { case 2: return ($perm_icon == 2) ? false : true; break; default: return ($perm_icon >= 1 && $perm_icon <= 2) ? false : true; } } function check_crime_log_permission($level) { global $perm_crime_log; switch ($level) { case 3: return ($perm_crime_log == 3) ? false : true; break; case 2: return ($perm_crime_log == 2 || $perm_crime_log == 3) ? false : true; break; default: return ($perm_crime_log == 1 || $perm_crime_log == 2 || $perm_crime_log == 3) ? false : true; } } function check_faculty_staff_permission() { global $session; return (!$session->data['user']['affiliation']['staff'] && !$session->data['user']['affiliation']['faculty']) ? true : false; } function check_faculty_staff_sponsored_permission() { global $session; return (!$session->data['user']['affiliation']['staff'] && !$session->data['user']['affiliation']['faculty'] && !$session->data['user']['affiliation']['sponsored']) ? true : false; } function check_student_permission() { global $session; return ($session->data['user']['affiliation']['student']) ? false : true; } function check_dashboard_permission() { global $perm_dashboard; return ($perm_dashboard) ? false : true; } function check_room_request_permission($level) { global $perm_room_request; switch ($level) { case 3: return ($perm_room_request == 3) ? false : true; break; case 2: return ($perm_room_request == 2 || $perm_room_request == 3) ? false : true; break; default: return ($perm_room_request == 1 || $perm_room_request == 2 || $perm_room_request == 3) ? false : true; } } function check_space_request_permission($level) { global $perm_space_request; switch ($level) { ## DEVELOPER PERMISSION ## // SYSTEM AND VIEW ACCESS case 24: return ($perm_space_request == 24) ? false : true; break; ## SYSTEM PERMISSIONS ## // UNUSED case 23: return true; // return ($perm_space_request == 23 || $perm_space_request == 24) ? false : true; break; // GRANT/EDIT PERMISSION ACCESS case 22: // return ($perm_space_request >= 22 && $perm_space_request <= 24) ? false : true; return ($perm_space_request == 22 || $perm_space_request == 24) ? false : true; break; // CHANGE FORM OPTIONS case 21: // return ($perm_space_request >= 21 && $perm_space_request <= 24) ? false : true; return ($perm_space_request == 21 || $perm_space_request == 22 || $perm_space_request == 24) ? false : true; break; ## EDIT PERMISSIONS ## // SPECIFIC DIFFERENCES MUST BE HANDLED WITHIN THE PAGE case 20: case 19: case 18: return ($perm_space_request >= 18 && $perm_space_request <= 24) ? false : true; break; case 17: case 16: case 15: case 14: case 13: case 12: return ($perm_space_request >= 12 && $perm_space_request <= 22) ? false : true; break; // UNUSED case 11: return true; break; ## VIEW ONLY PERMISSIONS ## // VIEW ALL AND STATISTICS case 10: return ($perm_space_request >= 10 && $perm_space_request <= 24 && $perm_space_request != 11) ? false : true; break; // UNUSED case 9: return true; break; // VIEW ALL // SPECIFIC DIFFERENCES MUST BE HANDLED WITHIN THE PAGE case 8: case 7: case 6: return ($perm_space_request >= 6 && $perm_space_request <= 24 && $perm_space_request != 9 && $perm_space_request != 11) ? false : true; break; // VIEW SELECT REQUESTS // SPECIFIC DIFFERENCES MUST BE HANDLED WITHIN THE PAGE case 5: case 4: case 3: case 2: case 1: return ($perm_space_request >= 1 && $perm_space_request <= 24 && $perm_space_request != 9 && $perm_space_request != 11) ? false : true; break; default: return true; } } function check_open_lab_reservations_permission($level) { global $perm_open_lab_reservations; switch ($level) { case 2: return ($perm_open_lab_reservations == 2) ? false : true; break; default: return ($perm_open_lab_reservations == 1 || $perm_open_lab_reservations == 2) ? false : true; } } function check_polls_permission($level) { global $perm_polls; switch ($level) { case 2: return ($perm_polls == 2) ? false : true; break; default: return ($perm_polls == 1 || $perm_polls == 2) ? false : true; } } function check_rsvps_permission($level) { global $perm_rsvps; switch ($level) { case 2: return ($perm_rsvps == 2) ? false : true; break; default: return ($perm_rsvps == 1 || $perm_rsvps == 2) ? false : true; } } function check_calendar_permission($level = null) { global $perm_calendar; switch ($level) { case 4: return ($perm_calendar == 4 || $perm_calendar == 1) ? false : true; break; case 3: return ($perm_calendar == 3 || $perm_calendar == 1) ? false : true; break; case 2: return ($perm_calendar == 2 || $perm_calendar == 1) ? false : true; break; case 1: return ($perm_calendar == 1) ? false : true; break; default: return ($perm_calendar >= 1) ? false : true; } } function check_photos_permission($level = null) { global $perm_photos; switch ($level) { case 3: return ($perm_photos == 3) ? false : true; break; case 2: return ($perm_photos == 2 || $perm_photos == 3) ? false : true; break; default: return ($perm_photos == 1 || $perm_photos == 2 || $perm_photos == 3) ? false : true; } } function check_aliases_permission($level = null) { global $perm_aliases; switch ($level) { case 3: return ($perm_aliases == 3) ? false : true; break; case 2: return ($perm_aliases == 2 || $perm_aliases == 3) ? false : true; break; default: return ($perm_aliases == 1 || $perm_aliases == 2 || $perm_aliases == 3) ? false : true; } }