X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2FObj%2Fauth.phh;h=6033fd52bb90e20380572475c3a66fe519b633a7;hb=2e538b5aad894f5cec1ee2969b1f028bd2ba6d75;hp=a52bc7859aec2af04dc25348cb48cc1a155bec62;hpb=eaa164b2f8408a510d7780c15614dfa6993f7817;p=brisk.git diff --git a/web/Obj/auth.phh b/web/Obj/auth.phh index a52bc78..6033fd5 100644 --- a/web/Obj/auth.phh +++ b/web/Obj/auth.phh @@ -2,7 +2,7 @@ /* * brisk - auth.phh * - * Copyright (C) 2006-2008 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; @@ -274,12 +276,37 @@ class Challenges { class LoginDBItem { var $login; var $pass; + var $email; + var $type; - function LoginDBItem($login, $pass) + 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 { @@ -292,22 +319,27 @@ 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")), - new LoginDBItem("due", md5("two")), - new LoginDBItem("a_b", md5("abb")), - new LoginDBItem("tre", md5("three")) ); + $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_verify"); + log_main("login_exists: ".$login); /* check the existence of the nick in the LoginDB */ for ($i = 0 ; $i < $this->item_n ; $i++) { @@ -319,14 +351,71 @@ class LoginDB { return (FALSE); } - function login_verify($login, $pass) + function getlogin_byidx($idx) { - $ret = FALSE; + 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"); + + /* 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]->email); + } + } + return (FALSE); + } + + function gettype($login) + { + 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"); + log_main("login_verify: ".$login); /* check the existence of the nick in the LoginDB */ for ($i = 0 ; $i < $this->item_n ; $i++) { + log_main("login_verify: LOOP"); if (strcasecmp($this->item[$i]->login, $login) == 0) { log_main("login[".$i."]: ".$this->item[$i]->login); @@ -344,7 +433,7 @@ class LoginDB { log_main("login_verify SUCCESS for ".$login); $chals->rem($login); - $ret = TRUE; + $ret = &$this->item[$i]; break; } }