count and getlogin_byidx f() added
[brisk.git] / web / Obj / auth.phh
index f822bef..5f4426d 100644 (file)
@@ -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;
@@ -294,8 +296,8 @@ 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"),
@@ -307,6 +309,11 @@ class LoginDB {
     log_main("LoginDB create:end");
   }
 
+  function count()
+  {
+    return ($this->item_n);
+  }
+
   function login_exists($login)
   {
     log_main("login_exists: ".$login);
@@ -321,6 +328,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");