Ignore:
Timestamp:
2007/02/08 10:03:52 (16 years ago)
Author:
rebelt
Message:

以下のモバイルサイト用ページ・機能を作成いたしました。

  • 会員登録
  • 注文
  • イプシロン決済
File:
1 edited

Legend:

Unmodified
Added
Removed
  • temp/branches/mobile/data/include/mobile.inc

    r11407 r11409  
    4545    array_walk($_POST, 'lfMobileConvertInputValue'); 
    4646    array_walk($_REQUEST, 'lfMobileConvertInputValue'); 
     47} 
     48 
     49/** 
     50 * dtb_mobile_ext_session_id ¥Æ¡¼¥Ö¥ë¤ò¸¡º÷¤·¤Æ¥»¥Ã¥·¥ç¥óID¤ò¼èÆÀ¤¹¤ë¡£ 
     51 * 
     52 * @return string|null ¼èÆÀ¤·¤¿¥»¥Ã¥·¥ç¥óID¤òÊÖ¤¹¡£ 
     53 *                     ¼èÆÀ¤Ç¤­¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï null ¤òÊÖ¤¹¡£ 
     54 */ 
     55function lfMobileGetExtSessionId() { 
     56    if (!preg_match('|^' . URL_DIR . '(.*)$|', $_SERVER['SCRIPT_NAME'], $matches)) { 
     57        return null; 
     58    } 
     59 
     60    $url = $matches[1]; 
     61    $time = date('Y-m-d H:i:s', time() - MOBILE_SESSION_LIFETIME); 
     62    $objQuery = new SC_Query; 
     63 
     64    foreach ($_REQUEST as $key => $value) { 
     65        $session_id = $objQuery->get('dtb_mobile_ext_session_id', 'session_id', 
     66                                     'param_key = ? AND param_value = ? AND url = ? AND create_date >= ?', 
     67                                     array($key, $value, $url, $time)); 
     68        if (isset($session_id)) { 
     69            return $session_id; 
     70        } 
     71    } 
     72 
     73    return null; 
    4774} 
    4875 
     
    5885    if (!isset($sessionId)) { 
    5986        $sessionId = @$_GET[session_name()]; 
     87    } 
     88    if (!isset($sessionId)) { 
     89        $sessionId = lfMobileGetExtSessionId(); 
    6090    } 
    6191    if (!isset($sessionId)) { 
     
    332362    return $url; 
    333363} 
     364 
     365/** 
     366 * ³°Éô¥µ¥¤¥ÈÏ¢·ÈÍѤ˥»¥Ã¥·¥ç¥óID¤È¥Ñ¥é¥á¡¼¥¿¡¼¤ÎÁȤ߹ç¤ï¤»¤òÊݸ¤¹¤ë¡£ 
     367 * 
     368 * @param string $param_key ¥Ñ¥é¥á¡¼¥¿¡¼Ì¾ 
     369 * @param string $param_value ¥Ñ¥é¥á¡¼¥¿¡¼ÃÍ 
     370 * @param string $url URL 
     371 * @return void 
     372 */ 
     373function sfMobileSetExtSessionId($param_key, $param_value, $url) { 
     374    $objQuery = new SC_Query; 
     375 
     376    // GC 
     377    $time = date('Y-m-d H:i:s', time() - MOBILE_SESSION_LIFETIME); 
     378    $objQuery->delete('dtb_mobile_ext_session_id', 'create_date < ?', array($time)); 
     379 
     380    $arrValues = array('session_id'  => session_id(), 
     381                       'param_key'   => $param_key, 
     382                       'param_value' => $param_value, 
     383                       'url'         => $url); 
     384 
     385    $objQuery->insert('dtb_mobile_ext_session_id', $arrValues); 
     386} 
     387 
     388/** 
     389 * ¥á¡¼¥ë¥¢¥É¥ì¥¹¤¬·ÈÂӤΤâ¤Î¤«¤É¤¦¤«¤òȽÊ̤¹¤ë¡£ 
     390 * 
     391 * @param string $address ¥á¡¼¥ë¥¢¥É¥ì¥¹ 
     392 * @return boolean ·ÈÂӤΥ᡼¥ë¥¢¥É¥ì¥¹¤Î¾ì¹ç¤Ïtrue¡¢¤½¤ì°Ê³°¤Î¾ì¹ç¤Ïfalse¤òÊÖ¤¹¡£ 
     393 */ 
     394function gfIsMobileMailAddress($address) { 
     395    $arrMobileMailDomains = array('docomo.ne.jp', 'ezweb.ne.jp', 'softbank.ne.jp', 'vodafone.ne.jp'); 
     396 
     397    if (defined('MOBILE_ADDITIONAL_MAIL_DOMAINS')) { 
     398        $arrMobileMailDomains = array_merge($arrMobileMailDomains, split('[ ,]+', MOBILE_ADDITIONAL_MAIL_DOMAINS)); 
     399    } 
     400 
     401    foreach ($arrMobileMailDomains as $domain) { 
     402        $domain = str_replace('.', '\\.', $domain); 
     403        if (preg_match("/@([^@]+\\.)?$domain\$/", $address)) { 
     404            return true; 
     405        } 
     406    } 
     407 
     408    return false; 
     409} 
    334410?> 
Note: See TracChangeset for help on using the changeset viewer.