Хранилища Subversion kbase

Редакция

Редакция 20 | Авторство | Сравнить с предыдущей | Последнее изменение | Открыть журнал | Скачать | RSS

<?php

/**
 *  KBase  
 *  http://alex-w.org.ru/p/kbase/
 *
 *  Copyright (c) 2009 Alexander Wolf
 *  Dual licensed under the MIT and GNU LGPL licenses.
 *  http://alex-w.org.ru/p/kbase/license
 *
 */


class Auth {

        /* Check user and return User_ID (zero if user not exsists)
         * @param $login        - user login
         *        $passhash     - encrypted user password
         * @access public
         * @return UserID (int)
         */

        function getUserID($login, $passhash) {
                global $db;
                $request =& $db->query("SELECT user_id FROM members WHERE login='$login' AND passwd='$passhash'");
                if ($request->numRows()==0) {
                        return 0;
                } else {
                        $request->fetchInto($get);
                        return $get["user_id"];
                }
        }

        /* Get information about user
         * @param $UserID       - ID user
         * @access public
         * @return UserInfo (array)
         *         UserInfo[UserID]     - ID user
         *         UserInfo[RealName]   - real name of user
         *         UserInfo[Status]     - user status
         *         UserInfo[Registered] - date of registered
         */

        function getUserInfo($UserID) {
                global $db;
                $result = array();
                $request =& $db->query("SELECT * FROM members WHERE user_id='$UserID'");
                if ($request->numRows()!=0) {
                        $request->fetchInto($get);
                        $result["UserID"] = $get["user_id"];
                        $result["RealName"] = $get["realname"];
                        $result["Status"] = $get["status"];
                        $result["Registered"] = $get["registered"];
                } else {
                        $result["UserID"] = 0;
                }
                return $result;
        }

        /* Encrypt password
         * @param $password     - not encrypted user password
         * @access public
         * @return PasswordHash (chars)
         */

        function encPass($password) {
                return md5(sha1($password)."-KBase-".md5($password));
        }

        /* Register new user
         * @param $login        - user login
         *        $passhash     - encrypted user password
         *        $realname     - real name of user
         *        $status       - user status
         * @access public
         * @return ErrMsg (string)
         */

        function registerUser($login, $passhash, $realname, $status) {
                global $db;
                $request =& $db->query("INSERT INTO members SET login='$login', passwd='$passhash', realname='$realname', status='$status', registered=NOW()");
                if (PEAR::isError($dblink)) {
                        die($result = $dblink->getMessage());
                } else {
                        $result = "OK";
                }
                return $result;
        }
}

?>