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');
 }
Exemple #2
0
 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:/');
 }