X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2FObj%2Fauth.phh;h=6033fd52bb90e20380572475c3a66fe519b633a7;hb=2e538b5aad894f5cec1ee2969b1f028bd2ba6d75;hp=f822bef4ec4a1e210494da326916410ec922a07c;hpb=c4e9a616f01a3c7ec5069f0e7ddfea3e915925de;p=brisk.git diff --git a/web/Obj/auth.phh b/web/Obj/auth.phh index f822bef..6033fd5 100644 --- a/web/Obj/auth.phh +++ b/web/Obj/auth.phh @@ -2,7 +2,7 @@ /* * brisk - auth.phh * - * Copyright (C) 2006-2009 Matteo Nastasi + * Copyright (C) 2006-2011 Matteo Nastasi * mailto: nastasi@alternativeoutput.it * matteo.nastasi@milug.org * web: http://www.alternativeoutput.it @@ -27,6 +27,8 @@ define(CHAL_SHM_DIMS_MAX, 65536); define(CHAL_SHM_DIMS_DLT, 16384); define(CHAL_VALID_TIME, 15); define(CHAL_GARBAGE_TIMEOUT, 5); +define(BRISK_AUTH_CONF, "brisk_auth.conf.pho"); + class Challenge { var $login; @@ -275,13 +277,36 @@ class LoginDBItem { var $login; var $pass; var $email; + var $type; - function LoginDBItem($login, $pass, $email) + function LoginDBItem($login, $pass, $email, $type) { $this->login = $login; $this->pass = $pass; $this->email = $email; + $this->type = $type; + } + + function loginget() + { + return $this->login; + } + + function passget() + { + return $this->pass; + } + + function emailget() + { + return $this->email; } + + function typeget() + { + return $this->type; + } + } class LoginDB { @@ -294,19 +319,24 @@ class LoginDB { GLOBAL $DOCUMENT_ROOT; log_main("LoginDB create:start"); - if (file_exists("$DOCUMENT_ROOT/Etc/brisk_auth.conf.pho")) { - require("$DOCUMENT_ROOT/Etc/brisk_auth.conf.pho"); + if (file_exists("$DOCUMENT_ROOT/Etc/".BRISK_AUTH_CONF)) { + require("$DOCUMENT_ROOT/Etc/".BRISK_AUTH_CONF); } else { - $this->item = array( new LoginDBItem("uno", md5("one"), "pippo@pluto.com"), - new LoginDBItem("due", md5("two"), "pippo@pluto.com"), - new LoginDBItem("a_b", md5("abb"), "pippo@pluto.com"), - new LoginDBItem("tre", md5("three"), "pippo@pluto.com") ); + $this->item = array( new LoginDBItem("uno", md5("one"), "pippo@pluto.com", USER_FLAG_TY_SUPER), + new LoginDBItem("due", md5("two"), "pippo@pluto.com", USER_FLAG_TY_NORM), + new LoginDBItem("a_b", md5("abb"), "pippo@pluto.com", USER_FLAG_TY_NORM), + new LoginDBItem("tre", md5("three"), "pippo@pluto.com", USER_FLAG_TY_NORM) ); } $this->item_n = count($this->item); log_main("LoginDB create:end"); } + function count() + { + return ($this->item_n); + } + function login_exists($login) { log_main("login_exists: ".$login); @@ -321,6 +351,32 @@ class LoginDB { return (FALSE); } + function getlogin_byidx($idx) + { + if ($idx >= $this->item_n) + return FALSE; + return ($this->item[$idx]->login); + } + + function &getitem_bylogin($login, &$id) + { + GLOBAL $G_false; + + log_main("login_exists: ".$login); + + /* check the existence of the nick in the LoginDB */ + for ($i = 0 ; $i < $this->item_n ; $i++) { + if (strcasecmp($this->item[$i]->login, $login) == 0) { + log_main("login[".$i."]: ".$this->item[$i]->login); + $ret = &$this->item[$i]; + $id = $i; + return ($ret); + } + } + $id = -1; + return ($G_false); + } + function getmail($login) { log_main("getmail"); @@ -335,9 +391,25 @@ class LoginDB { return (FALSE); } - function login_verify($login, $pass) + function gettype($login) { - $ret = FALSE; + log_main("getmail"); + + /* check the existence of the nick in the LoginDB */ + for ($i = 0 ; $i < $this->item_n ; $i++) { + if (strcasecmp($this->item[$i]->login, $login) == 0) { + log_main("login[".$i."]: ".$this->item[$i]->login); + return ($this->item[$i]->type); + } + } + return (FALSE); + } + + function &login_verify($login, $pass) + { + GLOBAL $G_false; + + $ret = &$G_false; log_main("login_verify: ".$login); @@ -361,7 +433,7 @@ class LoginDB { log_main("login_verify SUCCESS for ".$login); $chals->rem($login); - $ret = TRUE; + $ret = &$this->item[$i]; break; } }