/** * 空メール管理テーブルからトークンが一致する行を削除し、 * 次に遷移させるページのURLを返す。 * * メールアドレスは $_SESSION['mobile']['kara_mail_from'] に登録される。 * * @param string $token トークン * @return string|false URLを返す。エラーが発生した場合はfalseを返す。 */ function gfFinishKaraMail($token) { $objQuery = new SC_Query(); $arrRow = $objQuery->getrow('dtb_mobile_kara_mail', 'session_id, next_url, email', 'token = ? AND email IS NOT NULL AND receive_date >= ?', array($token, date('Y-m-d H:i:s', time() - MOBILE_SESSION_LIFETIME))); if (!isset($arrRow)) { return false; } $objQuery->delete('dtb_mobile_kara_mail', 'token = ?', array($token)); list($session_id, $next_url, $email) = $arrRow; $objURL = new Net_URL(MOBILE_SITE_URL . $next_url); $objURL->addQueryString(session_name(), $session_id); $url = $objURL->getURL(); session_id($session_id); session_start(); $_SESSION['mobile']['kara_mail_from'] = $email; session_write_close(); return $url; }