private function action($user) { $session = session_currentSession(); session_regenerateCurrentSession(); session_setValueForKey($user->id, 'id'); session_setValueForKey($user->screenname, 'screenname'); session_setValueForKey($user->isValid, 'isValid'); session_setValueForKey(true, 'isAuthenticated'); //$session->id = $user->id; //$session->screenname = $user->screenname; //$session->isAuthenticated = true; $user->lastLogin = time(); $user->save(); header('location:/account/channels'); }
private function action($form) { $u = new User(); $u->username = strtolower($form->email); $u->screenname = $form->screenname; $u->password = $form->password; $u->lastLogin = time(); $u->isValid = false; $u->columns['bitmap_normal']->value = User::kProfileDefaultNormal; $u->columns['bitmap_bigger']->value = User::kProfileDefaultBigger; $u->save(); //echo $u->bitmap_normal; //exit; //$session = Application::session(); //$session->regenerate(true); //$session->id = $u->id; //$session->screenname = $u->screenname; //$session->isAuthenticated = true; $session = session_currentSession(); session_regenerateCurrentSession(); session_setValueForKey($u->id, 'id'); session_setValueForKey($u->screenname, 'screenname'); session_setValueForKey(true, 'isAuthenticated'); // generate a random key for the user to authenticate against: $stream = fopen('/dev/random', 'r'); $bytes = fread($stream, 512); fclose($stream); $key = hash('md5', base64_encode($bytes)); $authorized = array('type' => 'authorization', 'user' => $u->id, 'key' => $key); $db = new CouchDB(array('database' => Configuration::kDatabaseName)); $db->put(json_encode($authorized)); $email = array(); $email['recipients'][] = $u->username; $email['key'] = $key; email_sendAccountCreate($email); header('location:/'); }