2014-08-08 00:04:47 +00:00
|
|
|
<?php
|
|
|
|
require_once("mysqlConnect.php");
|
|
|
|
|
|
|
|
class userManager {
|
|
|
|
static public function getUserById ($ID) {
|
|
|
|
global $db;
|
|
|
|
return $db->query("SELECT * FROM `users` WHERE `ID`=" . $ID)->fetch_object();
|
|
|
|
}
|
2014-08-08 15:05:10 +00:00
|
|
|
static public function getGroupById($id) {
|
|
|
|
global $db;
|
|
|
|
return $db->query("SELECT * FROM `groups` WHERE `ID`=" . $id)->fetch_object();
|
|
|
|
}
|
|
|
|
static public function getGroupsByUserId($ID) {
|
|
|
|
global $db;
|
|
|
|
$tmp = $db->query("SELECT
|
|
|
|
`groups`.`ID` AS `ID`,
|
|
|
|
`groups`.`name` AS `name`
|
|
|
|
FROM `groupMemberships`
|
|
|
|
INNER JOIN `groups` ON `groups`.`ID`=`groupMemberships`.`groupFK`
|
|
|
|
WHERE `userFK`=" . $ID . "
|
|
|
|
UNION SELECT
|
|
|
|
`groups`.`ID` AS `ID`,
|
|
|
|
`groups`.`name` AS `name`
|
|
|
|
FROM `users`
|
|
|
|
INNER JOIN `groups` ON `users`.`groupFK`=`groups`.`ID`
|
|
|
|
WHERE `users`.`ID`=" . $ID);
|
|
|
|
$result = array();
|
|
|
|
while ($res = $tmp->fetch_object())
|
|
|
|
$result[] = $res;
|
|
|
|
return $result;
|
|
|
|
}
|
|
|
|
static public function userIdHasGroupId ($uid, $gid) {
|
|
|
|
$array = userManager::getGroupsByUserId($uid);
|
|
|
|
for ($i = 0; $i < count($array); $i++) {
|
|
|
|
if ($array[$i]->ID == $gid)
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
}
|
2014-08-08 00:04:47 +00:00
|
|
|
static public function getIdByUsername ($username) {
|
|
|
|
global $db;
|
|
|
|
return $db->query("SELECT `ID` FROM `users` WHERE `name`='" . $db->real_escape_string($username) . "'")->fetch_object()->ID;
|
|
|
|
}
|
2014-08-08 15:05:10 +00:00
|
|
|
static public function getRightsOnFile($uid, $file) {
|
|
|
|
if ($uid == $file->userFK)
|
|
|
|
return $file->rightsUser;
|
|
|
|
if (userManager::userIdHasGroupId($uid, $file->groupFK))
|
|
|
|
return $file->rightsGroup;
|
|
|
|
return $file->rightsOther;
|
|
|
|
}
|
2014-08-08 00:04:47 +00:00
|
|
|
}
|
|
|
|
?>
|