📄 databasehandler.php
字号:
$utst[$row][1] = $data["navn"]; $utst[$row][2] = $data["descr"]; $row++; } } else { $error = new Error(2); $bruker{'errmsg'}= "Feil med datbasesp酶rring."; } return $utst; } // Denne funksjonen returnerer alle utstyrgrupper som administrator har rettigheter til function listUtstyrAdm($sort) { $utst = NULL; $sorts = array ( 'navn,id', 'ap,navn', 'af,navn'); $querystring = "SELECT * FROM (SELECT DISTINCT ON (id) id, navn, descr, min, Pcount.ap, FCount.afFROM (SELECT id, navn, descr, true AS min FROM Utstyrgruppe WHERE (accountid is null) ) AS Tilgjengelig LEFT OUTER JOIN ( SELECT count(tidsperiodeid) AS ap, utstyrgruppeid FROM ( SELECT DISTINCT ON (utstyrgruppeid,tidsperiodeid) tidsperiodeid, utstyrgruppeid FROM Varsle, Utstyrgruppe WHERE (Utstyrgruppe.accountid is null) AND (Utstyrgruppe.id = Varsle.utstyrgruppeid) ) AS X GROUP BY utstyrgruppeid ) AS PCount ON (id = PCount.utstyrgruppeid) LEFT OUTER JOIN ( SELECT count(utstyrfilterid) AS af, utstyrgruppeid FROM ( SELECT utstyrfilterid, utstyrgruppeid FROM GruppeTilFilter, Utstyrgruppe WHERE (Utstyrgruppe.accountid is null) AND (Utstyrgruppe.id = GruppeTilFilter.utstyrgruppeid) ) AS Y GROUP BY utstyrgruppeid ) AS FCount ON (id = FCount.utstyrgruppeid)) jalla ORDER BY " . $sorts[$sort]; if ( $query = pg_exec($this->connection, $querystring) ) { $tot = pg_numrows($query); $row = 0; while ( $row < $tot) { $data = pg_fetch_array($query, $row, PGSQL_ASSOC); $utst[$row][0] = $data["id"]; $utst[$row][1] = $data["navn"]; $utst[$row][2] = $data["ap"]; $utst[$row][3] = $data["af"]; $utst[$row][4] = $data["min"]; $utst[$row][5] = $data["descr"]; $row++; } } else { $error = new Error(2); $bruker{'errmsg'}= "Feil med datbasesp酶rring."; } return $utst; } // Denne funksjonen returnerer alle utstyrgrupper knyttet til en bestemt periode i en profil function listUtstyrPeriode($uid, $pid, $sort) { $uts = NULL; # $sorts = array ('time, minutt', 'aa, time, minutt', 'au, time, minutt', 'time, minutt'); $querystring = "SELECT DISTINCT ON (id) id, navn, min, Pcount.ap, FCount.af FROM ( SELECT id, navn, descr, true AS min FROM Utstyrgruppe WHERE (accountid = " . addslashes($uid) . ") UNION SELECT Utstyrgruppe.id, Utstyrgruppe.navn, Utstyrgruppe.descr, (Utstyrgruppe.accountid = " . addslashes($uid) . ") AS min FROM Utstyrgruppe, DefaultUtstyr, AccountGroup, AccountInGroup WHERE (AccountInGroup.accountid = " . addslashes($uid) . ") AND (AccountInGroup.groupid = AccountGroup.id) AND (AccountGroup.id = DefaultUtstyr.accountgroupid) AND (DefaultUtstyr.utstyrgruppeid = Utstyrgruppe.id) ) AS Tilgjengelig LEFT OUTER JOIN ( SELECT count(tidsperiodeid) AS ap, utstyrgruppeid FROM ( SELECT DISTINCT tidsperiodeid, utstyrgruppeid FROM Varsle, Tidsperiode, Brukerprofil WHERE (Varsle.tidsperiodeid = Tidsperiode.id) AND (Tidsperiode.brukerprofilid = Brukerprofil.id) AND (Brukerprofil.accountid = " . addslashes($uid) . ") ) AS X GROUP BY utstyrgruppeid) AS PCountON (id = PCount.utstyrgruppeid)LEFT OUTER JOIN ( SELECT count(utstyrfilterid) AS af, utstyrgruppeid FROM ( SELECT utstyrfilterid, utstyrgruppeid FROM GruppeTilFilter, Utstyrgruppe WHERE (Utstyrgruppe.accountid = " . addslashes($uid) . ") AND (Utstyrgruppe.id = GruppeTilFilter.utstyrgruppeid) ) AS Y GROUP BY utstyrgruppeid) AS FCountON (id = FCount.utstyrgruppeid)"; //print "<p>$querystring"; if ( $query = pg_exec($this->connection, $querystring) ) { $tot = pg_numrows($query); $row = 0; while ( $row < $tot) { $data = pg_fetch_array($query, $row, PGSQL_ASSOC); $utst[$row][0] = $data["id"]; $utst[$row][1] = $data["navn"]; $utst[$row][2] = $data["ap"]; $utst[$row][3] = $data["af"]; $utst[$row][4] = $data["min"]; //$utst[$row][5] = $data["ermed"]; $row++; } } else { $error = new Error(2); $bruker{'errmsg'}= "Feil med datbasesp酶rring."; } return $utst; } // Denne funksjonen returenrer alle felles filtere samt default utrstyr knyttet til // brukergruppene. function listGrFilter($uid, $gid, $sort) { $utst = NULL; # $sorts = array ('time, minutt', 'aa, time, minutt', 'au, time, minutt', 'time, minutt'); $querystring = "SELECT id, navn, (def.utstyrfilterid > 0 ) AS default FROM ( SELECT id, navn FROM Utstyrfilter WHERE accountid is null ) AS filter LEFT OUTER JOIN ( SELECT utstyrfilterid FROM DefaultFilter WHERE accountgroupid = " . addslashes($gid) . ") AS def ON (filter.id = def.utstyrfilterid) ORDER BY navn"; //print "<p>$querystring"; if ( $query = @pg_exec($this->connection, $querystring) ) { $tot = pg_numrows($query); $row = 0; while ( $row < $tot) { $data = pg_fetch_array($query, $row, PGSQL_ASSOC); $utst[$row][0] = $data["id"]; $utst[$row][1] = $data["navn"]; $utst[$row][2] = $data["default"]; $row++; } } else { $error = new Error(2); $bruker{'errmsg'}= "Feil med datbasesp酶rring."; } return $utst; } // Denne funksjonen returenrer alle utstyrsgruppene samt rettigheter og default utrstyr knyttet til // brukergruppene. function listGrUtstyr($uid, $gid, $sort) { $uts = NULL; # $sorts = array ('time, minutt', 'aa, time, minutt', 'au, time, minutt', 'time, minutt'); $querystring = "SELECT id, navn, descr, (rett.utstyrgruppeid > 0 ) AS rettighet, (def.utstyrgruppeid > 0 ) AS default FROM ( SELECT id, navn, descr FROM Utstyrgruppe WHERE accountid is null ) AS grupper LEFT OUTER JOIN ( SELECT utstyrgruppeid FROM Rettighet WHERE accountgroupid = " . addslashes($gid) . ") AS rett ON (grupper.id = rett.utstyrgruppeid) LEFT OUTER JOIN ( SELECT utstyrgruppeid FROM DefaultUtstyr WHERE accountgroupid = " . addslashes($gid) . ") AS def ON (grupper.id = def.utstyrgruppeid) ORDER BY navn"; // print "<p>$querystring"; if ( $query = @pg_exec($this->connection, $querystring) ) { $tot = pg_numrows($query); $row = 0; while ( $row < $tot) { $data = pg_fetch_array($query, $row, PGSQL_ASSOC); $utst[$row][0] = $data["id"]; $utst[$row][1] = $data["navn"]; $utst[$row][2] = $data["descr"]; $utst[$row][3] = $data["rettighet"]; $utst[$row][4] = $data["default"]; $row++; } } else { $error = new Error(2); $bruker{'errmsg'}= "Feil med datbasesp酶rring."; } return $utst; } // Hent ut info om en brukerid function brukerInfo($uid) { $br = NULL; $querystring = "SELECT login, name, null as admin, null as sms, activeprofile FROM Account, Preference WHERE id = " . addslashes($uid) . " AND account.id = preference.accountid"; if ( $query = pg_exec($this->connection, $querystring) AND pg_numrows($query) == 1 ) { $data = pg_fetch_array($query, 0, PGSQL_ASSOC); $br[0] = $data["login"]; $br[1] = $data["name"]; $br[2] = $data["admin"]; $br[3] = $data["sms"]; $br[4] = $data["activeprofile"]; } else { $error = new Error(2); $bruker{'errmsg'}= "Feil med datbasesp酶rring."; } return $br; } // Hent ut info om en gruppeid function brukergruppeInfo($gid) { $gr = NULL; $querystring = "SELECT name, descr FROM AccountGroup WHERE id = " . addslashes($gid) ; if ( $query = pg_exec($this->connection, $querystring) AND pg_numrows($query) == 1 ) { $data = pg_fetch_array($query, 0, PGSQL_ASSOC); $gr[0] = $data["name"]; $gr[1] = $data["descr"]; } else { $error = new Error(2); $bruker{'errmsg'}= "Feil med datbases酶rring."; } return $gr; } // Hent ut info om en utstyrsgruppeid function utstyrgruppeInfo($gid) { $gr = NULL; $querystring = "SELECT navn, descr FROM Utstyrgruppe WHERE id = " . addslashes($gid) ;// print "<p>" . $querystring; if ( $query = pg_exec($this->connection, $querystring) AND pg_numrows($query) == 1 ) { $data = pg_fetch_array($query, 0, PGSQL_ASSOC); $gr[0] = $data["navn"]; $gr[1] = $data["descr"]; } else { $error = new Error(2); $bruker{'errmsg'}= "Feil med datbases酶rring."; } return $gr; } // Hent ut info om en utstyrsfilterid function utstyrfilterInfo($fid) { $gr = NULL; $querystring = "SELECT navn FROM Utstyrfilter WHERE id = " . addslashes($fid) ;// print "<p>" . $querystring; if ( $query = pg_exec($this->connection, $querystring) AND pg_numrows($query) == 1 ) { $data = pg_fetch_array($query, 0, PGSQL_ASSOC); $gr[0] = $data["navn"]; } else { $error = new Error(2); $bruker{'errmsg'}= "Feil med datbases酶rring."; } return $gr; } // Hent ut info om en utstyrsgruppeid function utstyrgruppeInfoAdv($gid, $uid) { $gr = NULL; $querystring = "SELECT navn, descr, (accountid = " . $uid . ") AS min FROM Utstyrgruppe WHERE id = " . addslashes($gid) ;// print "<p>" . $querystring; if ( $query = pg_exec($this->connection, $querystring) AND pg_numrows($query) == 1 ) { $data = pg_fetch_array($query, $row, PGSQL_ASSOC); $gr[0] = $data["navn"]; $gr[1] = $data["descr"]; $gr[2] = $data["min"]; } else { $error = new Error(2); $bruker{'errmsg'}= "Feil med datbases酶rring."; } return $gr; } // Hent ut info om en brukerprofil function brukerprofilInfo($pid) { $p = NULL; $querystring = "SELECT navn, ukedag, extract(HOUR FROM uketid) AS uketidh, extract(MINUTE FROM uketid) AS uketidm, extract(HOUR FROM tid) AS tidh, extract(MINUTE FROM tid) AS tidm FROM Brukerprofil WHERE id = " . addslashes($pid) ;// print "<p>" . $querystring; if ( $query = pg_exec($this->connection, $querystring) AND pg_numrows($query) == 1 ) { $data = pg_fetch_array($query, 0, PGSQL_ASSOC); $p[0] = $data["navn"]; $p[1] = $data["ukedag"]; $p[2] = $data["uketidh"]; $p[3] = $data["uketidm"]; $p[4] = $data["tidh"]; $p[5] = $data["tidm"]; } else { $error = new Error(2); $bruker{'errmsg'}= "Feil med datbases酶rring."; } return $p; } // Denne funksjonen returnerer alle filtrene som en Account har tilgang til, // enten man har laget den selv eller den er arvet gjennom DefaultFilter. function listFiltre($uid, $sort) { $utst = NULL; $sorts = array ( 'navn,id', 'min,navn', 'am,navn', 'ag,navn'); $querystring = "SELECT * FROM ( SELECT DISTINCT ON (id) id, navn, min, am, ag FROM ( SELECT id, navn, true AS min FROM Utstyrfilter WHERE (accountid = " . addslashes($uid) . ") UNION SELECT Utstyrfilter.id, Utstyrfilter.navn, (Utstyrfilter.accountid = " . addslashes($uid). ") AS min FROM Utstyrfilter, DefaultFilter, AccountGroup, AccountInGroup WHERE (AccountInGroup.accountid = " . addslashes($uid) . ") AND (AccountInGroup.groupid = AccountGroup.id) AND (AccountGroup.id = DefaultFilter.accountgroupid) AND (DefaultFilter.utstyrfilterid = Utstyrfilter.id) ) AS MineFilter LEFT OUTER JOIN ( SELECT count(mid) AS am, uid FROM ( SELECT FilterMatch.id AS mid, Utstyrfilter.id AS uid FROM Utstyrfilter, FilterMatch WHERE (Utstyrfilter.id = FilterMatch.utstyrfilterid) ) AS Mcount GROUP BY uid ) AS match ON (MineFilter.id = match.uid) LEFT OUTER JOIN ( SELECT count(gid) AS ag, uid FROM ( SELECT GruppeTilFilter.utstyrgruppeid AS gid, Utstyrfilter.id AS uid FROM Utstyrfilter, GruppeTilFilter WHERE (Utstyrfilter.id = GruppeTilFilter.utstyrfilterid) ) AS Gcount GROUP BY uid ) AS grupper ON (MineFilter.id = grupper.uid)) AS jalla ORDER BY " . $sorts[$sort]; // print "<pre>" . $querystring . "</pre>"; if ( $query = pg_exec($this->connection, $querystring) ) { $tot = pg_numrows($query); $row = 0; while ( $row < $tot) { $data = pg_fetch_array($query, $row, PGSQL_ASSOC); $utst[$row][0] = $data["id"];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -