Ignore:
Timestamp:
2007/07/20 15:58:59 (17 years ago)
Author:
nanasess
Message:

r15064 から svn cp
とりあえず暫定コミット.

  • UTF-8 に変更
  • slib.php, glib.php のクラス化
  • LC_Page の抽象化(一部)
Location:
branches/feature-module-update
Files:
1 edited
2 copied

Legend:

Unmodified
Added
Removed
  • branches/feature-module-update

    • Property svn:ignore set to
      .cache

      .settings

      .projectOptions
  • branches/feature-module-update/html/install/user_data/include/campaign/default/src/application.php

    r12157 r15078  
    77require_once("../../require.php"); 
    88 
    9 //---- ¥Ú¡¼¥¸É½¼¨¥¯¥é¥¹ 
     9//---- ページ表示クラス 
    1010class LC_Page { 
    1111     
     
    1313        $this->tpl_mainpage = TEMPLATE_DIR . '/campaign/application.tpl'; 
    1414        /* 
    15          session_start»þ¤Îno-cache¥Ø¥Ã¥À¡¼¤òÍÞÀ©¤¹¤ë¤³¤È¤Ç 
    16          ¡ÖÌá¤ë¡×¥Ü¥¿¥ó»ÈÍÑ»þ¤ÎÍ­¸ú´ü¸ÂÀÚ¤ìɽ¼¨¤òÍÞÀ©¤¹¤ë¡£ 
    17          private-no-expire:¥¯¥é¥¤¥¢¥ó¥È¤Î¥­¥ã¥Ã¥·¥å¤òµö²Ä¤¹¤ë¡£ 
     15         session_start時のno-cacheヘッダーを抑制することで 
     16         「戻る」ボタン使用時の有効期限切れ表示を抑制する。 
     17         private-no-expire:クライアントのキャッシュを許可する。 
    1818        */ 
    1919        session_cache_limiter('private-no-expire');  
     
    2626$objCustomer = new SC_Customer(); 
    2727$objCampaignSess = new SC_CampaignSession(); 
    28 // ¥¯¥Ã¥­¡¼´ÉÍý¥¯¥é¥¹ 
     28// クッキー管理クラス 
    2929$objCookie = new SC_Cookie(COOKIE_EXPIRE); 
    3030 
    31 $objLoginFormParam = new SC_FormParam();    // ¥í¥°¥¤¥ó¥Õ¥©¡¼¥àÍÑ 
    32 lfInitLoginFormParam();                     // ½é´üÀßÄê 
    33 $objLoginFormParam->setParam($_POST);       // POSTÃͤμèÆÀ 
    34  
    35 // ¥Ç¥£¥ì¥¯¥È¥ê̾¤ò¼èÆÀ 
     31$objLoginFormParam = new SC_FormParam();    // ログインフォーム用 
     32lfInitLoginFormParam();                     // 初期設定 
     33$objLoginFormParam->setParam($_POST);       // POST値の取得 
     34 
     35// ディレクトリ名を取得 
    3636$dir_name = dirname($_SERVER['PHP_SELF']); 
    3737$arrDir = split('/', $dir_name); 
    3838$dir_name = $arrDir[count($arrDir) -1]; 
    3939 
    40 /* ¥»¥Ã¥·¥ç¥ó¤Ë¥­¥ã¥ó¥Ú¡¼¥ó¥Ç¡¼¥¿¤ò½ñ¤­¹þ¤à */ 
    41 // ¥­¥ã¥ó¥Ú¡¼¥ó¤«¤é¤ÎÁ«°Ü¤È¤¤¤¦¾ðÊó¤òÊÝ»ý 
     40/* セッションにキャンペーンデータを書き込む */ 
     41// キャンペーンからの遷移という情報を保持 
    4242$objCampaignSess->setIsCampaign(); 
    43 // ¥­¥ã¥ó¥Ú¡¼¥óID¤òÊÝ»ý 
     43// キャンペーンIDを保持 
    4444$campaign_id = $objQuery->get("dtb_campaign", "campaign_id", "directory_name = ? AND del_flg = 0", array($dir_name)); 
    4545$objCampaignSess->setCampaignId($campaign_id); 
    46 // ¥­¥ã¥ó¥Ú¡¼¥ó¥Ç¥£¥ì¥¯¥È¥ê̾¤òÊÝ»ý 
     46// キャンペーンディレクトリ名を保持 
    4747$objCampaignSess->setCampaignDir($dir_name); 
    4848 
    49 // ¥­¥ã¥ó¥Ú¡¼¥ó¤¬³«ºÅÃ椫¤ò¥Á¥§¥Ã¥¯ 
     49// キャンペーンが開催中かをチェック 
    5050if(lfCheckActive($dir_name)) { 
    5151    $status = CAMPAIGN_TEMPLATE_ACTIVE; 
     
    5757 
    5858switch($_POST['mode']) { 
    59 // ¥í¥°¥¤¥ó¥Á¥§¥Ã¥¯ 
     59// ログインチェック 
    6060case 'login': 
    6161    $objLoginFormParam->toLower('login_email'); 
    6262    $objPage->arrErr = $objLoginFormParam->checkError(); 
    6363    $arrForm =  $objLoginFormParam->getHashArray(); 
    64     // ¥¯¥Ã¥­¡¼ÊݸȽÄê 
     64    // クッキー保存判定 
    6565    if($arrForm['login_memory'] == "1" && $arrForm['login_email'] != "") { 
    6666        $objCookie->setCookie('login_email', $_POST['login_email']); 
     
    7070 
    7171    if(count($objPage->arrErr) == 0) { 
    72         // ¥í¥°¥¤¥óȽÄê 
     72        // ログイン判定 
    7373        if(!$objCustomer->getCustomerDataFromEmailPass($arrForm['login_pass'], $arrForm['login_email'])) { 
    74             // ²¾ÅÐÏ¿¤ÎȽÄê 
     74            // 仮登録の判定 
    7575            $objQuery = new SC_Query; 
    7676            $where = "email = ? AND status = 1 AND del_flg = 0"; 
     
    8383            } 
    8484        } else { 
    85             // ½ÅÊ£¿½¹þ¥Á¥§¥Ã¥¯ 
     85            // 重複申込チェック 
    8686            $orverlapping_flg = $objQuery->get("dtb_campaign", "orverlapping_flg", "campaign_id = ?", array($objCampaignSess->getCampaignId())); 
    8787 
    8888            if($orverlapping_flg) { 
    8989                if(lfOverlappingCheck($objCustomer->getValue('customer_id'))) { 
    90                     $objPage->arrErr['login_email'] = "¢¨ Ê£¿ô²ó¤´±þÊ礹¤ë¤³¤È¤Ï½ÐÍè¤Þ¤»¤ó¡£"; 
     90                    $objPage->arrErr['login_email'] = "※ 複数回ご応募することは出来ません。"; 
    9191                } 
    9292            } 
    9393     
    9494            if(count($objPage->arrErr) == 0) { 
    95                 // ¿½¹þ¾ðÊó¤òÅÐÏ¿ 
     95                // 申込情報を登録 
    9696                lfRegistCampaignOrder($objCustomer->getValue('customer_id')); 
    97                 // ´°Î»¥Ú¡¼¥¸¤Ø¥ê¥À¥¤¥ì¥¯¥È 
     97                // 完了ページへリダイレクト 
    9898                header("location: ". CAMPAIGN_URL . "$dir_name/complete.php"); 
    9999            } 
     
    104104    break; 
    105105} 
    106 // ÆþÎϾðÊó¤òÅϤ¹ 
     106// 入力情報を渡す 
    107107$objPage->arrForm = $_POST; 
    108108$objPage->dir_name = $dir_name; 
    109109$objPage->tpl_dir_name = CAMPAIGN_TEMPLATE_PATH . $dir_name  . "/" . $status; 
    110110 
    111 //----¡¡¥Ú¡¼¥¸É½¼¨ 
     111//---- ページ表示 
    112112$objView->assignobj($objPage); 
    113113$objView->display($objPage->tpl_mainpage); 
     
    117117 
    118118/*  
    119  * ´Ø¿ô̾¡§lfInitLoginFormParam() 
    120  * ÀâÌÀ¡¡¡§¥í¥°¥¤¥ó¥Õ¥©¡¼¥à¤ò½é´ü²½ 
    121  * Ìá¤êÃÍ¡§Ìµ¤· 
     119 * 関数名:lfInitLoginFormParam() 
     120 * 説明 :ログインフォームを初期化 
     121 * 戻り値:無し 
    122122 */ 
    123123function lfInitLoginFormParam() { 
    124124    global $objLoginFormParam; 
    125     $objLoginFormParam->addParam("µ­²±¤¹¤ë", "login_memory", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
    126     $objLoginFormParam->addParam("¥á¡¼¥ë¥¢¥É¥ì¥¹", "login_email", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); 
    127     $objLoginFormParam->addParam("¥Ñ¥¹¥ï¡¼¥É", "login_pass", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); 
    128 } 
    129  
    130 /*  
    131  * ´Ø¿ô̾¡§lfCheckActive() 
    132  * °ú¿ô1 ¡§¥Ç¥£¥ì¥¯¥È¥ê̾ 
    133  * ÀâÌÀ¡¡¡§¥­¥ã¥ó¥Ú¡¼¥óÃ椫¥Á¥§¥Ã¥¯ 
    134  * Ìá¤êÃÍ¡§¥­¥ã¥ó¥Ú¡¼¥óÃæ¤Ê¤é true ½ªÎ»¤Ê¤é false 
     125    $objLoginFormParam->addParam("記憶する", "login_memory", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK")); 
     126    $objLoginFormParam->addParam("メールアドレス", "login_email", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); 
     127    $objLoginFormParam->addParam("パスワード", "login_pass", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); 
     128} 
     129 
     130/*  
     131 * 関数名:lfCheckActive() 
     132 * 引数1 :ディレクトリ名 
     133 * 説明 :キャンペーン中かチェック 
     134 * 戻り値:キャンペーン中なら true 終了なら false 
    135135 */ 
    136136function lfCheckActive($directory_name) { 
     
    142142    $arrRet = $objQuery->select($col, "dtb_campaign", "directory_name = ? AND del_flg = 0", array($directory_name)); 
    143143 
    144     // ³«»ÏÆü»þ¡¦Ää»ßÆü»þ¤òÀ®·¿ 
     144    // 開始日時・停止日時を成型 
    145145    $start_date = (date("YmdHis", strtotime($arrRet[0]['start_date']))); 
    146146    $end_date = (date("YmdHis", strtotime($arrRet[0]['end_date']))); 
    147147    $now_date = (date("YmdHis")); 
    148148 
    149     // ¥­¥ã¥ó¥Ú¡¼¥ó¤¬³«ºÅ´ü´Ö¤Ç¡¢¤«¤Ä¿½¹þÀ©¸ÂÆâ¤Ç¤¢¤ë 
     149    // キャンペーンが開催期間で、かつ申込制限内である 
    150150    if($now_date > $start_date && $now_date < $end_date 
    151151            && ($arrRet[0]['limit_count'] > $arrRet[0]['total_count'] || $arrRet[0]['limit_count'] < 1)) { 
     
    157157 
    158158/*  
    159  * ´Ø¿ô̾¡§lfRegistCampaignOrder() 
    160  * ÀâÌÀ¡¡¡§¥­¥ã¥ó¥Ú¡¼¥ó¼õÃí¾ðÊó¤òÊݸ 
    161  * °ú¿ô1 ¡§¸ÜµÒID 
    162  * Ìá¤êÃÍ¡§Ìµ¤· 
     159 * 関数名:lfRegistCampaignOrder() 
     160 * 説明 :キャンペーン受注情報を保存 
     161 * 引数1 :顧客ID 
     162 * 戻り値:無し 
    163163 */ 
    164164function lfRegistCampaignOrder($customer_id) { 
     
    168168    $campaign_id = $objCampaignSess->getCampaignId(); 
    169169 
    170     // ¼õÃí¥Ç¡¼¥¿¤ò¼èÆÀ 
     170    // 受注データを取得 
    171171    $cols = " 
    172172            customer_id, 
     
    198198    $sqlval['create_date'] = 'now()'; 
    199199         
    200     // INSERT¤Î¼Â¹Ô 
     200    // INSERTの実行 
    201201    $objQuery->insert("dtb_campaign_order", $sqlval); 
    202202     
    203     // ¿½¤·¹þ¤ß¿ô¤Î¹¹¿· 
     203    // 申し込み数の更新 
    204204    $total_count = $objQuery->get("dtb_campaign", "total_count", "campaign_id = ?", array($campaign_id)); 
    205205    $arrCampaign['total_count'] = $total_count += 1; 
     
    209209 
    210210/*  
    211  * ´Ø¿ô̾¡§lfOverlappingCheck() 
    212  * ÀâÌÀ¡¡¡§½ÅÊ£±þÊç¥Á¥§¥Ã¥¯ 
    213  * °ú¿ô1 ¡§¸ÜµÒID 
    214  * Ìá¤êÃÍ¡§¥Õ¥é¥° (½ÅÊ£¤¬¤¢¤Ã¤¿¤é true ½ÅÊ£¤¬¤Ê¤«¤Ã¤¿¤é false) 
     211 * 関数名:lfOverlappingCheck() 
     212 * 説明 :重複応募チェック 
     213 * 引数1 :顧客ID 
     214 * 戻り値:フラグ (重複があったら true 重複がなかったら false) 
    215215 */ 
    216216function lfOverlappingCheck($customer_id) { 
Note: See TracChangeset for help on using the changeset viewer.