Example #1
0
function user_userForEmail($email)
{
    $user = null;
    $dbh = Database::connection();
    $options = array('key' => $email, 'limit' => 1);
    $view = $dbh->view('users/authenticateEmail', $options);
    if (count($view) > 0) {
        $user = new User();
        $user->initWithArray($view[0]['value']);
    }
    return $user;
}
<?php

require $_SERVER['DOCUMENT_ROOT'] . '/application/system/Environment.php';
$key = filter_var($_GET['key'], FILTER_UNSAFE_RAW);
if (preg_match('/[\\w\\d]{32}/', $key)) {
    $options = array('database' => Configuration::kDatabaseName);
    $db = new CouchDB($options);
    $query_options = array('key' => $key);
    $result = $db->view('users/accountAuthorization', $query_options);
    if (count($result) > 0) {
        $authtoken = $result[0]['value']['key'];
        if ($authtoken == $key) {
            $user = new User();
            $db_user = $db->document($result[0]['value']['user']);
            $user->initWithArray($db_user);
            $user->isValid = true;
            $user->save();
            $db->delete($result[0]['value']['_id'], $result[0]['value']['_rev']);
        }
    }
    header('location: /');
}