static function getUserPermissions($ticket) { $sessions = ProviderFactory::getSessions('xmlData/'); $userID = $sessions->getAuthorizedUser($ticket); if ($userID == null) { self::writeError('errAuthorizationRequired'); die; } $userProvider = ProviderFactory::getUsers(); return $userProvider->getUserPermissions($userID); }
function getUserHash() { return md5(generateCode(10)); } # Функция для генерации случайной строки function generateCode($length = 6) { $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPRQSTUVWXYZ0123456789"; $code = ""; $clen = strlen($chars) - 1; while (strlen($code) < $length) { $code .= $chars[mt_rand(0, $clen)]; } return $code; } $sessionProvider = ProviderFactory::getSessions(null); if ($action == "logoff") { $sessionProvider->closeSession($ticket); $ticket = ''; } else { if ($action = "logon") { $userProvider = new XmlUsersDB(); if ($userProvider->checkUser($usr, $psw)) { $ticket = getUserHash(); $sessionProvider->setSession($usr, $ticket); } } } $_SESSION["ticket"] = $ticket; $authorizedUser = $sessionProvider->getAuthorizedUser($ticket); $userProvider = ProviderFactory::getUsers();