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; }