- 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_n = count($this->item);
- log_main("LoginDB create:end");
- }
-
- function login_exists($login)
- {
- 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);
- return (TRUE);
- }
- }
- return (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 login_verify($login, $pass)
- {
- $ret = FALSE;
-
- 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);
-
- /* if it exists check for a valid challenge */
- if (($a_sem = Challenges::lock_data()) != FALSE) {
-
- if (($chals = &Challenges::load_data()) != FALSE) {
- for ($e = 0 ; $e < $chals->item_n ; $e++) {
-
- log_main("challenge[".$i."]: ".$chals->item[$e]->login);
- if (strcmp($login, $chals->item[$e]->login) == 0) {
- log_main("login_verify [".$pass."] with [".md5($chals->item[$e]->token.$this->item[$i]->pass)."]");
-
- if (strcmp($pass , md5($chals->item[$e]->token.$this->item[$i]->pass)) == 0) {
- log_main("login_verify SUCCESS for ".$login);
-
- $chals->rem($login);
- $ret = TRUE;
- break;
- }
- }
- } // end for ($e = 0 ...
- }
-
- if ($chals->ismod()) {
- Challenges::save_data(&$chals);
- }
-
- Challenges::unlock_data($a_sem);
- }
- break;
- } // if (strcasecmp($this->item[$i]->login, ...
- }
-
- return ($ret);
- }
-} // End class LoginDB
-