Ejemplo n.º 1
0
 /**
  * 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;
 }
Ejemplo n.º 2
0
    $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\">&nbsp;</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">';