appbox = $appbox; $nonce = random::generatePassword(16); $password = random::generatePassword(24); $this->user = User_Adapter::create($this->appbox, 'invite', $password, null, false, true); return $this; } /** * * @return Session_Authentication_Guest */ public function prelog() { return $this; } /** * * @return User_Adapter */ public function get_user() { return $this->user; } /** * * @return User_Adapter */ public function signOn() { $inviteUsrid = User_Adapter::get_usr_id_from_login('invite'); $invite_user = User_Adapter::getInstance($inviteUsrid, $this->appbox); $usr_base_ids = array_keys($this->user->ACL()->get_granted_base()); $this->user->ACL()->revoke_access_from_bases($usr_base_ids); $invite_base_ids = array_keys($invite_user->ACL()->get_granted_base()); $this->user->ACL()->apply_model($invite_user, $invite_base_ids); return $this->user; } /** * * @return Session_Authentication_Guest */ public function postlog() { \Session_Handler::set_cookie('invite-usr_id', $this->user->get_id(), 0, true); return $this; } }