Changeset 15215


Ignore:
Timestamp:
2007/08/06 17:00:44 (13 years ago)
Author:
nanasess
Message:

LC_Page のクラス化対応

Location:
branches/feature-module-update
Files:
6 added
2 edited

Legend:

Unmodified
Added
Removed
  • branches/feature-module-update/html/regist/complete.php

    r15080 r15215  
    66 */ 
    77 
     8// {{{ requires 
    89require_once("../require.php"); 
     10require_once(CLASS_PATH . "page_extends/regist/LC_Page_Regist_Complate_Ex.php"); 
    911 
    10 class LC_Page{ 
    11     function LC_Page(){ 
    12         $this->tpl_mainpage = 'regist/complete.tpl'; 
    13         $this->tpl_css = URL_DIR.'css/layout/regist/complete.css'; 
    14         $this->tpl_title = '会員登録(完了ページ)'; 
    15     } 
    16 } 
     12// }}} 
     13// {{{ generate page 
    1714 
    18 $objPage = new LC_Page(); 
    19 $objView = new SC_SiteView(); 
    20 $objQuery = new SC_Query(); 
    21 $objCampaignSess = new SC_CampaignSession(); 
    22  
    23 // キャンペーンからの登録の場合の処理 
    24 if($_GET["cp"] != "") { 
    25     $arrCampaign= $objQuery->select("directory_name", "dtb_campaign", "campaign_id = ?", array($_GET["cp"])); 
    26     // キャンペーンディレクトリ名を保持 
    27     $dir_name = $arrCampaign[0]['directory_name']; 
    28 } else { 
    29     $dir_name = ""; 
    30 } 
    31  
    32 // レイアウトデザインを取得 
    33 $objPage = sfGetPageLayout($objPage, false, DEF_LAYOUT); 
    34  
    35 $objView->assignobj($objPage); 
    36 // フレームを選択(キャンペーンページから遷移なら変更) 
    37 if($objPage->dir_name != "") { 
    38     $objView->display(CAMPAIGN_TEMPLATE_PATH . $dir_name  . "/active/site_frame.tpl"); 
    39     $objCampaignSess->delCampaign(); 
    40 } else { 
    41     $objView->display(SITE_FRAME);   
    42 } 
     15$objPage = new LC_Page_Regist_Complate_Ex(); 
     16$objPage->init(); 
     17$objPage->process(); 
     18register_shutdown_function(array($objPage, "destroy")); 
    4319?> 
  • branches/feature-module-update/html/regist/index.php

    r15080 r15215  
    66 */ 
    77 
     8// {{{ requires 
    89require_once("../require.php"); 
     10require_once(CLASS_PATH . "page_extends/regist/LC_Page_Regist_Ex.php"); 
    911 
    10 //---- ページ表示クラス 
    11 class LC_Page { 
    12      
    13     var $arrSession; 
    14     var $tpl_mainpage; 
    15     var $arrPref; 
     12// }}} 
     13// {{{ generate page 
    1614 
    17     function LC_Page() { 
    18         $this->tpl_css = URL_DIR.'css/layout/regist/index.css'; // メインCSSパス 
    19     } 
    20 } 
    21  
    22 $objConn = new SC_DBConn(); 
    23 $objQuery = new SC_Query(); 
    24 $objPage = new LC_Page(); 
    25 $objView = new SC_SiteView(); 
    26 $objSiteInfo = $objView->objSiteInfo; 
    27 $objCustomer = new SC_Customer(); 
    28 $CONF = sf_getBasisData(); 
    29 $arrInfo = $objSiteInfo->data; 
    30  
    31 // キャンペーンからの登録の場合の処理 
    32 if($_GET["cp"] != "") { 
    33     $etc_val = "?cp=" . $_GET['cp']; 
    34 } 
    35  
    36 //-- 本登録完了のためにメールから接続した場合 
    37 if ($_GET["mode"] == "regist") { 
    38      
    39     //-- 入力チェック 
    40     $objPage->arrErr = lfErrorCheck($_GET); 
    41     if ($objPage->arrErr) { 
    42         $objPage->tpl_mainpage = 'regist/error.tpl'; 
    43         $objPage->tpl_css = "/css/layout/regist/error.css"; 
    44         $objPage->tpl_title = 'エラー'; 
    45  
    46     } else { 
    47         //$objPage->tpl_mainpage = 'regist/complete.tpl'; 
    48         //$objPage->tpl_title = ' 会員登録(完了ページ)'; 
    49         $registSecretKey = lfRegistData($_GET);         //本会員登録(フラグ変更) 
    50         lfSendRegistMail($registSecretKey);             //本会員登録完了メール送信 
    51  
    52         // ログイン済みの状態にする。 
    53         $email = $objQuery->get("dtb_customer", "email", "secret_key = ?", array($registSecretKey)); 
    54         $objCustomer->setLogin($email); 
    55         header("Location: ./complete.php$etc_val"); 
    56         exit; 
    57     } 
    58  
    59 //-- それ以外のアクセスは無効とする 
    60 } else { 
    61     $objPage->arrErr["id"] = "無効なアクセスです。"; 
    62     $objPage->tpl_mainpage = 'regist/error.tpl'; 
    63     $objPage->tpl_css = "/css/layout/regist/error.css"; 
    64     $objPage->tpl_title = 'エラー'; 
    65  
    66 } 
    67  
    68 //---- ページ表示 
    69 $objView->assignobj($objPage); 
    70 $objView->display(SITE_FRAME); 
    71  
    72 //---- 登録 
    73 function lfRegistData($array) { 
    74     global $objQuery; 
    75     global $objConn; 
    76     global $arrInfo; 
    77      
    78     do { 
    79         $secret = sfGetUniqRandomId("r"); 
    80     } while( ($result = $objConn->getOne("SELECT COUNT(*) FROM dtb_customer WHERE secret_key = ?", array($secret)) ) != 0); 
    81  
    82     $sql = "SELECT email FROM dtb_customer WHERE secret_key = ? AND status = 1"; 
    83     $email = $objConn->getOne($sql, array($array["id"])); 
    84  
    85     $objConn->query("BEGIN"); 
    86     $arrRegist["secret_key"] = $secret; // 本登録ID発行 
    87     $arrRegist["status"] = 2; 
    88     $arrRegist["update_date"] = "NOW()"; 
    89      
    90     $objQuery = new SC_Query(); 
    91     $where = "secret_key = ? AND status = 1"; 
    92      
    93     $arrRet = $objQuery->select("point", "dtb_customer", $where, array($array["id"])); 
    94     // 会員登録時の加算ポイント(購入時会員登録の場合は、ポイント加算) 
    95     $arrRegist['point'] = $arrRet[0]['point'] + addslashes($arrInfo['welcome_point']); 
    96      
    97     $objQuery->update("dtb_customer", $arrRegist, $where, array($array["id"])); 
    98  
    99     /* 購入時の自動会員登録は行わないためDEL 
    100     // 購入時登録の場合、その回の購入を会員購入とみなす。 
    101     // 会員情報の読み込み 
    102     $where1 = "secret_key = ? AND status = 2"; 
    103     $customer = $objQuery->select("*", "dtb_customer", $where1, array($secret)); 
    104     // 初回購入情報の読み込み 
    105     $order_temp_id = $objQuery->get("dtb_order_temp", "order_temp_id"); 
    106     // 購入情報の更新 
    107     if ($order_temp_id != null) { 
    108         $arrCustomer['customer_id'] = $customer[0]['customer_id']; 
    109         $where3 = "order_temp_id = ?"; 
    110         $objQuery->update("dtb_order_temp", $arrCustomer, $where3, array($order_temp_id)); 
    111         $objQuery->update("dtb_order", $arrCustomer, $where3, array($order_temp_id)); 
    112     } 
    113     */ 
    114  
    115     $sql = "SELECT mailmaga_flg FROM dtb_customer WHERE email = ?"; 
    116     $result = $objConn->getOne($sql, array($email)); 
    117      
    118     switch($result) { 
    119     // 仮HTML 
    120     case '4': 
    121         $arrRegistMail["mailmaga_flg"] = 1; 
    122         break; 
    123     // 仮TEXT 
    124     case '5': 
    125         $arrRegistMail["mailmaga_flg"] = 2; 
    126         break; 
    127     // 仮なし 
    128     case '6': 
    129         $arrRegistMail["mailmaga_flg"] = 3; 
    130         break; 
    131     default: 
    132         $arrRegistMail["mailmaga_flg"] = $result; 
    133         break; 
    134     } 
    135  
    136     $objQuery->update("dtb_customer", $arrRegistMail, "email = '" .addslashes($email). "' AND del_flg = 0"); 
    137     $objConn->query("COMMIT"); 
    138          
    139     return $secret;     // 本登録IDを返す 
    140 } 
    141  
    142 //---- 入力エラーチェック 
    143 function lfErrorCheck($array) { 
    144  
    145     global $objConn; 
    146     $objErr = new SC_CheckError($array); 
    147  
    148     $objErr->doFunc(array("仮登録ID", 'id'), array("EXIST_CHECK")); 
    149     if (! EregI("^[[:alnum:]]+$",$array["id"] )) { 
    150         $objErr->arrErr["id"] = "無効なURLです。メールに記載されている本会員登録用URLを再度ご確認ください。"; 
    151     } 
    152     if (! $objErr->arrErr["id"]) { 
    153  
    154         $sql = "SELECT customer_id FROM dtb_customer WHERE secret_key = ? AND status = 1 AND del_flg = 0"; 
    155         $result = $objConn->getOne($sql, array($array["id"])); 
    156  
    157         if (! is_numeric($result)) { 
    158             $objErr->arrErr["id"] .= "※ 既に会員登録が完了しているか、無効なURLです。<br>"; 
    159             return $objErr->arrErr; 
    160  
    161         } 
    162     } 
    163  
    164     return $objErr->arrErr; 
    165 } 
    166  
    167 //---- 正会員登録完了メール送信 
    168 function lfSendRegistMail($registSecretKey) { 
    169     global $objConn; 
    170     global $CONF; 
    171  
    172     //-- 姓名を取得 
    173     $sql = "SELECT email, name01, name02 FROM dtb_customer WHERE secret_key = ?"; 
    174     $result = $objConn->getAll($sql, array($registSecretKey)); 
    175     $data = $result[0]; 
    176      
    177     //-- メール送信 
    178     $objMailText = new SC_SiteView(); 
    179     $objMailText->assign("CONF", $CONF); 
    180     $objMailText->assign("name01", $data["name01"]); 
    181     $objMailText->assign("name02", $data["name02"]); 
    182     $toCustomerMail = $objMailText->fetch("mail_templates/customer_regist_mail.tpl"); 
    183     $subject = sfMakeSubject('会員登録が完了しました。'); 
    184     $objMail = new GC_SendMail(); 
    185  
    186     $objMail->setItem( 
    187                           ''                                // 宛先 
    188                         , $subject//"【" .$CONF["shop_name"]. "】".ENTRY_CUSTOMER_REGIST_SUBJECT      // サブジェクト 
    189                         , $toCustomerMail                   // 本文 
    190                         , $CONF["email03"]                  // 配送元アドレス 
    191                         , $CONF["shop_name"]                // 配送元 名前 
    192                         , $CONF["email03"]                  // reply_to 
    193                         , $CONF["email04"]                  // return_path 
    194                         , $CONF["email04"]                  //  Errors_to 
    195                     ); 
    196     // 宛先の設定 
    197     $name = $data["name01"] . $data["name02"] ." 様"; 
    198     $objMail->setTo($data["email"], $name); 
    199     $objMail->sendMail(); 
    200 } 
    201  
     15$objPage = new LC_Page_Regist_Ex(); 
     16$objPage->init(); 
     17$objPage->process(); 
     18register_shutdown_function(array($objPage, "destroy")); 
    20219?> 
Note: See TracChangeset for help on using the changeset viewer.