- return (sem_release($res));
- }
-} // End CLASS Challenges
-
-
-class LoginDBItem {
- var $login;
- var $pass;
- var $email;
-
- function LoginDBItem($login, $pass, $email)
- {
- $this->login = $login;
- $this->pass = $pass;
- $this->email = $email;
- }
-}
-
-class LoginDB {
- var $item;
- var $item_n;
-
-
- function LoginDB()
- {
- GLOBAL $DOCUMENT_ROOT;
- log_main("LoginDB create:start");
-
- 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_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);
- }
+ function lock_data()
+ {
+ if (($tok = @ftok(FTOK_PATH."/challenges", "B")) == -1) {
+ return (FALSE);
+ }
+ // echo "FTOK ".$tok."<br>";
+ if (($res = sem_get($tok)) == FALSE) {
+ return (FALSE);
+ }
+ if (sem_acquire($res)) {
+ self::$delta_t = microtime(TRUE);
+ log_lock("LOCK challenges [".self::$delta_t."]");
+ return ($res);
+ }
+ else
+ return (FALSE);