function signin($nickname, $password, $encrypted, $staysignedin) { global $user, $CONF; $u = new RegUser(); if (strpos($nickname,'@')===false) $u->setNickname($nickname); else $u->setEmail($nickname); if ($u->mustValidateEmailFirst()){ $u->sendEmail(); return array('nickname'=>$u->getNickname(), 'ok'=>false, 'error'=>'must validate email first'); } if ($encrypted) $valid = $u->validateEncPassword($password); else $valid = $u->validatePassword($password); if ($valid){ $user = $u; $user->load(); if ($user->getFirstTime()) { $user->setFirstTime(false); $la=$user->save(); } $_SESSION['user'] = $user; if ($staysignedin=='true') { setcookie('nickname', $user->getNickname(), $CONF['cookie_rememberme_lifetime']); setcookie('password', $user->getEncPassword(), $CONF['cookie_rememberme_lifetime']); } $result = array('user'=> array('nickname'=>$user->getNickname(),'anon'=>false), 'ok'=>true, 'error'=>''); } else { $result = array('nickname'=>'', 'ok'=>false, 'error'=>'invalid password'); } return $result; }