/** * Get a list of modules the current user has access to. * * @return array of staff module that this user has access to. */ public function get_staff_accessable_modules($additional_mods = array()) { $staff_modules_list = array(); $staff_modules_sql = implode(',', array_keys($this->get_staff_modules())); $default_modules = array_keys($this->get_staff_modules()); $new_array = array_merge($default_modules, $additional_mods); $staff_modules_sql = implode(',', array_unique($new_array)); if ($staff_modules_sql != '' or $this->has_role(array('SysAdmin', 'Admin'))) { if ($this->has_role('SysAdmin')) { $sql = "SELECT DISTINCT modules.id, moduleid, fullname, school FROM modules, schools WHERE modules.schoolid = schools.id AND active = 1 AND mod_deleted IS NULL ORDER BY school, moduleID"; } elseif ($this->has_role('Admin')) { $schoolIDs = implode(',', SchoolUtils::get_admin_schools($this->userID, $this->db)); if ($schoolIDs != '') { $sql = "(SELECT DISTINCT modules.id, moduleid, fullname, school FROM modules, schools WHERE modules.schoolid = schools.id AND modules.id IN ({$staff_modules_sql}) AND active = 1 AND mod_deleted IS NULL) UNION (SELECT DISTINCT modules.id, moduleid, fullname, school FROM modules, schools WHERE modules.schoolid = schools.id AND schoolid IN ({$schoolIDs}) AND active = 1 AND mod_deleted IS NULL) ORDER BY school, moduleID"; } elseif ($staff_modules_sql != '') { $sql = "SELECT DISTINCT modules.id, moduleid, fullname, school FROM modules, schools WHERE modules.schoolid = schools.id AND modules.id IN ({$staff_modules_sql}) AND active = 1 AND mod_deleted IS NULL ORDER BY school, moduleID"; } else { // Admin is not on any Schools or Modules. return $staff_modules_list; } } else { $sql = "SELECT DISTINCT modules.id, moduleid, fullname, school FROM modules, schools WHERE modules.schoolid = schools.id AND modules.id IN ({$staff_modules_sql}) AND active = 1 AND mod_deleted IS NULL ORDER BY school, moduleID"; } if (isset($sql)) { $result = $this->db->prepare($sql); $result->execute(); $result->bind_result($idMod, $moduleid, $fullname, $school); while ($result->fetch()) { $staff_modules_list[$idMod]['school'] = $school; $staff_modules_list[$idMod]['id'] = $moduleid; $staff_modules_list[$idMod]['idMod'] = $idMod; $staff_modules_list[$idMod]['fullname'] = $fullname; } $result->close(); } } return $staff_modules_list; }
$old_year = $user_modules[$i]['calendar_year']; } ?> </table> <?php if ($tab == 'admin') { echo "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" id=\"Admin_tab\" style=\"width:100%\">\n"; } else { echo "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" id=\"Admin_tab\" style=\"width:100%; display:none\">\n"; } echo "<form name=\"accessibility\" action=\"" . $_SERVER['PHP_SELF'] . "?userID={$userID}&tab=admin\" method=\"post\">"; echo drawTabs('Admin', 1, '', $user_details['roles'], $bg_color, $string); echo "<tr><td class=\"coltitle\"> </td></tr>\n"; echo "<tr><td><table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"width:100%\">\n"; $current_schools = SchoolUtils::get_admin_schools($userID, $mysqli); $old_faculty = ''; $admin_school_no = 0; $results = $mysqli->prepare("SELECT schools.id, faculty.name, school FROM schools, faculty WHERE schools.facultyID = faculty.id ORDER BY faculty.name, school"); $results->execute(); $results->bind_result($schoolID, $faculty, $school); while ($results->fetch()) { if ($old_faculty != $faculty) { echo '<tr><td colspan="2"><table border="0" style="padding-top:5px; width:100%; color:#1E3287"><tr><td><nobr>' . $faculty . '</nobr></td><td style="width:98%"><hr noshade="noshade" style="border:0px; height:1px; color:#E5E5E5; background-color:#E5E5E5; width:100%" /></td></tr></table></td></tr>'; } if (!$userObject->has_role('SysAdmin')) { if (in_array($schoolID, $current_schools)) { echo "<tr><td style=\"padding-left:20px\">{$school}</td></tr>\n"; } } else { echo '<tr><td class="sch_check">';