- if (isset($chals))
- log_only("challenges count ".count($chals->item)." _n: ".$chals->item_n);
-
- $chals->mod = FALSE;
- if (shm_put_var($shm, $tok, $chals) != FALSE) {
- shm_detach($shm);
- return (TRUE);
- }
- $chals->mod = $oldmod;
-
- if (shm_remove($shm) === FALSE) {
- log_only("REMOVE FALLITA");
- break;
- }
- shm_detach($shm);
- $chals->shm_sz += CHAL_SHM_DIMS_DLT;
- }
-
- if ($shm)
- shm_detach($shm);
-
- return (FALSE);
- }
-
- 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)) {
- log_lock("LOCK challenges");
- return ($res);
- }
- else
- return (FALSE);
- }
-
- function unlock_data($res)
- {
- GLOBAL $sess;
-
- log_lock("UNLOCK challenges");
-
- return (sem_release($res));
- }
-} // End CLASS Challenges
-
-
-class LoginDBItem {
- var $login;
- var $pass;
- var $email;
- var $type;
-
- 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 {
- 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", 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);
+ if (isset($chals))
+ log_only("challenges count ".count($chals->item)." _n: ".$chals->item_n);
+
+ $chals->mod = FALSE;
+ if (shm_put_var($shm, $tok, $chals) != FALSE) {
+ shm_detach($shm);
+ return (TRUE);
+ }
+ $chals->mod = $oldmod;
+
+ if (shm_remove($shm) === FALSE) {
+ log_only("REMOVE FALLITA");
+ break;
+ }
+ shm_detach($shm);
+ $chals->shm_sz += CHAL_SHM_DIMS_DLT;
+ }
+
+ if ($shm)
+ shm_detach($shm);