Exemplo n.º 1
0
function common_rememberme($user = null)
{
    if (!$user) {
        $user = common_current_user();
        if (!$user) {
            return false;
        }
    }
    $rm = new Remember_me();
    $rm->code = common_good_rand(16);
    $rm->user_id = $user->id;
    // Wrap the insert in some good ol' fashioned transaction code
    $rm->query('BEGIN');
    $result = $rm->insert();
    if (!$result) {
        common_log_db_error($rm, 'INSERT', __FILE__);
        return false;
    }
    $rm->query('COMMIT');
    $cookieval = $rm->user_id . ':' . $rm->code;
    common_log(LOG_INFO, 'adding rememberme cookie "' . $cookieval . '" for ' . $user->nickname);
    common_set_cookie(REMEMBERME, $cookieval, time() + REMEMBERME_EXPIRY);
    return true;
}