Changeset 16787


Ignore:
Timestamp:
2007/11/15 10:32:06 (14 years ago)
Author:
satou
Message:

【ペイジェント決済モジュールの修正】
・ATM決済と銀行決済において、カナ文字に半長音が入るとエラーになる。
・銀行決済において、応答のない銀行があるため、購入完了できない。
上記2点を修正しました。

Location:
branches/beta/data/downloads/module/mdl_paygent
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/beta/data/downloads/module/mdl_paygent/mdl_paygent.inc

    r16763 r16787  
    6969    PAYGENT_ATM => ORDER_PAY_WAIT,      // ATM·èºÑ¤ÏÆþ¶âÂÔ¤Á 
    7070    PAYGENT_CONVENI => ORDER_PAY_WAIT,  // ¥³¥ó¥Ó¥Ë¤ÏÆþ¶âÂÔ¤Á 
    71     PAYGENT_BANK => ORDER_NEW,          // ¶ä¹Ô¤Ï¿·µ¬¼õÉÕ 
     71    PAYGENT_BANK => ORDER_PAY_WAIT,     // ¶ä¹Ô¤ÏÆþ¶âÂÔ¤Á 
    7272); 
    7373 
     
    173173     
    174174    /** ¸ÄÊÌÅÅʸ **/ 
    175      
    176175    // ·èºÑ¶â³Û 
    177176    $arrSend['payment_amount'] = $arrData['payment_total']; 
     
    182181    // »Ùʧ¤¤¶èʬ¡¢Ê¬³ä²ó¿ô¤Î¼èÆÀ 
    183182    list($payment_class, $split_count) = split("-", $arrInput['payment_class']); 
    184          
    185183    // »Ùʧ¤¤¶èʬ 
    186184    /* 
     
    231229     
    232230    /** ¸ÄÊÌÅÅʸ **/ 
    233      
    234231    // ·èºÑ¶â³Û 
    235232    $arrSend['payment_amount'] = $arrData['payment_total']; 
     
    287284    $arrSend = sfGetPaygentShare(PAYGENT_ATM, $arrData['order_id'], $arrPaymentDB[0]); 
    288285     
    289      
    290286    /** ¸ÄÊÌÅÅʸ **/ 
    291      
    292287    // ·èºÑ¶â³Û 
    293288    $arrSend['payment_amount'] = $arrData['payment_total']; 
    294  
    295289    // ÍøÍѼÔÀ« 
    296290    $arrSend['customer_family_name'] = $arrInput['customer_family_name']; 
     
    299293    // ÍøÍѼÔÀ«È¾³Ñ¥«¥Ê 
    300294    $arrSend['customer_family_name_kana'] = mb_convert_kana($arrInput['customer_family_name_kana'],'k'); 
     295    $arrSend['customer_family_name_kana'] = preg_replace("/Ž°/", "-", $arrSend['customer_family_name_kana']); 
    301296    // ÍøÍѼÔ̾Ⱦ³Ñ¥«¥Ê 
    302297    $arrSend['customer_name_kana'] = mb_convert_kana($arrInput['customer_name_kana'],'k'); 
     298    $arrSend['customer_name_kana'] = preg_replace("/Ž°/", "-", $arrSend['customer_name_kana']); 
    303299    // ·èºÑÆâÍÆ 
    304300    $arrSend['payment_detail'] = $arrOtherParam['payment_detail']; 
    305301    // ·èºÑÆâÍÆȾ³Ñ¥«¥Ê 
    306302    $arrSend['payment_detail_kana'] = mb_convert_kana($arrOtherParam['payment_detail'],'k'); 
     303    $arrSend['payment_detail_kana'] = preg_replace("/Ž°/", "-", $arrSend['payment_detail_kana']); 
    307304    // »Ùʧ´ü¸ÂÆü 
    308305    $arrSend['payment_limit_date'] = $arrOtherParam['payment_limit_date']; 
     
    345342 
    346343    /** ¸ÄÊÌÅÅʸ **/ 
    347      
    348344    //$arrSend['bank_code'] = $arrInput['bank_code'];    
    349345    // ·èºÑ¶â³Û 
    350346    $arrSend['amount'] = $arrData['payment_total']; 
    351347    // ÀÁµáÆâÍÆ¥«¥Ê 
    352     $arrSend['claim_kana'] = $arrOtherParam['claim_kana']; 
     348    $arrSend['claim_kana'] = mb_convert_kana($arrOtherParam['claim_kana'],'k'); 
     349    $arrSend['claim_kana'] = preg_replace("/Ž°/", "-", $arrSend['claim_kana']); 
    353350    // ÀÁµáÆâÍÆ´Á»ú 
    354351    $arrSend['claim_kanji'] = $arrOtherParam['claim_kanji'];     
     
    359356    // ÍøÍѼÔÀ«È¾³Ñ¥«¥Ê 
    360357    $arrSend['customer_family_name_kana'] = mb_convert_kana($arrInput['customer_family_name_kana'],'k'); 
     358    $arrSend['customer_family_name_kana'] = preg_replace("/Ž°/", "-", $arrSend['customer_family_name_kana']); 
    361359    // ÍøÍѼÔ̾Ⱦ³Ñ¥«¥Ê 
    362360    $arrSend['customer_name_kana'] = mb_convert_kana($arrInput['customer_name_kana'],'k'); 
     361    $arrSend['customer_name_kana'] = preg_replace("/Ž°/", "-", $arrSend['customer_name_kana']); 
    363362    // PC-Mobile¶èʬ 
    364363    /* 
     
    370369    $arrSend['pc_mobile_type'] = '0'; 
    371370    // ŹÊÞ̾ 
    372     $arrSend['merchant_name'] = $arrOtherParam['claim_kanji'];   
     371    $arrSend['merchant_name'] = $arrOtherParam['claim_kanji']; 
    373372    // ´°Î»¸å¤ÎÌá¤ê£Õ£Ò£Ì  
    374     $arrSend['return_url'] = SSL_URL . "shopping/load_payment_module.php"; 
     373    $arrSend['return_url'] = SITE_URL. "index.php"; 
    375374    // Ìá¤ê¥Ü¥¿¥ó£Õ£Ò£Ì  
    376     $arrSend['stop_return_url'] = SSL_URL . "shopping/load_payment_module.php"; 
    377      
     375    $arrSend['stop_return_url'] = SSL_URL. "shopping/load_payment_module.php"; 
    378376    // ¥³¥Ô¡¼¥é¥¤¥È  
    379377    $arrSend['copy_right'] = $arrOtherParam['copy_right']; 
  • branches/beta/data/downloads/module/mdl_paygent/paygent_bank.php

    r16746 r16787  
    2323$objView = new SC_SiteView(); 
    2424$objCampaignSess = new SC_CampaignSession(); 
     25$objCustomer = new SC_Customer(); 
    2526$objSiteInfo = $objView->objSiteInfo; 
    2627$arrInfo = $objSiteInfo->data; 
     
    7071        // ¥¯¥ì¥¸¥Ã¥ÈÅÅʸÁ÷¿® 
    7172        $arrRet = sfSendPaygentBANK($arrData, $arrInput, $uniqid);       
    72          
    7373        // À®¸ù 
    7474        if($arrRet['asp_url'] != "") { 
    7575            // Àµ¾ï¤ËÅÐÏ¿¤µ¤ì¤¿¤³¤È¤òµ­Ï¿¤·¤Æ¤ª¤¯ 
    7676            $objSiteSess->setRegistFlag(); 
     77            // ÅÐÏ¿½èÍý 
     78            $objQuery->begin(); 
     79            $order_id = lfDoComplete($objQuery, $uniqid); 
     80            $objQuery->commit(); 
     81            // ¥»¥Ã¥·¥ç¥ó¤ËÊݴɤµ¤ì¤Æ¤¤¤ë¾ðÊó¤ò¹¹¿·¤¹¤ë 
     82            $objCustomer->updateSession(); 
     83            // ´°Î»¥á¡¼¥ëÁ÷¿® 
     84            if($order_id != "") { 
     85                $order_email = $objQuery->select("order_email", "dtb_order", "order_id = ?", array($order_id)); 
     86                //ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¥á¡¼¥ë¥¢¥É¥ì¥¹¤¬·ÈÂÓ¤«PC¤«¤Ë±þ¤¸¤ÆÃíʸ´°Î»¥á¡¼¥ë¤Î¥Æ¥ó¥×¥ì¡¼¥È¤òÊѤ¨¤ë 
     87                if(ereg("(ezweb.ne.jp$|docomo.ne.jp$|softbank.ne.jp$|vodafone.ne.jp$)",$order_email[0]['order_email'])){ 
     88                    // ¥â¥Ð¥¤¥ëÈÇ 
     89                    sfSendOrderMail($order_id, '2'); 
     90                }else{ 
     91                    // PCÈÇ 
     92                    sfSendOrderMail($order_id, '1'); 
     93                } 
     94            } 
     95            // ¥Ú¥¤¥¸¥§¥ó¥È·èºÑ²èÌ̤ËÁ«°Ü 
    7796            header("Location: " . $arrRet['asp_url']); 
     97        // ¼ºÇÔ 
    7898        } else { 
    79             // ¼ºÇÔ 
    8099            $objPage->tpl_error = "ǧ¾Ú¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£¤ª¼ê¿ô¤Ç¤¹¤¬ÆþÎÏÆâÍƤò¤´³Îǧ¤¯¤À¤µ¤¤¡£"; 
    81100        } 
    82101    } 
    83     break; 
    84 // ·èºÑ¥Ú¡¼¥¸¤Ø¤ÎÁ«°Ü¸å¤Î±þÅú 
    85 default: 
    86     // ±þÅú¤Î¤¢¤Ã¤¿¼õÃíID¤¬¼õÃí°ì»þ¥Æ¡¼¥Ö¥ë¤ÎID¤È°ìÃפ·¤Æ¤¤¤ë¡£ 
    87     if($_GET['trading_id'] == $arrData['order_id']) { 
    88         if($_GET['result'] == '0' && $_GET['payment_id'] != "") { 
    89             // Àµ¾ï¤ËÅÐÏ¿¤µ¤ì¤¿¤³¤È¤òµ­Ï¿¤·¤Æ¤ª¤¯ 
    90             $objSiteSess->setRegistFlag(); 
    91             header("Location: " . URL_SHOP_COMPLETE); 
    92         } else { 
    93             // ¼ºÇÔ 
    94             $objPage->tpl_error = "·èºÑ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£¤ª¼ê¿ô¤Ç¤¹¤¬ºÆÅÙ¤ª¼ê³¤­¤ò¹Ô¤¦¤«¡¢Ê̤Τª»Ùʧ¤¤ÊýË¡¤òÁªÂò¤·¤Æ²¼¤µ¤¤¡£"; 
    95         } 
    96     }    
    97102    break; 
    98103} 
     
    112117// ¥Õ¥ì¡¼¥à¤òÁªÂò(¥­¥ã¥ó¥Ú¡¼¥ó¥Ú¡¼¥¸¤«¤éÁ«°Ü¤Ê¤éÊѹ¹) 
    113118$objCampaignSess->pageView($objView); 
    114 //------------------------------------------------------------------------------------------------------- 
     119 
     120//----------------------------------------------------------------------------------------------- 
     121 
    115122/* ¥Ñ¥é¥á¡¼¥¿¾ðÊó¤Î½é´ü²½ */ 
    116123function lfInitParam($arrData) { 
     
    132139    return $objErr->arrErr; 
    133140} 
    134 ?> 
     141 
     142// ´°Î»½èÍý 
     143function lfDoComplete($objQuery, $uniqid) { 
     144    global $objCartSess; 
     145    global $objSiteSess; 
     146    global $objCampaignSess; 
     147    global $objCustomer; 
     148    global $arrInfo; 
     149     
     150    // °ì»þ¼õÃí¥Æ¡¼¥Ö¥ë¤ÎÆɹþ 
     151    $arrData = sfGetOrderTemp($uniqid); 
     152 
     153    // ²ñ°÷¾ðÊóÅÐÏ¿½èÍý 
     154    if ($objCustomer->isLoginSuccess()) { 
     155        // ¿·¤ªÆϤ±Àè¤ÎÅÐÏ¿ 
     156        lfSetNewAddr($uniqid, $objCustomer->getValue('customer_id')); 
     157        // ¹ØÆþ½¸·×¤ò¸ÜµÒ¥Æ¡¼¥Ö¥ë¤ËÈ¿±Ç 
     158        lfSetCustomerPurchase($objCustomer->getValue('customer_id'), $arrData, $objQuery); 
     159    } else { 
     160        //¹ØÆþ»þ¶¯À©²ñ°÷ÅÐÏ¿ 
     161        switch(PURCHASE_CUSTOMER_REGIST) { 
     162        //̵¸ú 
     163        case '0': 
     164            // ¹ØÆþ»þ²ñ°÷ÅÐÏ¿ 
     165            if($arrData['member_check'] == '1') { 
     166                // ²¾²ñ°÷ÅÐÏ¿ 
     167                $customer_id = lfRegistPreCustomer($arrData, $arrInfo); 
     168                // ¹ØÆþ½¸·×¤ò¸ÜµÒ¥Æ¡¼¥Ö¥ë¤ËÈ¿±Ç 
     169                lfSetCustomerPurchase($customer_id, $arrData, $objQuery); 
     170            } 
     171            break; 
     172        //Í­¸ú 
     173        case '1': 
     174            // ²¾²ñ°÷ÅÐÏ¿ 
     175            $customer_id = lfRegistPreCustomer($arrData, $arrInfo); 
     176            // ¹ØÆþ½¸·×¤ò¸ÜµÒ¥Æ¡¼¥Ö¥ë¤ËÈ¿±Ç 
     177            lfSetCustomerPurchase($customer_id, $arrData, $objQuery); 
     178            break; 
     179        } 
     180    } 
     181     
     182    // °ì»þ¥Æ¡¼¥Ö¥ë¤ò¼õÃí¥Æ¡¼¥Ö¥ë¤Ë³ÊǼ¤¹¤ë 
     183    $order_id = lfRegistOrder($objQuery, $arrData, $objCampaignSess); 
     184    // ¥«¡¼¥È¾¦Éʤò¼õÃí¾ÜºÙ¥Æ¡¼¥Ö¥ë¤Ë³ÊǼ¤¹¤ë 
     185    lfRegistOrderDetail($objQuery, $order_id, $objCartSess); 
     186    // ¼õÃí°ì»þ¥Æ¡¼¥Ö¥ë¤Î¾ðÊó¤òºï½ü¤¹¤ë¡£ 
     187    lfDeleteTempOrder($objQuery, $uniqid); 
     188    // ¥­¥ã¥ó¥Ú¡¼¥ó¤«¤é¤ÎÁ«°Ü¤Î¾ì¹çÅÐÏ¿¤¹¤ë¡£ 
     189    if($objCampaignSess->getIsCampaign() and $objCartSess->chkCampaign($objCampaignSess->getCampaignId())) { 
     190        lfRegistCampaignOrder($objQuery, $objCampaignSess, $order_id); 
     191    } 
     192     
     193    // ¥»¥Ã¥·¥ç¥ó¥«¡¼¥ÈÆâ¤Î¾¦Éʤòºï½ü¤¹¤ë¡£ 
     194    $objCartSess->delAllProducts(); 
     195    // Ãíʸ°ì»þID¤ò²ò½ü¤¹¤ë¡£ 
     196    $objSiteSess->unsetUniqId(); 
     197     
     198    return $order_id; 
     199} 
     200 
     201// ¼õÃí°ì»þ¥Æ¡¼¥Ö¥ë¤Î½»½ê¤¬ÅÐÏ¿ºÑ¤ß¥Æ¡¼¥Ö¥ë¤È°Û¤Ê¤ë¾ì¹ç¤Ï¡¢Ê̤ΤªÆϤ±Àè¤ËÄɲ乤ë 
     202function lfSetNewAddr($uniqid, $customer_id) { 
     203    $objQuery = new SC_Query(); 
     204    $diff = false; 
     205    $find_same = false; 
     206     
     207    $col = "deliv_name01,deliv_name02,deliv_kana01,deliv_kana02,deliv_tel01,deliv_tel02,deliv_tel03,deliv_zip01,deliv_zip02,deliv_pref,deliv_addr01,deliv_addr02"; 
     208    $where = "order_temp_id = ?"; 
     209    $arrRet = $objQuery->select($col, "dtb_order_temp", $where, array($uniqid)); 
     210     
     211    // Í×ÁÇ̾¤Îdeliv_¤òºï½ü¤¹¤ë¡£ 
     212    foreach($arrRet[0] as $key => $val) { 
     213        $keyname = ereg_replace("^deliv_", "", $key); 
     214        $arrNew[$keyname] = $val; 
     215    } 
     216     
     217    // ²ñ°÷¾ðÊó¥Æ¡¼¥Ö¥ë¤È¤ÎÈæ³Ó 
     218    $col = "name01,name02,kana01,kana02,tel01,tel02,tel03,zip01,zip02,pref,addr01,addr02"; 
     219    $where = "customer_id = ?"; 
     220    $arrCustomerAddr = $objQuery->select($col, "dtb_customer", $where, array($customer_id)); 
     221     
     222    // ²ñ°÷¾ðÊó¤Î½»½ê¤È°Û¤Ê¤ë¾ì¹ç 
     223    if($arrNew != $arrCustomerAddr[0]) { 
     224        // Ê̤ΤªÆϤ±Àè¥Æ¡¼¥Ö¥ë¤Î½»½ê¤ÈÈæ³Ó¤¹¤ë 
     225        $col = "name01,name02,kana01,kana02,tel01,tel02,tel03,zip01,zip02,pref,addr01,addr02"; 
     226        $where = "customer_id = ?"; 
     227        $arrOtherAddr = $objQuery->select($col, "dtb_other_deliv", $where, array($customer_id)); 
     228 
     229        foreach($arrOtherAddr as $arrval) { 
     230            if($arrNew == $arrval) { 
     231                // ¤¹¤Ç¤ËƱ¤¸½»½ê¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë 
     232                $find_same = true; 
     233            } 
     234        } 
     235         
     236        if(!$find_same) { 
     237            $diff = true; 
     238        } 
     239    } 
     240     
     241    // ¿·¤·¤¤¤ªÆϤ±À褬ÅÐÏ¿ºÑ¤ß¤Î¤â¤Î¤È°Û¤Ê¤ë¾ì¹ç¤ÏÊ̤ΤªÆϤ±Àè¥Æ¡¼¥Ö¥ë¤ËÅÐÏ¿¤¹¤ë 
     242    if($diff) { 
     243        $sqlval = $arrNew; 
     244        $sqlval['customer_id'] = $customer_id; 
     245        $objQuery->insert("dtb_other_deliv", $sqlval); 
     246    } 
     247} 
     248 
     249/* ¹ØÆþ¾ðÊó¤ò²ñ°÷¥Æ¡¼¥Ö¥ë¤ËÅÐÏ¿¤¹¤ë */ 
     250function lfSetCustomerPurchase($customer_id, $arrData, $objQuery) { 
     251    $col = "first_buy_date, last_buy_date, buy_times, buy_total, point"; 
     252    $where = "customer_id = ?"; 
     253    $arrRet = $objQuery->select($col, "dtb_customer", $where, array($customer_id)); 
     254    $sqlval = $arrRet[0]; 
     255     
     256    if($sqlval['first_buy_date'] == "") { 
     257        $sqlval['first_buy_date'] = "Now()"; 
     258    } 
     259    $sqlval['last_buy_date'] = "Now()"; 
     260    $sqlval['buy_times']++; 
     261    $sqlval['buy_total']+= $arrData['total']; 
     262    $sqlval['point'] = ($sqlval['point'] + $arrData['add_point'] - $arrData['use_point']); 
     263     
     264    // ¥Ý¥¤¥ó¥È¤¬ÉÔ­¤·¤Æ¤¤¤ë¾ì¹ç 
     265    if($sqlval['point'] < 0) { 
     266        $objQuery->rollback(); 
     267        sfDispSiteError(LACK_POINT); 
     268    } 
     269     
     270    $objQuery->update("dtb_customer", $sqlval, $where, array($customer_id)); 
     271} 
     272 
     273// ²ñ°÷ÅÐÏ¿¡Ê²¾ÅÐÏ¿¡Ë 
     274function lfRegistPreCustomer($arrData, $arrInfo) { 
     275    // ¹ØÆþ»þ¤Î²ñ°÷ÅÐÏ¿ 
     276    $sqlval['name01'] = $arrData['order_name01']; 
     277    $sqlval['name02'] = $arrData['order_name02']; 
     278    $sqlval['kana01'] = $arrData['order_kana01']; 
     279    $sqlval['kana02'] = $arrData['order_kana02']; 
     280    $sqlval['zip01'] = $arrData['order_zip01']; 
     281    $sqlval['zip02'] = $arrData['order_zip02']; 
     282    $sqlval['pref'] = $arrData['order_pref']; 
     283    $sqlval['addr01'] = $arrData['order_addr01']; 
     284    $sqlval['addr02'] = $arrData['order_addr02']; 
     285    $sqlval['email'] = $arrData['order_email']; 
     286    $sqlval['tel01'] = $arrData['order_tel01']; 
     287    $sqlval['tel02'] = $arrData['order_tel02']; 
     288    $sqlval['tel03'] = $arrData['order_tel03']; 
     289    $sqlval['fax01'] = $arrData['order_fax01']; 
     290    $sqlval['fax02'] = $arrData['order_fax02']; 
     291    $sqlval['fax03'] = $arrData['order_fax03']; 
     292    $sqlval['sex'] = $arrData['order_sex']; 
     293    $sqlval['password'] = $arrData['password']; 
     294    $sqlval['reminder'] = $arrData['reminder']; 
     295    $sqlval['reminder_answer'] = $arrData['reminder_answer']; 
     296     
     297    // ¥á¥ë¥Þ¥¬ÇÛ¿®Íѥե饰¤ÎȽÄê 
     298    switch($arrData['mail_flag']) { 
     299    case '1':   // HTML¥á¡¼¥ë 
     300        $mail_flag = 4; 
     301        break; 
     302    case '2':   // TEXT¥á¡¼¥ë 
     303        $mail_flag = 5; 
     304        break; 
     305    case '3':   // ´õ˾¤Ê¤· 
     306        $mail_flag = 6; 
     307        break; 
     308    default: 
     309        $mail_flag = 6; 
     310        break; 
     311    } 
     312    // ¥á¥ë¥Þ¥¬¥Õ¥é¥° 
     313    $sqlval['mailmaga_flg'] = $mail_flag; 
     314         
     315    // ²ñ°÷²¾ÅÐÏ¿ 
     316    $sqlval['status'] = 1; 
     317    // URLȽÄêÍÑ¥­¡¼ 
     318    $sqlval['secret_key'] = sfGetUniqRandomId("t");  
     319     
     320    $objQuery = new SC_Query(); 
     321    $sqlval['create_date'] = "now()"; 
     322    $sqlval['update_date'] = "now()"; 
     323    $objQuery->insert("dtb_customer", $sqlval); 
     324     
     325    // ¸ÜµÒID¤Î¼èÆÀ 
     326    $arrRet = $objQuery->select("customer_id", "dtb_customer", "secret_key = ?", array($sqlval['secret_key'])); 
     327    $customer_id = $arrRet[0]['customer_id']; 
     328     
     329    //¡¡²¾ÅÐÏ¿´°Î»¥á¡¼¥ëÁ÷¿® 
     330    $objMailPage = new LC_Page(); 
     331    $objMailPage->to_name01 = $arrData['order_name01']; 
     332    $objMailPage->to_name02 = $arrData['order_name02']; 
     333    $objMailPage->CONF = $arrInfo; 
     334    $objMailPage->uniqid = $sqlval['secret_key']; 
     335    $objMailView = new SC_SiteView(); 
     336    $objMailView->assignobj($objMailPage); 
     337    $body = $objMailView->fetch("mail_templates/customer_mail.tpl"); 
     338     
     339    $objMail = new GC_SendMail(); 
     340    $objMail->setItem( 
     341                        ''                                      //¡¡°¸Àè 
     342                        , sfMakeSubject("²ñ°÷ÅÐÏ¿¤Î¤´³Îǧ")     //¡¡¥µ¥Ö¥¸¥§¥¯¥È 
     343                        , $body                                 //¡¡ËÜʸ 
     344                        , $arrInfo['email03']                   //¡¡ÇÛÁ÷¸µ¥¢¥É¥ì¥¹ 
     345                        , $arrInfo['shop_name']                 //¡¡ÇÛÁ÷¸µ¡¡Ì¾Á° 
     346                        , $arrInfo["email03"]                   //¡¡reply_to 
     347                        , $arrInfo["email04"]                   //¡¡return_path 
     348                        , $arrInfo["email04"]                   //  Errors_to 
     349                        , $arrInfo["email01"]                   //  Bcc 
     350                                                        ); 
     351    // °¸Àè¤ÎÀßÄê 
     352    $name = $arrData['order_name01'] . $arrData['order_name02'] ." ÍÍ"; 
     353    $objMail->setTo($arrData['order_email'], $name);             
     354    $objMail->sendMail(); 
     355     
     356    return $customer_id; 
     357} 
     358 
     359// ¼õÃí¥Æ¡¼¥Ö¥ë¤ØÅÐÏ¿ 
     360function lfRegistOrder($objQuery, $arrData, $objCampaignSess) { 
     361    $sqlval = $arrData; 
     362 
     363    // ¼õÃí¥Æ¡¼¥Ö¥ë¤Ë½ñ¤­¹þ¤Þ¤Ê¤¤Îó¤ò½üµî 
     364    unset($sqlval['mailmaga_flg']);     // ¥á¥ë¥Þ¥¬¥Á¥§¥Ã¥¯ 
     365    unset($sqlval['deliv_check']);      // Ê̤ΤªÆϤ±Àè¥Á¥§¥Ã¥¯ 
     366    unset($sqlval['point_check']);      // ¥Ý¥¤¥ó¥ÈÍøÍÑ¥Á¥§¥Ã¥¯ 
     367    unset($sqlval['member_check']);     // ¹ØÆþ»þ²ñ°÷¥Á¥§¥Ã¥¯ 
     368    unset($sqlval['password']);         // ¥í¥°¥¤¥ó¥Ñ¥¹¥ï¡¼¥É 
     369    unset($sqlval['reminder']);         // ¥ê¥Þ¥¤¥ó¥À¡¼¼ÁÌä 
     370    unset($sqlval['reminder_answer']);  // ¥ê¥Þ¥¤¥ó¥À¡¼Åú¤¨ 
     371    unset($sqlval['mail_flag']);        // ¥á¡¼¥ë¥Õ¥é¥° 
     372    unset($sqlval['session']);          // ¥»¥Ã¥·¥ç¥ó¾ðÊó 
     373     
     374    // Ãíʸ¥¹¥Æ¡¼¥¿¥¹:»ØÄ̵꤬¤±¤ì¤Ð¿·µ¬¼õÉÕ¤ËÀßÄê 
     375    if($sqlval["status"] == ""){ 
     376        $sqlval['status'] = '1';             
     377    } 
     378     
     379    // Ê̤ΤªÆϤ±Àè¤ò»ØÄꤷ¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢ÇÛÁ÷Àè¤ËÅÐÏ¿½»½ê¤ò¥³¥Ô¡¼¤¹¤ë¡£ 
     380    if($arrData["deliv_check"] == "-1") { 
     381        $sqlval['deliv_name01'] = $arrData['order_name01']; 
     382        $sqlval['deliv_name02'] = $arrData['order_name02']; 
     383        $sqlval['deliv_kana01'] = $arrData['order_kana01']; 
     384        $sqlval['deliv_kana02'] = $arrData['order_kana02']; 
     385        $sqlval['deliv_pref'] = $arrData['order_pref']; 
     386        $sqlval['deliv_zip01'] = $arrData['order_zip01']; 
     387        $sqlval['deliv_zip02'] = $arrData['order_zip02']; 
     388        $sqlval['deliv_addr01'] = $arrData['order_addr01']; 
     389        $sqlval['deliv_addr02'] = $arrData['order_addr02']; 
     390        $sqlval['deliv_tel01'] = $arrData['order_tel01']; 
     391        $sqlval['deliv_tel02'] = $arrData['order_tel02']; 
     392        $sqlval['deliv_tel03'] = $arrData['order_tel03']; 
     393    } 
     394     
     395    $order_id = $arrData['order_id'];       // ¥ª¡¼¥À¡¼ID 
     396    $sqlval['create_date'] = 'now()';       // ¼õÃíÆü 
     397     
     398    // ¥­¥ã¥ó¥Ú¡¼¥óID 
     399    if($objCampaignSess->getIsCampaign()) $sqlval['campaign_id'] = $objCampaignSess->getCampaignId(); 
     400 
     401    // ¥²¥Ã¥È¤ÎÃͤò¥¤¥ó¥µ¡¼¥È 
     402    //$sqlval = lfGetInsParam($sqlval); 
     403     
     404    // INSERT¤Î¼Â¹Ô 
     405    $objQuery->insert("dtb_order", $sqlval); 
     406     
     407    return $order_id; 
     408} 
     409 
     410// ¼õÃí¾ÜºÙ¥Æ¡¼¥Ö¥ë¤ØÅÐÏ¿ 
     411function lfRegistOrderDetail($objQuery, $order_id, $objCartSess) { 
     412    // ¥«¡¼¥ÈÆâ¾ðÊó¤Î¼èÆÀ 
     413    $arrCart = $objCartSess->getCartList(); 
     414    $max = count($arrCart); 
     415     
     416    // ´û¤Ë¸ºß¤¹¤ë¾ÜºÙ¥ì¥³¡¼¥É¤ò¾Ã¤·¤Æ¤ª¤¯¡£ 
     417    $objQuery->delete("dtb_order_detail", "order_id = $order_id"); 
     418 
     419    // µ¬³Ê̾°ìÍ÷ 
     420    $arrClassName = sfGetIDValueList("dtb_class", "class_id", "name"); 
     421    // µ¬³ÊʬÎà̾°ìÍ÷ 
     422    $arrClassCatName = sfGetIDValueList("dtb_classcategory", "classcategory_id", "name"); 
     423             
     424    for ($i = 0; $i < $max; $i++) { 
     425        // ¾¦Éʵ¬³Ê¾ðÊó¤Î¼èÆÀ    
     426        $arrData = sfGetProductsClass($arrCart[$i]['id']); 
     427         
     428        // ¸ºß¤¹¤ë¾¦ÉʤΤßɽ¼¨¤¹¤ë¡£ 
     429        if($arrData != "") { 
     430            $sqlval['order_id'] = $order_id; 
     431            $sqlval['product_id'] = $arrCart[$i]['id'][0]; 
     432            $sqlval['classcategory_id1'] = $arrCart[$i]['id'][1]; 
     433            $sqlval['classcategory_id2'] = $arrCart[$i]['id'][2]; 
     434            $sqlval['product_name'] = $arrData['name']; 
     435            $sqlval['product_code'] = $arrData['product_code']; 
     436            $sqlval['classcategory_name1'] = $arrClassCatName[$arrData['classcategory_id1']]; 
     437            $sqlval['classcategory_name2'] = $arrClassCatName[$arrData['classcategory_id2']]; 
     438            $sqlval['point_rate'] = $arrCart[$i]['point_rate'];          
     439            $sqlval['price'] = $arrCart[$i]['price']; 
     440            $sqlval['quantity'] = $arrCart[$i]['quantity']; 
     441            lfReduceStock($objQuery, $arrCart[$i]['id'], $arrCart[$i]['quantity']); 
     442            // INSERT¤Î¼Â¹Ô 
     443            $objQuery->insert("dtb_order_detail", $sqlval); 
     444        } else { 
     445            sfDispSiteError(CART_NOT_FOUND); 
     446        } 
     447    } 
     448} 
     449 
     450/* ¼õÃí°ì»þ¥Æ¡¼¥Ö¥ë¤Îºï½ü */ 
     451function lfDeleteTempOrder($objQuery, $uniqid) { 
     452    $where = "order_temp_id = ?"; 
     453    $sqlval['del_flg'] = 1; 
     454    $objQuery->update("dtb_order_temp", $sqlval, $where, array($uniqid)); 
     455    // $objQuery->delete("dtb_order_temp", $where, array($uniqid)); 
     456} 
     457 
     458// ¥­¥ã¥ó¥Ú¡¼¥ó¼õÃí¥Æ¡¼¥Ö¥ë¤ØÅÐÏ¿ 
     459function lfRegistCampaignOrder($objQuery, $objCampaignSess, $order_id) { 
     460 
     461    // ¼õÃí¥Ç¡¼¥¿¤ò¼èÆÀ 
     462    $cols = "order_id, campaign_id, customer_id, message, order_name01, order_name02,". 
     463            "order_kana01, order_kana02, order_email, order_tel01, order_tel02, order_tel03,". 
     464            "order_fax01, order_fax02, order_fax03, order_zip01, order_zip02, order_pref, order_addr01,". 
     465            "order_addr02, order_sex, order_birth, order_job, deliv_name01, deliv_name02, deliv_kana01,". 
     466            "deliv_kana02, deliv_tel01, deliv_tel02, deliv_tel03, deliv_fax01, deliv_fax02, deliv_fax03,". 
     467            "deliv_zip01, deliv_zip02, deliv_pref, deliv_addr01, deliv_addr02, payment_total"; 
     468 
     469    $arrOrder = $objQuery->select($cols, "dtb_order", "order_id = ?", array($order_id));  
     470             
     471    $sqlval = $arrOrder[0]; 
     472    $sqlval['create_date'] = 'now()'; 
     473         
     474    // INSERT¤Î¼Â¹Ô 
     475    $objQuery->insert("dtb_campaign_order", $sqlval); 
     476     
     477    // ¿½¤·¹þ¤ß¿ô¤Î¹¹¿· 
     478    $total_count = $objQuery->get("dtb_campaign", "total_count", "campaign_id = ?", array($sqlval['campaign_id'])); 
     479    $arrCampaign['total_count'] = $total_count += 1; 
     480    $objQuery->update("dtb_campaign", $arrCampaign, "campaign_id = ?", array($sqlval['campaign_id'])); 
     481     
     482} 
     483 
     484// ºß¸Ë¤ò¸º¤é¤¹½èÍý 
     485function lfReduceStock($objQuery, $arrID, $quantity) { 
     486    $where = "product_id = ? AND classcategory_id1 = ? AND classcategory_id2 = ?"; 
     487    $arrRet = $objQuery->select("stock, stock_unlimited", "dtb_products_class", $where, $arrID); 
     488     
     489    // Çä¤êÀڤ쥨¥é¡¼ 
     490    if(($arrRet[0]['stock_unlimited'] != '1' && $arrRet[0]['stock'] < $quantity) || $quantity == 0) { 
     491        $objQuery->rollback(); 
     492        sfDispSiteError(SOLD_OUT, "", true); 
     493    // ̵À©¸Â¤Î¾ì¹ç¡¢ºß¸Ë¤ÏNULL 
     494    } elseif($arrRet[0]['stock_unlimited'] == '1') { 
     495        $sqlval['stock'] = null; 
     496        $objQuery->update("dtb_products_class", $sqlval, $where, $arrID); 
     497    // ºß¸Ë¤ò¸º¤é¤¹ 
     498    } else { 
     499        $sqlval['stock'] = ($arrRet[0]['stock'] - $quantity); 
     500        if($sqlval['stock'] == "") { 
     501            $sqlval['stock'] = '0'; 
     502        }        
     503        $objQuery->update("dtb_products_class", $sqlval, $where, $arrID); 
     504    } 
     505} 
     506 
     507?>?> 
Note: See TracChangeset for help on using the changeset viewer.