Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CO TO KURVA JE!!!!
- <?php
- class User {
- var $userdata;
- function User() {
- session_start();
- header("Cache-control: private");
- }
- function logout() {
- unset($this->userdata);
- session_destroy();
- return true;
- }
- function checkLogin($login = '', $password = '', $successURL = '', $failURL = '') {
- require_once 'database.php';
- $db = new Database;
- if ($_SESSION['user_login'] && $_SESSION['user_password']) {
- $user = $db->query("SELECT * FROM rs_users WHERE login = ".$_SESSION['user_login']." AND password = ".$_SESSION['user_password']."");
- $this->userdata = $db->fetchArray($user);
- if ($db->numRows($user) == 1) {
- if ($successURL) {
- header('location: '.$successURL);
- }
- return true;
- }
- else {
- $this->logout();
- if ($failURL) {
- header('location: '.$failURL);
- }
- return false;
- }
- }
- else {
- $user = $db->query("SELECT * FROM rs_users WHERE login = '$login' AND password = '$password'");
- $this->userdata = $db->fetchArray($user);
- if ($db->numRows($user) == 1) {
- $_SESSION['user_login'] = $login;
- $_SESSION['user_id'] = $this->userdata['id'];
- $_SESSION['user_password'] = $this->userdata['password'];
- if ($successURL) {
- header('location: '.$successURL);
- }
- return true;
- }
- else {
- unset($this->userdata);
- if ($failURL) {
- header('location: '.$failURL);
- }
- return false;
- }
- }
- }
- function userHasPermission($userId, $permissionName) {
- require_once 'database.php';
- require_once 'validation.php';
- $db = new Database;
- $validation = new Validation;
- if (!$validation->validateNumber($userId)) {
- return false;
- }
- $hasPermission = false;
- $permissionId = $db->fetchArray($db->query("SELECT id FROM rs_permissions WHERE name = '$permission'"));
- $userGroups = $db->query("SELECT group_id FROM rs_user_group_relations WHERE user_id = $userId");
- if ($userGroups) {
- while ($group = $db->fetchArray($userGroups)) {
- $groupPermissions = $db->fetchArray($db->query("SELECT permission_id FROM rs_group_permission_relations WHERE group_id = ".$group['group_id'].""));
- if ($permissionId['id'] == $groupPermissions['permission_id']) {
- $hasPermission = true;
- break;
- }
- }
- }
- return ($hasPermission)?true:false;
- }
- function userGetPermissions($userId) {
- require_once 'database.php';
- require_once 'validation.php';
- $db = new Database;
- $validation = new Validation;
- if (!$validation->validateNumber($userId)) {
- return false;
- }
- $userGroups = $db->query("SELECT group_id FROM rs_user_group_relations WHERE user_id = $userId");
- if ($userGroups) {
- while ($group = $db->fetchArray($userGroups)) {
- $groupPermissions = $db->query("SELECT permission_id FROM rs_group_permission_relations WHERE group_id = ".$group['group_id']."");
- if ($groupPermissions) {
- while ($permission = $db->fetchArray($groupPermissions)) {
- $permissionInfo = $db->fetchArray($db->query("SELECT name FROM rs_permissions WHERE id = ".$permission['permission_id'].""));
- $this->userdata['permissions'][] .= $permissionInfo['name'];
- }
- }
- }
- return $this->userdata['permissions'];
- }
- else return false;
- }
- function userIsInGroup($userId, $groupName) {
- require_once 'database.php';
- require_once 'validation.php';
- $db = new Database;
- $validation = new Validation;
- if (!$validation->validateNumber($userId)) {
- return false;
- }
- $groupId = $db->fetchArray($db->query("SELECT id FROM rs_groups WHERE name = '$groupName'"));
- if ($groupId) {
- $groupRelation = $db->query("SELECT id FROM rs_user_group_relations WHERE group_id = ".$groupId['id']." AND user_id = $userId");
- if ($db->numRows($groupRelation) > 0) {
- return true;
- }
- }
- else return false;
- }
- function userGetGroups($userId) {
- require_once 'database.php';
- require_once 'validation.php';
- $db = new Database;
- $validation = new Validation;
- if (!$validation->validateNumber($userId)) {
- return false;
- }
- $userGroups = $db->query("SELECT group_id FROM rs_user_group_relations WHERE user_id = $userId");
- if ($userGroups) {
- while ($group = $db->fetchArray($userGroups)) {
- $groupInfo = $db->fetchArray($db->query("SELECT name FROM rs_groups WHERE id = ".$group['group_id'].""));
- $this->userdata['groups'][] .= $groupInfo['name'];
- }
- return $this->userdata['groups'];
- }
- else return false;
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement