Changeset 16901


Ignore:
Timestamp:
2007/12/05 19:45:51 (16 years ago)
Author:
naka
Message:

zero_recv修正

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/beta/data/downloads/module/mdl_zero/zero_recv.php

    r15844 r16901  
    22 
    33require_once('../require.php'); 
     4require_once(MODULE_PATH . 'mdl_zero/mdl_zero.inc'); 
    45 
    56//¥Ú¡¼¥¸´ÉÍý¥¯¥é¥¹ 
     
    3031// GET¤ÎÆâÍƤòÁ´¤Æ¥í¥°Êݸ 
    3132foreach($arrResult as $key => $val){ 
    32     gfPrintLog( "\t" . $key . " => " . $val, $log_path); 
     33    gfPrintLog( "\t" . $key . " => " . $val, $log_path); 
    3334} 
    3435 
    3536if(!empty($_GET["clientip"])){ 
    36     $objQuery->begin(); 
    37     $order_id = lfDoComplete($objQuery, $arrResult); 
    38     $objQuery->commit(); 
     37    $objQuery->begin(); 
     38    $order_id = lfDoComplete($objQuery, $arrResult, $log_path); 
     39    $objQuery->commit(); 
    3940} 
    4041 
    4142// ´°Î»¥á¡¼¥ëÁ÷¿® 
    42 if(sfIsInt($order_id)) { 
     43if(sfIsInt($order_id) && $order_id > 0) { 
    4344    $order_email = $objQuery->select("order_email", "dtb_order", "order_id = ?", array($order_id)); 
    4445     
    4546    //ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¥á¡¼¥ë¥¢¥É¥ì¥¹¤¬·ÈÂÓ¤«PC¤«¤Ë±þ¤¸¤ÆÃíʸ´°Î»¥á¡¼¥ë¤Î¥Æ¥ó¥×¥ì¡¼¥È¤òÊѤ¨¤ë 
    4647    if(ereg("(ezweb.ne.jp$|docomo.ne.jp$|softbank.ne.jp$|vodafone.ne.jp$)",$order_email[0]['order_email'])){ 
    47         // ¥â¥Ð¥¤¥ëÈÇ 
    48         sfSendOrderMail($order_id, '2'); 
    49     }else{ 
    50         // PCÈÇ 
    51         sfSendOrderMail($order_id, '1'); 
    52     } 
     48        // ¥â¥Ð¥¤¥ëÈÇ 
     49        sfSendOrderMail($order_id, '2'); 
     50    }else{ 
     51        // PCÈÇ 
     52        sfSendOrderMail($order_id, '1'); 
     53    } 
    5354    print("OK"); 
    5455} else { 
    5556    // ¥¨¥é¡¼¤Î¾ì¹ç¼õ¿®¥Ç¡¼¥¿¤òÁ÷¿® 
    5657    gfPrintLog("!!!!!!!!!!!! zero error !!!!!!!!!!!!!!", $log_path); 
    57     ob_start(); 
    58     print($order_id . "\n"); 
    59     print_r($arrResult); 
    60     $msg = ob_get_contents(); 
    61     ob_end_clean(); 
    62     print("NG"); 
    63 } 
     58} 
     59 
    6460gfPrintLog("**************************************** zero end ****************************************", $log_path); 
    6561//--------------------------------------------------------------------------------------------------------------------------------- 
    6662// ´°Î»½èÍý 
    67 function lfDoComplete($objQuery, $arrResult) { 
    68     global $objCartSess; 
    69     global $objSiteSess; 
     63function lfDoComplete($objQuery, $arrResult, $log_path) { 
     64    global $objCartSess; 
     65    global $objSiteSess; 
    7066    $objCampaignSess = new SC_CampaignSession(); 
    7167    $objCustomer = new SC_Customer(); 
    72     global $arrInfo; 
    73      
    74     gfprintlog($objCustomer->isLoginSuccess(),DATA_PATH . "logs/zero.log"); 
     68    global $arrInfo; 
     69     
     70    gfprintlog($objCustomer->isLoginSuccess(), $log_path); 
    7571     
    7672    // sendid ¤ÎÃͤò¶èÀÚ¤ë 
     
    8076    $money =  $arrResult["money"];    // payment_total 
    8177 
    82     $arrCrilentIP = $objQuery->select("memo02, memo04", "dtb_payment", "payment_id = ? and del_flg = 0", array($arrSendid[1])); 
     78    $arrCrilentIP = $objQuery->select("memo02, memo05", "dtb_payment", "module_id = ? and del_flg = 0", array(MDL_ZERO_ID)); 
    8379     
    8480    // ²ÃÌÁŹ¥³¡¼¥É¤¬°ã¤¦¾ì¹ç¤Ë¤Ï¥¨¥é¡¼ 
    85     if(count($arrResult)){ 
    86         if(in_array($arrResult["clientip"], $arrCrilentIP)) return "²ÃÌÁŹ¥³¡¼¥É¤¬°ã¤¤¤Þ¤¹¡£"; 
    87     }else{ 
    88         return "²ÃÌÁŹ¥³¡¼¥É¤¬°ã¤¤¤Þ¤¹¡£"; 
    89     } 
    90      
    91     // °ì»þ¼õÃí¥Æ¡¼¥Ö¥ë¤ÎÆɹþ 
    92     $arrData = sfGetOrderTemp($uniqid); 
     81    if(!(count($arrResult) > 0)){ 
     82        gfPrintLog("·èºÑ¥µ¡¼¥Ð¤«¤é¥Ç¡¼¥¿¤òÀµ¤·¤¯¼õ¤±¼è¤ì¤Þ¤»¤ó¤Ç¤·¤¿¡£", $log_path); 
     83        return; 
     84    } 
     85     
     86    if(!in_array($arrResult["clientip"], $arrCrilentIP[0])) { 
     87        gfPrintLog("²ÃÌÁŹ¥³¡¼¥É¤¬°ã¤¤¤Þ¤¹¡£", $log_path); 
     88        return; 
     89    } 
     90     
     91    // °ì»þ¼õÃí¥Æ¡¼¥Ö¥ë¤ÎÆɹþ 
     92    $arrData = sfGetOrderTemp($uniqid); 
    9393     
    9494    // °ì»þ¼õÃí¥Æ¡¼¥Ö¥ë¤«¤é¥Ç¡¼¥¿¤¬¼èÆÀ¤Ç¤­¤Ê¤±¤ì¤Ð¡¢¥¨¥é¡¼ 
    95     if(count($arrData) <= 0) return "¼õÃí°ì»þ¥Æ¡¼¥Ö¥ë¤Ë»ØÄꤷ¤¿ID¤Î¥Ç¡¼¥¿¤¬¤¢¤ê¤Þ¤»¤ó¡£"; 
     95    if(count($arrData) <= 0) { 
     96        gfPrintLog("¼õÃí°ì»þ¥Æ¡¼¥Ö¥ë¤Ë»ØÄꤷ¤¿ID¤Î¥Ç¡¼¥¿¤¬¤¢¤ê¤Þ¤»¤ó¡£", $log_path); 
     97        return; 
     98    } 
    9699     
    97100    // ·èºÑ´°Î»ºÑ¤ß¤Ç¤¢¤ì¤Ð¥¨¥é¡¼ 
    98     if($arrData["del_flg"] == 1) return "»ØÄꤷ¤¿ID¤Î¥Ç¡¼¥¿¤Ï·èºÑ´°Î»ºÑ¤ß¤Ç¤¹¡£"; 
     101    if($arrData["del_flg"] == 1) { 
     102        gfPrintLog("»ØÄꤷ¤¿ID¤Î¥Ç¡¼¥¿¤Ï·èºÑ´°Î»ºÑ¤ß¤Ç¤¹¡£", $log_path);       
     103        return; 
     104    } 
    99105     
    100106    // °ì»þ¼õÃí¥Æ¡¼¥Ö¥ë¤Î¤ª»Ùʧ¤¤¹ç·×¤È¡¢¥¼¥í¤«¤éÊ֤äƤ­¤¿¶â³Û¤È¤¬°ã¤¦¾ì¹ç¤Ï¥¨¥é¡¼ 
    101     if($arrData["payment_total"] != $money) return "555¤ª»Ùʧ¤¤¶â³Û¤¬°ã¤¤¤Þ¤¹¡£"; 
    102      
     107    if($arrData["payment_total"] != $money) { 
     108        gfPrintLog("¤ª»Ùʧ¤¤¶â³Û¤¬°ìÃפ·¤Þ¤»¤ó¡£", $log_path); 
     109        return; 
     110    } 
     111     
     112    // °ì»þ¼õÃí¥Æ¡¼¥Ö¥ë¤Î¤ª»Ùʧ¤¤¹ç·×¤È¡¢¥¼¥í¤«¤éÊ֤äƤ­¤¿¶â³Û¤È¤¬°ã¤¦¾ì¹ç¤Ï¥¨¥é¡¼ 
     113    if($arrData["payment_total"] != $money) { 
     114        gfPrintLog("¤ª»Ùʧ¤¤¶â³Û¤¬°ìÃפ·¤Þ¤»¤ó¡£", $log_path); 
     115        return; 
     116    } 
     117     
     118    // ±þÅú·ë²Ì¤¬Àµ¾ï¤Ç¤Ê¤¤¾ì¹ç 
     119    if($arrResult["result"] != 'ok' && $arrResult["result"] != 'OK') { 
     120        gfPrintLog("±þÅú·ë²ÌNG", $log_path); 
     121        return; 
     122    } 
     123         
    103124    // ¥»¥Ã¥·¥ç¥ó¾ðÊó¤ÎÉüµ¢ 
    104125    $_SESSION = unserialize($arrData["session"]); 
    105126 
    106     // ²ñ°÷¾ðÊóÅÐÏ¿½èÍý 
    107     if ($objCustomer->isLoginSuccess()) { 
    108         // ¿·¤ªÆϤ±Àè¤ÎÅÐÏ¿ 
    109         lfSetNewAddr($uniqid, $objCustomer->getValue('customer_id')); 
    110         // ¹ØÆþ½¸·×¤ò¸ÜµÒ¥Æ¡¼¥Ö¥ë¤ËÈ¿±Ç 
    111         lfSetCustomerPurchase($objCustomer->getValue('customer_id'), $arrData, $objQuery); 
    112     } else { 
    113         //¹ØÆþ»þ¶¯À©²ñ°÷ÅÐÏ¿ 
    114         switch(PURCHASE_CUSTOMER_REGIST) { 
    115         //̵¸ú 
    116         case '0': 
    117             // ¹ØÆþ»þ²ñ°÷ÅÐÏ¿ 
    118             if($arrData['member_check'] == '1') { 
    119                 // ²¾²ñ°÷ÅÐÏ¿ 
    120                 $customer_id = lfRegistPreCustomer($arrData, $arrInfo); 
    121                 // ¹ØÆþ½¸·×¤ò¸ÜµÒ¥Æ¡¼¥Ö¥ë¤ËÈ¿±Ç 
    122                 lfSetCustomerPurchase($customer_id, $arrData, $objQuery); 
    123             } 
    124             break; 
    125         //Í­¸ú 
    126         case '1': 
    127             // ²¾²ñ°÷ÅÐÏ¿ 
    128             $customer_id = lfRegistPreCustomer($arrData, $arrInfo); 
    129             // ¹ØÆþ½¸·×¤ò¸ÜµÒ¥Æ¡¼¥Ö¥ë¤ËÈ¿±Ç 
    130             lfSetCustomerPurchase($customer_id, $arrData, $objQuery); 
    131             break; 
    132         } 
    133     } 
    134  
    135     // °ì»þ¥Æ¡¼¥Ö¥ë¤ò¼õÃí¥Æ¡¼¥Ö¥ë¤Ë³ÊǼ¤¹¤ë 
    136     $order_id = lfRegistOrder($objQuery, $arrData); 
    137     // ¥«¡¼¥È¾¦Éʤò¼õÃí¾ÜºÙ¥Æ¡¼¥Ö¥ë¤Ë³ÊǼ¤¹¤ë 
    138     lfRegistOrderDetail($objQuery, $order_id, $objCartSess); 
    139     // ¼õÃí°ì»þ¥Æ¡¼¥Ö¥ë¤Î¾ðÊó¤òºï½ü¤¹¤ë¡£ 
    140     lfDeleteTempOrder($objQuery, $uniqid); 
    141     // ¥­¥ã¥ó¥Ú¡¼¥ó¤«¤é¤ÎÁ«°Ü¤Î¾ì¹çÅÐÏ¿¤¹¤ë¡£ 
    142     if($objCampaignSess->getIsCampaign()) { 
    143         lfRegistCampaignOrder($objQuery, $objCampaignSess, $order_id); 
    144     } 
    145      
    146     return $order_id; 
     127    // ²ñ°÷¾ðÊóÅÐÏ¿½èÍý 
     128    if ($objCustomer->isLoginSuccess()) { 
     129        // ¿·¤ªÆϤ±Àè¤ÎÅÐÏ¿ 
     130        lfSetNewAddr($uniqid, $objCustomer->getValue('customer_id')); 
     131        // ¹ØÆþ½¸·×¤ò¸ÜµÒ¥Æ¡¼¥Ö¥ë¤ËÈ¿±Ç 
     132        lfSetCustomerPurchase($objCustomer->getValue('customer_id'), $arrData, $objQuery); 
     133    } else { 
     134        //¹ØÆþ»þ¶¯À©²ñ°÷ÅÐÏ¿ 
     135        switch(PURCHASE_CUSTOMER_REGIST) { 
     136        //̵¸ú 
     137        case '0': 
     138            // ¹ØÆþ»þ²ñ°÷ÅÐÏ¿ 
     139            if($arrData['member_check'] == '1') { 
     140                // ²¾²ñ°÷ÅÐÏ¿ 
     141                $customer_id = lfRegistPreCustomer($arrData, $arrInfo); 
     142                // ¹ØÆþ½¸·×¤ò¸ÜµÒ¥Æ¡¼¥Ö¥ë¤ËÈ¿±Ç 
     143                lfSetCustomerPurchase($customer_id, $arrData, $objQuery); 
     144            } 
     145            break; 
     146        //Í­¸ú 
     147        case '1': 
     148            // ²¾²ñ°÷ÅÐÏ¿ 
     149            $customer_id = lfRegistPreCustomer($arrData, $arrInfo); 
     150            // ¹ØÆþ½¸·×¤ò¸ÜµÒ¥Æ¡¼¥Ö¥ë¤ËÈ¿±Ç 
     151            lfSetCustomerPurchase($customer_id, $arrData, $objQuery); 
     152            break; 
     153        } 
     154    } 
     155 
     156    // °ì»þ¥Æ¡¼¥Ö¥ë¤ò¼õÃí¥Æ¡¼¥Ö¥ë¤Ë³ÊǼ¤¹¤ë 
     157    $order_id = lfRegistOrder($objQuery, $arrData); 
     158    // ¥«¡¼¥È¾¦Éʤò¼õÃí¾ÜºÙ¥Æ¡¼¥Ö¥ë¤Ë³ÊǼ¤¹¤ë 
     159    lfRegistOrderDetail($objQuery, $order_id, $objCartSess); 
     160    // ¼õÃí°ì»þ¥Æ¡¼¥Ö¥ë¤Î¾ðÊó¤òºï½ü¤¹¤ë¡£ 
     161    lfDeleteTempOrder($objQuery, $uniqid); 
     162    // ¥­¥ã¥ó¥Ú¡¼¥ó¤«¤é¤ÎÁ«°Ü¤Î¾ì¹çÅÐÏ¿¤¹¤ë¡£ 
     163    if($objCampaignSess->getIsCampaign()) { 
     164        lfRegistCampaignOrder($objQuery, $objCampaignSess, $order_id); 
     165    }    
     166    return $order_id; 
    147167} 
    148168 
    149169// ²ñ°÷ÅÐÏ¿¡Ê²¾ÅÐÏ¿¡Ë 
    150170function lfRegistPreCustomer($arrData, $arrInfo) { 
    151     // ¹ØÆþ»þ¤Î²ñ°÷ÅÐÏ¿ 
    152     $sqlval['name01'] = $arrData['order_name01']; 
    153     $sqlval['name02'] = $arrData['order_name02']; 
    154     $sqlval['kana01'] = $arrData['order_kana01']; 
    155     $sqlval['kana02'] = $arrData['order_kana02']; 
    156     $sqlval['zip01'] = $arrData['order_zip01']; 
    157     $sqlval['zip02'] = $arrData['order_zip02']; 
    158     $sqlval['pref'] = $arrData['order_pref']; 
    159     $sqlval['addr01'] = $arrData['order_addr01']; 
    160     $sqlval['addr02'] = $arrData['order_addr02']; 
    161     $sqlval['email'] = $arrData['order_email']; 
    162     $sqlval['tel01'] = $arrData['order_tel01']; 
    163     $sqlval['tel02'] = $arrData['order_tel02']; 
    164     $sqlval['tel03'] = $arrData['order_tel03']; 
    165     $sqlval['fax01'] = $arrData['order_fax01']; 
    166     $sqlval['fax02'] = $arrData['order_fax02']; 
    167     $sqlval['fax03'] = $arrData['order_fax03']; 
    168     $sqlval['sex'] = $arrData['order_sex']; 
    169     $sqlval['password'] = $arrData['password']; 
    170     $sqlval['reminder'] = $arrData['reminder']; 
    171     $sqlval['reminder_answer'] = $arrData['reminder_answer']; 
    172      
    173     // ¥á¥ë¥Þ¥¬ÇÛ¿®Íѥե饰¤ÎȽÄê 
    174     switch($arrData['mail_flag']) { 
    175     case '1':   // HTML¥á¡¼¥ë 
    176         $mail_flag = 4; 
    177         break; 
    178     case '2':   // TEXT¥á¡¼¥ë 
    179         $mail_flag = 5; 
    180         break; 
    181     case '3':   // ´õ˾¤Ê¤· 
    182         $mail_flag = 6; 
    183         break; 
    184     default: 
    185         $mail_flag = 6; 
    186         break; 
    187     } 
    188     // ¥á¥ë¥Þ¥¬¥Õ¥é¥° 
    189     $sqlval['mailmaga_flg'] = $mail_flag; 
    190          
    191     // ²ñ°÷²¾ÅÐÏ¿ 
    192     $sqlval['status'] = 1; 
    193     // URLȽÄêÍÑ¥­¡¼ 
    194     $sqlval['secret_key'] = sfGetUniqRandomId("t");  
    195      
    196     $objQuery = new SC_Query(); 
    197     $sqlval['create_date'] = "now()"; 
    198     $sqlval['update_date'] = "now()"; 
    199     $objQuery->insert("dtb_customer", $sqlval); 
    200      
    201     // ¸ÜµÒID¤Î¼èÆÀ 
    202     $arrRet = $objQuery->select("customer_id", "dtb_customer", "secret_key = ?", array($sqlval['secret_key'])); 
    203     $customer_id = $arrRet[0]['customer_id']; 
    204      
    205     //¡¡²¾ÅÐÏ¿´°Î»¥á¡¼¥ëÁ÷¿® 
    206     $objMailPage = new LC_Page(); 
    207     $objMailPage->to_name01 = $arrData['order_name01']; 
    208     $objMailPage->to_name02 = $arrData['order_name02']; 
    209     $objMailPage->CONF = $arrInfo; 
    210     $objMailPage->uniqid = $sqlval['secret_key']; 
    211     $objMailView = new SC_SiteView(); 
    212     $objMailView->assignobj($objMailPage); 
    213     $body = $objMailView->fetch("mail_templates/customer_mail.tpl"); 
    214      
    215     $objMail = new GC_SendMail(); 
    216     $objMail->setItem( 
    217                         ''                                      //¡¡°¸Àè 
    218                         , sfMakeSubject("²ñ°÷ÅÐÏ¿¤Î¤´³Îǧ")     //¡¡¥µ¥Ö¥¸¥§¥¯¥È 
    219                         , $body                                 //¡¡ËÜʸ 
    220                         , $arrInfo['email03']                   //¡¡ÇÛÁ÷¸µ¥¢¥É¥ì¥¹ 
    221                         , $arrInfo['shop_name']                 //¡¡ÇÛÁ÷¸µ¡¡Ì¾Á° 
    222                         , $arrInfo["email03"]                   //¡¡reply_to 
    223                         , $arrInfo["email04"]                   //¡¡return_path 
    224                         , $arrInfo["email04"]                   //  Errors_to 
    225                         , $arrInfo["email01"]                   //  Bcc 
    226                                                         ); 
    227     // °¸Àè¤ÎÀßÄê 
    228     $name = $arrData['order_name01'] . $arrData['order_name02'] ." ÍÍ"; 
    229     $objMail->setTo($arrData['order_email'], $name);             
    230     $objMail->sendMail(); 
    231      
    232     return $customer_id; 
     171    // ¹ØÆþ»þ¤Î²ñ°÷ÅÐÏ¿ 
     172    $sqlval['name01'] = $arrData['order_name01']; 
     173    $sqlval['name02'] = $arrData['order_name02']; 
     174    $sqlval['kana01'] = $arrData['order_kana01']; 
     175    $sqlval['kana02'] = $arrData['order_kana02']; 
     176    $sqlval['zip01'] = $arrData['order_zip01']; 
     177    $sqlval['zip02'] = $arrData['order_zip02']; 
     178    $sqlval['pref'] = $arrData['order_pref']; 
     179    $sqlval['addr01'] = $arrData['order_addr01']; 
     180    $sqlval['addr02'] = $arrData['order_addr02']; 
     181    $sqlval['email'] = $arrData['order_email']; 
     182    $sqlval['tel01'] = $arrData['order_tel01']; 
     183    $sqlval['tel02'] = $arrData['order_tel02']; 
     184    $sqlval['tel03'] = $arrData['order_tel03']; 
     185    $sqlval['fax01'] = $arrData['order_fax01']; 
     186    $sqlval['fax02'] = $arrData['order_fax02']; 
     187    $sqlval['fax03'] = $arrData['order_fax03']; 
     188    $sqlval['sex'] = $arrData['order_sex']; 
     189    $sqlval['password'] = $arrData['password']; 
     190    $sqlval['reminder'] = $arrData['reminder']; 
     191    $sqlval['reminder_answer'] = $arrData['reminder_answer']; 
     192     
     193    // ¥á¥ë¥Þ¥¬ÇÛ¿®Íѥե饰¤ÎȽÄê 
     194    switch($arrData['mail_flag']) { 
     195    case '1':   // HTML¥á¡¼¥ë 
     196        $mail_flag = 4; 
     197        break; 
     198    case '2':   // TEXT¥á¡¼¥ë 
     199        $mail_flag = 5; 
     200        break; 
     201    case '3':   // ´õ˾¤Ê¤· 
     202        $mail_flag = 6; 
     203        break; 
     204    default: 
     205        $mail_flag = 6; 
     206        break; 
     207    } 
     208    // ¥á¥ë¥Þ¥¬¥Õ¥é¥° 
     209    $sqlval['mailmaga_flg'] = $mail_flag; 
     210         
     211    // ²ñ°÷²¾ÅÐÏ¿ 
     212    $sqlval['status'] = 1; 
     213    // URLȽÄêÍÑ¥­¡¼ 
     214    $sqlval['secret_key'] = sfGetUniqRandomId("t");  
     215     
     216    $objQuery = new SC_Query(); 
     217    $sqlval['create_date'] = "now()"; 
     218    $sqlval['update_date'] = "now()"; 
     219    $objQuery->insert("dtb_customer", $sqlval); 
     220     
     221    // ¸ÜµÒID¤Î¼èÆÀ 
     222    $arrRet = $objQuery->select("customer_id", "dtb_customer", "secret_key = ?", array($sqlval['secret_key'])); 
     223    $customer_id = $arrRet[0]['customer_id']; 
     224     
     225    //¡¡²¾ÅÐÏ¿´°Î»¥á¡¼¥ëÁ÷¿® 
     226    $objMailPage = new LC_Page(); 
     227    $objMailPage->to_name01 = $arrData['order_name01']; 
     228    $objMailPage->to_name02 = $arrData['order_name02']; 
     229    $objMailPage->CONF = $arrInfo; 
     230    $objMailPage->uniqid = $sqlval['secret_key']; 
     231    $objMailView = new SC_SiteView(); 
     232    $objMailView->assignobj($objMailPage); 
     233    $body = $objMailView->fetch("mail_templates/customer_mail.tpl"); 
     234     
     235    $objMail = new GC_SendMail(); 
     236    $objMail->setItem( 
     237                        ''                                      //¡¡°¸Àè 
     238                        , sfMakeSubject("²ñ°÷ÅÐÏ¿¤Î¤´³Îǧ")     //¡¡¥µ¥Ö¥¸¥§¥¯¥È 
     239                        , $body                                 //¡¡ËÜʸ 
     240                        , $arrInfo['email03']                   //¡¡ÇÛÁ÷¸µ¥¢¥É¥ì¥¹ 
     241                        , $arrInfo['shop_name']                 //¡¡ÇÛÁ÷¸µ¡¡Ì¾Á° 
     242                        , $arrInfo["email03"]                   //¡¡reply_to 
     243                        , $arrInfo["email04"]                   //¡¡return_path 
     244                        , $arrInfo["email04"]                   //  Errors_to 
     245                        , $arrInfo["email01"]                   //  Bcc 
     246                                                        ); 
     247    // °¸Àè¤ÎÀßÄê 
     248    $name = $arrData['order_name01'] . $arrData['order_name02'] ." ÍÍ"; 
     249    $objMail->setTo($arrData['order_email'], $name);             
     250    $objMail->sendMail(); 
     251     
     252    return $customer_id; 
    233253} 
    234254 
     
    236256function lfRegistOrder($objQuery, $arrData) { 
    237257    $objCampaignSess = new SC_CampaignSession(); 
    238     $sqlval = $arrData; 
    239  
    240     // ¼õÃí¥Æ¡¼¥Ö¥ë¤Ë½ñ¤­¹þ¤Þ¤Ê¤¤Îó¤ò½üµî 
    241     unset($sqlval['mailmaga_flg']);     // ¥á¥ë¥Þ¥¬¥Á¥§¥Ã¥¯ 
    242     unset($sqlval['deliv_check']);      // Ê̤ΤªÆϤ±Àè¥Á¥§¥Ã¥¯ 
    243     unset($sqlval['point_check']);      // ¥Ý¥¤¥ó¥ÈÍøÍÑ¥Á¥§¥Ã¥¯ 
    244     unset($sqlval['member_check']);     // ¹ØÆþ»þ²ñ°÷¥Á¥§¥Ã¥¯ 
    245     unset($sqlval['password']);         // ¥í¥°¥¤¥ó¥Ñ¥¹¥ï¡¼¥É 
    246     unset($sqlval['reminder']);         // ¥ê¥Þ¥¤¥ó¥À¡¼¼ÁÌä 
    247     unset($sqlval['reminder_answer']);  // ¥ê¥Þ¥¤¥ó¥À¡¼Åú¤¨ 
    248     unset($sqlval['mail_flag']);        // ¥á¡¼¥ë¥Õ¥é¥° 
    249     unset($sqlval['session']);          // ¥»¥Ã¥·¥ç¥ó¾ðÊó 
    250      
    251     // Ãíʸ¥¹¥Æ¡¼¥¿¥¹:»ØÄ̵꤬¤±¤ì¤Ð¿·µ¬¼õÉÕ¤ËÀßÄê 
    252     if($sqlval["status"] == ""){ 
    253         $sqlval['status'] = '1';             
    254     } 
    255      
    256     // Ê̤ΤªÆϤ±Àè¤ò»ØÄꤷ¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢ÇÛÁ÷Àè¤ËÅÐÏ¿½»½ê¤ò¥³¥Ô¡¼¤¹¤ë¡£ 
    257     if($arrData["deliv_check"] == "-1") { 
    258         $sqlval['deliv_name01'] = $arrData['order_name01']; 
    259         $sqlval['deliv_name02'] = $arrData['order_name02']; 
    260         $sqlval['deliv_kana01'] = $arrData['order_kana01']; 
    261         $sqlval['deliv_kana02'] = $arrData['order_kana02']; 
    262         $sqlval['deliv_pref'] = $arrData['order_pref']; 
    263         $sqlval['deliv_zip01'] = $arrData['order_zip01']; 
    264         $sqlval['deliv_zip02'] = $arrData['order_zip02']; 
    265         $sqlval['deliv_addr01'] = $arrData['order_addr01']; 
    266         $sqlval['deliv_addr02'] = $arrData['order_addr02']; 
    267         $sqlval['deliv_tel01'] = $arrData['order_tel01']; 
    268         $sqlval['deliv_tel02'] = $arrData['order_tel02']; 
    269         $sqlval['deliv_tel03'] = $arrData['order_tel03']; 
    270     } 
    271      
    272     $order_id = $arrData['order_id'];       // ¥ª¡¼¥À¡¼ID 
    273     $sqlval['create_date'] = 'now()';       // ¼õÃíÆü 
    274      
    275     // ¥­¥ã¥ó¥Ú¡¼¥óID 
    276     if($objCampaignSess->getIsCampaign()) $sqlval['campaign_id'] = $objCampaignSess->getCampaignId(); 
    277  
    278     // ¥²¥Ã¥È¤ÎÃͤò¥¤¥ó¥µ¡¼¥È 
    279     //$sqlval = lfGetInsParam($sqlval); 
    280      
    281     // INSERT¤Î¼Â¹Ô 
    282     $objQuery->insert("dtb_order", $sqlval); 
    283      
    284     return $order_id; 
     258    $sqlval = $arrData; 
     259 
     260    // ¼õÃí¥Æ¡¼¥Ö¥ë¤Ë½ñ¤­¹þ¤Þ¤Ê¤¤Îó¤ò½üµî 
     261    unset($sqlval['mailmaga_flg']);     // ¥á¥ë¥Þ¥¬¥Á¥§¥Ã¥¯ 
     262    unset($sqlval['deliv_check']);      // Ê̤ΤªÆϤ±Àè¥Á¥§¥Ã¥¯ 
     263    unset($sqlval['point_check']);      // ¥Ý¥¤¥ó¥ÈÍøÍÑ¥Á¥§¥Ã¥¯ 
     264    unset($sqlval['member_check']);     // ¹ØÆþ»þ²ñ°÷¥Á¥§¥Ã¥¯ 
     265    unset($sqlval['password']);         // ¥í¥°¥¤¥ó¥Ñ¥¹¥ï¡¼¥É 
     266    unset($sqlval['reminder']);         // ¥ê¥Þ¥¤¥ó¥À¡¼¼ÁÌä 
     267    unset($sqlval['reminder_answer']);  // ¥ê¥Þ¥¤¥ó¥À¡¼Åú¤¨ 
     268    unset($sqlval['mail_flag']);        // ¥á¡¼¥ë¥Õ¥é¥° 
     269    unset($sqlval['session']);          // ¥»¥Ã¥·¥ç¥ó¾ðÊó 
     270     
     271    // Ãíʸ¥¹¥Æ¡¼¥¿¥¹:»ØÄ̵꤬¤±¤ì¤Ð¿·µ¬¼õÉÕ¤ËÀßÄê 
     272    if($sqlval["status"] == ""){ 
     273        $sqlval['status'] = '1';             
     274    } 
     275     
     276    // Ê̤ΤªÆϤ±Àè¤ò»ØÄꤷ¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢ÇÛÁ÷Àè¤ËÅÐÏ¿½»½ê¤ò¥³¥Ô¡¼¤¹¤ë¡£ 
     277    if($arrData["deliv_check"] == "-1") { 
     278        $sqlval['deliv_name01'] = $arrData['order_name01']; 
     279        $sqlval['deliv_name02'] = $arrData['order_name02']; 
     280        $sqlval['deliv_kana01'] = $arrData['order_kana01']; 
     281        $sqlval['deliv_kana02'] = $arrData['order_kana02']; 
     282        $sqlval['deliv_pref'] = $arrData['order_pref']; 
     283        $sqlval['deliv_zip01'] = $arrData['order_zip01']; 
     284        $sqlval['deliv_zip02'] = $arrData['order_zip02']; 
     285        $sqlval['deliv_addr01'] = $arrData['order_addr01']; 
     286        $sqlval['deliv_addr02'] = $arrData['order_addr02']; 
     287        $sqlval['deliv_tel01'] = $arrData['order_tel01']; 
     288        $sqlval['deliv_tel02'] = $arrData['order_tel02']; 
     289        $sqlval['deliv_tel03'] = $arrData['order_tel03']; 
     290    } 
     291     
     292    $order_id = $arrData['order_id'];       // ¥ª¡¼¥À¡¼ID 
     293    $sqlval['create_date'] = 'now()';       // ¼õÃíÆü 
     294     
     295    // ¥­¥ã¥ó¥Ú¡¼¥óID 
     296    if($objCampaignSess->getIsCampaign()) $sqlval['campaign_id'] = $objCampaignSess->getCampaignId(); 
     297 
     298    // ¥²¥Ã¥È¤ÎÃͤò¥¤¥ó¥µ¡¼¥È 
     299    //$sqlval = lfGetInsParam($sqlval); 
     300     
     301    // INSERT¤Î¼Â¹Ô 
     302    $objQuery->insert("dtb_order", $sqlval); 
     303     
     304    return $order_id; 
    285305} 
    286306 
     
    289309    $objCartSess = new SC_CartSession(); 
    290310     
    291     // ¥«¡¼¥ÈÆâ¾ðÊó¤Î¼èÆÀ 
    292     $arrCart = $objCartSess->getCartList(); 
    293     $max = count($arrCart); 
    294      
    295     // ´û¤Ë¸ºß¤¹¤ë¾ÜºÙ¥ì¥³¡¼¥É¤ò¾Ã¤·¤Æ¤ª¤¯¡£ 
    296     $objQuery->delete("dtb_order_detail", "order_id = $order_id"); 
    297  
    298     // µ¬³Ê̾°ìÍ÷ 
    299     $arrClassName = sfGetIDValueList("dtb_class", "class_id", "name"); 
    300     // µ¬³ÊʬÎà̾°ìÍ÷ 
    301     $arrClassCatName = sfGetIDValueList("dtb_classcategory", "classcategory_id", "name"); 
    302              
    303     for ($i = 0; $i < $max; $i++) { 
    304         // ¾¦Éʵ¬³Ê¾ðÊó¤Î¼èÆÀ    
    305         $arrData = sfGetProductsClass($arrCart[$i]['id']); 
    306          
    307         // ¸ºß¤¹¤ë¾¦ÉʤΤßɽ¼¨¤¹¤ë¡£ 
    308         if($arrData != "") { 
    309             $sqlval['order_id'] = $order_id; 
    310             $sqlval['product_id'] = $arrCart[$i]['id'][0]; 
    311             $sqlval['classcategory_id1'] = $arrCart[$i]['id'][1]; 
    312             $sqlval['classcategory_id2'] = $arrCart[$i]['id'][2]; 
    313             $sqlval['product_name'] = $arrData['name']; 
    314             $sqlval['product_code'] = $arrData['product_code']; 
    315             $sqlval['classcategory_name1'] = $arrClassCatName[$arrData['classcategory_id1']]; 
    316             $sqlval['classcategory_name2'] = $arrClassCatName[$arrData['classcategory_id2']]; 
    317             $sqlval['point_rate'] = $arrCart[$i]['point_rate'];          
    318             $sqlval['price'] = $arrCart[$i]['price']; 
    319             $sqlval['quantity'] = $arrCart[$i]['quantity']; 
    320             lfReduceStock($objQuery, $arrCart[$i]['id'], $arrCart[$i]['quantity']); 
    321             // INSERT¤Î¼Â¹Ô 
    322             $objQuery->insert("dtb_order_detail", $sqlval); 
    323         } else { 
    324             sfDispSiteError(CART_NOT_FOUND); 
    325         } 
    326     } 
     311    // ¥«¡¼¥ÈÆâ¾ðÊó¤Î¼èÆÀ 
     312    $arrCart = $objCartSess->getCartList(); 
     313    $max = count($arrCart); 
     314     
     315    // ´û¤Ë¸ºß¤¹¤ë¾ÜºÙ¥ì¥³¡¼¥É¤ò¾Ã¤·¤Æ¤ª¤¯¡£ 
     316    $objQuery->delete("dtb_order_detail", "order_id = $order_id"); 
     317 
     318    // µ¬³Ê̾°ìÍ÷ 
     319    $arrClassName = sfGetIDValueList("dtb_class", "class_id", "name"); 
     320    // µ¬³ÊʬÎà̾°ìÍ÷ 
     321    $arrClassCatName = sfGetIDValueList("dtb_classcategory", "classcategory_id", "name"); 
     322             
     323    for ($i = 0; $i < $max; $i++) { 
     324        // ¾¦Éʵ¬³Ê¾ðÊó¤Î¼èÆÀ     
     325        $arrData = sfGetProductsClass($arrCart[$i]['id']); 
     326         
     327        // ¸ºß¤¹¤ë¾¦ÉʤΤßɽ¼¨¤¹¤ë¡£ 
     328        if($arrData != "") { 
     329            $sqlval['order_id'] = $order_id; 
     330            $sqlval['product_id'] = $arrCart[$i]['id'][0]; 
     331            $sqlval['classcategory_id1'] = $arrCart[$i]['id'][1]; 
     332            $sqlval['classcategory_id2'] = $arrCart[$i]['id'][2]; 
     333            $sqlval['product_name'] = $arrData['name']; 
     334            $sqlval['product_code'] = $arrData['product_code']; 
     335            $sqlval['classcategory_name1'] = $arrClassCatName[$arrData['classcategory_id1']]; 
     336            $sqlval['classcategory_name2'] = $arrClassCatName[$arrData['classcategory_id2']]; 
     337            $sqlval['point_rate'] = $arrCart[$i]['point_rate'];          
     338            $sqlval['price'] = $arrCart[$i]['price']; 
     339            $sqlval['quantity'] = $arrCart[$i]['quantity']; 
     340            lfReduceStock($objQuery, $arrCart[$i]['id'], $arrCart[$i]['quantity']); 
     341            // INSERT¤Î¼Â¹Ô 
     342            $objQuery->insert("dtb_order_detail", $sqlval); 
     343        } else { 
     344            sfDispSiteError(CART_NOT_FOUND); 
     345        } 
     346    } 
    327347} 
    328348 
     
    330350function lfRegistCampaignOrder($objQuery, $objCampaignSess, $order_id) { 
    331351 
    332     // ¼õÃí¥Ç¡¼¥¿¤ò¼èÆÀ 
    333     $cols = "order_id, campaign_id, customer_id, message, order_name01, order_name02,". 
    334             "order_kana01, order_kana02, order_email, order_tel01, order_tel02, order_tel03,". 
    335             "order_fax01, order_fax02, order_fax03, order_zip01, order_zip02, order_pref, order_addr01,". 
    336             "order_addr02, order_sex, order_birth, order_job, deliv_name01, deliv_name02, deliv_kana01,". 
    337             "deliv_kana02, deliv_tel01, deliv_tel02, deliv_tel03, deliv_fax01, deliv_fax02, deliv_fax03,". 
    338             "deliv_zip01, deliv_zip02, deliv_pref, deliv_addr01, deliv_addr02, payment_total"; 
    339  
    340     $arrOrder = $objQuery->select($cols, "dtb_order", "order_id = ?", array($order_id));  
    341              
    342     $sqlval = $arrOrder[0]; 
     352    // ¼õÃí¥Ç¡¼¥¿¤ò¼èÆÀ 
     353    $cols = "order_id, campaign_id, customer_id, message, order_name01, order_name02,". 
     354            "order_kana01, order_kana02, order_email, order_tel01, order_tel02, order_tel03,". 
     355            "order_fax01, order_fax02, order_fax03, order_zip01, order_zip02, order_pref, order_addr01,". 
     356            "order_addr02, order_sex, order_birth, order_job, deliv_name01, deliv_name02, deliv_kana01,". 
     357            "deliv_kana02, deliv_tel01, deliv_tel02, deliv_tel03, deliv_fax01, deliv_fax02, deliv_fax03,". 
     358            "deliv_zip01, deliv_zip02, deliv_pref, deliv_addr01, deliv_addr02, payment_total"; 
     359 
     360    $arrOrder = $objQuery->select($cols, "dtb_order", "order_id = ?", array($order_id));  
     361             
     362    $sqlval = $arrOrder[0]; 
    343363    $sqlval['create_date'] = 'now()'; 
    344          
    345     // INSERT¤Î¼Â¹Ô 
    346     $objQuery->insert("dtb_campaign_order", $sqlval); 
    347      
    348     // ¿½¤·¹þ¤ß¿ô¤Î¹¹¿· 
    349     $total_count = $objQuery->get("dtb_campaign", "total_count", "campaign_id = ?", array($sqlval['campaign_id'])); 
    350     $arrCampaign['total_count'] = $total_count += 1; 
    351     $objQuery->update("dtb_campaign", $arrCampaign, "campaign_id = ?", array($sqlval['campaign_id'])); 
    352      
     364         
     365    // INSERT¤Î¼Â¹Ô 
     366    $objQuery->insert("dtb_campaign_order", $sqlval); 
     367     
     368    // ¿½¤·¹þ¤ß¿ô¤Î¹¹¿· 
     369    $total_count = $objQuery->get("dtb_campaign", "total_count", "campaign_id = ?", array($sqlval['campaign_id'])); 
     370    $arrCampaign['total_count'] = $total_count += 1; 
     371    $objQuery->update("dtb_campaign", $arrCampaign, "campaign_id = ?", array($sqlval['campaign_id'])); 
     372     
    353373} 
    354374 
    355375/* ¼õÃí°ì»þ¥Æ¡¼¥Ö¥ë¤Îºï½ü */ 
    356376function lfDeleteTempOrder($objQuery, $uniqid) { 
    357     $where = "order_temp_id = ?"; 
    358     $sqlval['del_flg'] = 1; 
    359     $objQuery->update("dtb_order_temp", $sqlval, $where, array($uniqid)); 
    360     // $objQuery->delete("dtb_order_temp", $where, array($uniqid)); 
     377    $where = "order_temp_id = ?"; 
     378    $sqlval['del_flg'] = 1; 
     379    $objQuery->update("dtb_order_temp", $sqlval, $where, array($uniqid)); 
     380    // $objQuery->delete("dtb_order_temp", $where, array($uniqid)); 
    361381} 
    362382 
    363383// ¼õÃí°ì»þ¥Æ¡¼¥Ö¥ë¤Î½»½ê¤¬ÅÐÏ¿ºÑ¤ß¥Æ¡¼¥Ö¥ë¤È°Û¤Ê¤ë¾ì¹ç¤Ï¡¢Ê̤ΤªÆϤ±Àè¤ËÄɲ乤ë 
    364384function lfSetNewAddr($uniqid, $customer_id) { 
    365     $objQuery = new SC_Query(); 
    366     $diff = false; 
    367     $find_same = false; 
    368      
    369     $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"; 
    370     $where = "order_temp_id = ?"; 
    371     $arrRet = $objQuery->select($col, "dtb_order_temp", $where, array($uniqid)); 
    372      
    373     // Í×ÁÇ̾¤Îdeliv_¤òºï½ü¤¹¤ë¡£ 
    374     foreach($arrRet[0] as $key => $val) { 
    375         $keyname = ereg_replace("^deliv_", "", $key); 
    376         $arrNew[$keyname] = $val; 
    377     } 
    378      
    379     // ²ñ°÷¾ðÊó¥Æ¡¼¥Ö¥ë¤È¤ÎÈæ³Ó 
    380     $col = "name01,name02,kana01,kana02,tel01,tel02,tel03,zip01,zip02,pref,addr01,addr02"; 
    381     $where = "customer_id = ?"; 
    382     $arrCustomerAddr = $objQuery->select($col, "dtb_customer", $where, array($customer_id)); 
    383      
    384     // ²ñ°÷¾ðÊó¤Î½»½ê¤È°Û¤Ê¤ë¾ì¹ç 
    385     if($arrNew != $arrCustomerAddr[0]) { 
    386         // Ê̤ΤªÆϤ±Àè¥Æ¡¼¥Ö¥ë¤Î½»½ê¤ÈÈæ³Ó¤¹¤ë 
    387         $col = "name01,name02,kana01,kana02,tel01,tel02,tel03,zip01,zip02,pref,addr01,addr02"; 
    388         $where = "customer_id = ?"; 
    389         $arrOtherAddr = $objQuery->select($col, "dtb_other_deliv", $where, array($customer_id)); 
    390  
    391         foreach($arrOtherAddr as $arrval) { 
    392             if($arrNew == $arrval) { 
    393                 // ¤¹¤Ç¤ËƱ¤¸½»½ê¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë 
    394                 $find_same = true; 
    395             } 
    396         } 
    397          
    398         if(!$find_same) { 
    399             $diff = true; 
    400         } 
    401     } 
    402      
    403     // ¿·¤·¤¤¤ªÆϤ±À褬ÅÐÏ¿ºÑ¤ß¤Î¤â¤Î¤È°Û¤Ê¤ë¾ì¹ç¤ÏÊ̤ΤªÆϤ±Àè¥Æ¡¼¥Ö¥ë¤ËÅÐÏ¿¤¹¤ë 
    404     if($diff) { 
    405         $sqlval = $arrNew; 
    406         $sqlval['customer_id'] = $customer_id; 
    407         $objQuery->insert("dtb_other_deliv", $sqlval); 
    408     } 
     385    $objQuery = new SC_Query(); 
     386    $diff = false; 
     387    $find_same = false; 
     388     
     389    $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"; 
     390    $where = "order_temp_id = ?"; 
     391    $arrRet = $objQuery->select($col, "dtb_order_temp", $where, array($uniqid)); 
     392     
     393    // Í×ÁÇ̾¤Îdeliv_¤òºï½ü¤¹¤ë¡£ 
     394    foreach($arrRet[0] as $key => $val) { 
     395        $keyname = ereg_replace("^deliv_", "", $key); 
     396        $arrNew[$keyname] = $val; 
     397    } 
     398     
     399    // ²ñ°÷¾ðÊó¥Æ¡¼¥Ö¥ë¤È¤ÎÈæ³Ó 
     400    $col = "name01,name02,kana01,kana02,tel01,tel02,tel03,zip01,zip02,pref,addr01,addr02"; 
     401    $where = "customer_id = ?"; 
     402    $arrCustomerAddr = $objQuery->select($col, "dtb_customer", $where, array($customer_id)); 
     403     
     404    // ²ñ°÷¾ðÊó¤Î½»½ê¤È°Û¤Ê¤ë¾ì¹ç 
     405    if($arrNew != $arrCustomerAddr[0]) { 
     406        // Ê̤ΤªÆϤ±Àè¥Æ¡¼¥Ö¥ë¤Î½»½ê¤ÈÈæ³Ó¤¹¤ë 
     407        $col = "name01,name02,kana01,kana02,tel01,tel02,tel03,zip01,zip02,pref,addr01,addr02"; 
     408        $where = "customer_id = ?"; 
     409        $arrOtherAddr = $objQuery->select($col, "dtb_other_deliv", $where, array($customer_id)); 
     410 
     411        foreach($arrOtherAddr as $arrval) { 
     412            if($arrNew == $arrval) { 
     413                // ¤¹¤Ç¤ËƱ¤¸½»½ê¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë 
     414                $find_same = true; 
     415            } 
     416        } 
     417         
     418        if(!$find_same) { 
     419            $diff = true; 
     420        } 
     421    } 
     422     
     423    // ¿·¤·¤¤¤ªÆϤ±À褬ÅÐÏ¿ºÑ¤ß¤Î¤â¤Î¤È°Û¤Ê¤ë¾ì¹ç¤ÏÊ̤ΤªÆϤ±Àè¥Æ¡¼¥Ö¥ë¤ËÅÐÏ¿¤¹¤ë 
     424    if($diff) { 
     425        $sqlval = $arrNew; 
     426        $sqlval['customer_id'] = $customer_id; 
     427        $objQuery->insert("dtb_other_deliv", $sqlval); 
     428    } 
    409429} 
    410430 
    411431/* ¹ØÆþ¾ðÊó¤ò²ñ°÷¥Æ¡¼¥Ö¥ë¤ËÅÐÏ¿¤¹¤ë */ 
    412432function lfSetCustomerPurchase($customer_id, $arrData, $objQuery) { 
    413     $col = "first_buy_date, last_buy_date, buy_times, buy_total, point"; 
    414     $where = "customer_id = ?"; 
    415     $arrRet = $objQuery->select($col, "dtb_customer", $where, array($customer_id)); 
    416     $sqlval = $arrRet[0]; 
    417      
    418     if($sqlval['first_buy_date'] == "") { 
    419         $sqlval['first_buy_date'] = "Now()"; 
    420     } 
    421     $sqlval['last_buy_date'] = "Now()"; 
    422     $sqlval['buy_times']++; 
    423     $sqlval['buy_total']+= $arrData['total']; 
    424     $sqlval['point'] = ($sqlval['point'] + $arrData['add_point'] - $arrData['use_point']); 
    425      
    426     // ¥Ý¥¤¥ó¥È¤¬ÉÔ­¤·¤Æ¤¤¤ë¾ì¹ç 
    427     if($sqlval['point'] < 0) { 
    428         $objQuery->rollback(); 
    429         sfDispSiteError(LACK_POINT); 
    430     } 
    431      
    432     $objQuery->update("dtb_customer", $sqlval, $where, array($customer_id)); 
     433    $col = "first_buy_date, last_buy_date, buy_times, buy_total, point"; 
     434    $where = "customer_id = ?"; 
     435    $arrRet = $objQuery->select($col, "dtb_customer", $where, array($customer_id)); 
     436    $sqlval = $arrRet[0]; 
     437     
     438    if($sqlval['first_buy_date'] == "") { 
     439        $sqlval['first_buy_date'] = "Now()"; 
     440    } 
     441    $sqlval['last_buy_date'] = "Now()"; 
     442    $sqlval['buy_times']++; 
     443    $sqlval['buy_total']+= $arrData['total']; 
     444    $sqlval['point'] = ($sqlval['point'] + $arrData['add_point'] - $arrData['use_point']); 
     445     
     446    // ¥Ý¥¤¥ó¥È¤¬ÉÔ­¤·¤Æ¤¤¤ë¾ì¹ç 
     447    if($sqlval['point'] < 0) { 
     448        $objQuery->rollback(); 
     449        sfDispSiteError(LACK_POINT); 
     450    } 
     451     
     452    $objQuery->update("dtb_customer", $sqlval, $where, array($customer_id)); 
    433453} 
    434454 
    435455// ºß¸Ë¤ò¸º¤é¤¹½èÍý 
    436456function lfReduceStock($objQuery, $arrID, $quantity) { 
    437     $where = "product_id = ? AND classcategory_id1 = ? AND classcategory_id2 = ?"; 
    438     $arrRet = $objQuery->select("stock, stock_unlimited", "dtb_products_class", $where, $arrID); 
    439      
    440     // Çä¤êÀڤ쥨¥é¡¼ 
    441     if(($arrRet[0]['stock_unlimited'] != '1' && $arrRet[0]['stock'] < $quantity) || $quantity == 0) { 
    442         $objQuery->rollback(); 
    443         sfDispSiteError(SOLD_OUT, "", true); 
    444     // ̵À©¸Â¤Î¾ì¹ç¡¢ºß¸Ë¤ÏNULL 
    445     } elseif($arrRet[0]['stock_unlimited'] == '1') { 
    446         $sqlval['stock'] = null; 
    447         $objQuery->update("dtb_products_class", $sqlval, $where, $arrID); 
    448     // ºß¸Ë¤ò¸º¤é¤¹ 
    449     } else { 
    450         $sqlval['stock'] = ($arrRet[0]['stock'] - $quantity); 
    451         if($sqlval['stock'] == "") { 
    452             $sqlval['stock'] = '0'; 
    453         }        
    454         $objQuery->update("dtb_products_class", $sqlval, $where, $arrID); 
    455     } 
     457    $where = "product_id = ? AND classcategory_id1 = ? AND classcategory_id2 = ?"; 
     458    $arrRet = $objQuery->select("stock, stock_unlimited", "dtb_products_class", $where, $arrID); 
     459     
     460    // Çä¤êÀڤ쥨¥é¡¼ 
     461    if(($arrRet[0]['stock_unlimited'] != '1' && $arrRet[0]['stock'] < $quantity) || $quantity == 0) { 
     462        $objQuery->rollback(); 
     463        sfDispSiteError(SOLD_OUT, "", true); 
     464    // ̵À©¸Â¤Î¾ì¹ç¡¢ºß¸Ë¤ÏNULL 
     465    } elseif($arrRet[0]['stock_unlimited'] == '1') { 
     466        $sqlval['stock'] = null; 
     467        $objQuery->update("dtb_products_class", $sqlval, $where, $arrID); 
     468    // ºß¸Ë¤ò¸º¤é¤¹ 
     469    } else { 
     470        $sqlval['stock'] = ($arrRet[0]['stock'] - $quantity); 
     471        if($sqlval['stock'] == "") { 
     472            $sqlval['stock'] = '0'; 
     473        }        
     474        $objQuery->update("dtb_products_class", $sqlval, $where, $arrID); 
     475    } 
    456476} 
    457477 
    458478// GET¤ÎÃͤò¥¤¥ó¥µ¡¼¥ÈÍѤËÀ°¤¨¤ë 
    459479function lfGetInsParam($sqlVal){ 
    460      
    461     foreach($_GET as $key => $val){ 
    462         // ¥«¥é¥à¤Î¸ºß¥Á¥§¥Ã¥¯ 
    463         if(sfColumnExists("dtb_order", $key)) $sqlVal[$key] = $val; 
    464     } 
    465      
    466     return $sqlVal; 
     480     
     481    foreach($_GET as $key => $val){ 
     482        // ¥«¥é¥à¤Î¸ºß¥Á¥§¥Ã¥¯ 
     483        if(sfColumnExists("dtb_order", $key)) $sqlVal[$key] = $val; 
     484    } 
     485     
     486    return $sqlVal; 
    467487} 
    468488?> 
Note: See TracChangeset for help on using the changeset viewer.