Changeset 18052


Ignore:
Timestamp:
2009/06/06 03:19:45 (12 years ago)
Author:
Seasoft
Message:

・店舗基本情報の取得処理にランタイムのキャッシュ機構を設け、店舗基本情報を深く渡し回す実装を改めた。
・SC_Utils 冒頭のコメントに従い、インスタンスを生成していた処理を、Helper クラスへ移す。計算処理のみ SC_Utils に残す。

Location:
branches/comu-ver2/data/class
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • branches/comu-ver2/data/class/SC_CartSession.php

    r17970 r18052  
    9090    } 
    9191 
    92     // 商品ごとの合計価格 
    93     function getProductTotal($arrInfo, $id) { 
     92    /** 
     93     * 商品ごとの合計価格 
     94     * XXX 実際には、「商品」ではなく、「カートの明細行(≒商品規格)」のような気がします。 
     95     * 
     96     * @param integer $id 
     97     * @return string 商品ごとの合計価格(税込み) 
     98     */ 
     99    function getProductTotal($id) { 
    94100        $max = $this->getMax(); 
    95101        for($i = 0; $i <= $max; $i++) { 
     
    100106                $price = $_SESSION[$this->key][$i]['price']; 
    101107                $quantity = $_SESSION[$this->key][$i]['quantity']; 
    102                 $pre_tax = SC_Utils_Ex::sfPreTax($price, $arrInfo['tax'], $arrInfo['tax_rule']); 
     108                $pre_tax = SC_Helper_DB_Ex::sfPreTax($price); 
    103109                $total = $pre_tax * $quantity; 
    104110                return $total; 
     
    148154 
    149155    // 全商品の合計価格 
    150     function getAllProductsTotal($arrInfo) { 
     156    function getAllProductsTotal() { 
    151157        // 税込み合計 
    152158        $total = 0; 
     
    164170            $quantity = $_SESSION[$this->key][$i]['quantity']; 
    165171 
    166             $pre_tax = SC_Utils::sfPreTax($price, $arrInfo['tax'], $arrInfo['tax_rule']); 
     172            $pre_tax = SC_Helper_DB_Ex::sfPreTax($price); 
    167173            $total+= ($pre_tax * $quantity); 
    168174        } 
     
    171177 
    172178    // 全商品の合計税金 
    173     function getAllProductsTax($arrInfo) { 
     179    function getAllProductsTax() { 
    174180        // 税合計 
    175181        $total = 0; 
     
    178184            $price = $_SESSION[$this->key][$i]['price']; 
    179185            $quantity = $_SESSION[$this->key][$i]['quantity']; 
    180             $tax = SC_Utils_Ex::sfTax($price, $arrInfo['tax'], $arrInfo['tax_rule']); 
     186            $tax = SC_Helper_DB_Ex::sfTax($price); 
    181187            $total+= ($tax * $quantity); 
    182188        } 
  • branches/comu-ver2/data/class/SC_Fpdf.php

    r18043 r18052  
    136136 
    137137    function setOrderData() { 
    138         // ショップ情報 
    139         $objInfo = new SC_SiteInfo(); 
    140         $arrInfo = $objInfo->data; 
    141138        // DBから受注情報を読み込む 
    142139        $this->lfGetOrderData($this->arrData['order_id']); 
     
    183180 
    184181          // 税込金額(単価) 
    185           $data[1] = SC_Utils_Ex::sfPreTax($this->arrDisp['price'][$i], $arrInfo['tax'], $arrInfo['tax_rule']); 
     182          $data[1] = SC_Helper_DB_Ex::sfPreTax($this->arrDisp['price'][$i]); 
    186183 
    187184          // 小計(商品毎) 
  • branches/comu-ver2/data/class/helper/SC_Helper_DB.php

    r18044 r18052  
    201201     * 店舗基本情報を取得する. 
    202202     * 
     203     * @param boolean $force 強制的にDB取得するか 
    203204     * @return array 店舗基本情報の配列 
    204205     */ 
    205     function sf_getBasisData() { 
    206         $objQuery = new SC_Query(); 
    207         $arrRet = $objQuery->select('*', 'dtb_baseinfo'); 
    208  
    209         if (isset($arrRet[0])) return $arrRet[0]; 
    210  
    211         return array(); 
     206    function sf_getBasisData($force = false) { 
     207        static $data; 
     208         
     209        if ($force || !isset($data)) { 
     210            $objQuery = new SC_Query(); 
     211            $arrRet = $objQuery->select('*', 'dtb_baseinfo'); 
     212             
     213            if (isset($arrRet[0])) { 
     214                $data = $arrRet[0]; 
     215            } else { 
     216                $data = array(); 
     217            } 
     218        } 
     219         
     220        return $data; 
    212221    } 
    213222 
     
    282291     * @param LC_Page $objPage ページクラスのインスタンス 
    283292     * @param SC_CartSession $objCartSess カートセッションのインスタンス 
    284      * @param array $arrInfo 商品情報の配列 
    285293     * @return LC_Page 集計処理後のページクラスインスタンス 
    286294     */ 
    287     function sfTotalCart(&$objPage, $objCartSess, $arrInfo) { 
     295    function sfTotalCart(&$objPage, $objCartSess) { 
    288296 
    289297        // 規格名一覧 
     
    372380                } 
    373381                // 商品ごとの合計金額 
    374                 $objPage->arrProductsClass[$cnt]['total_pretax'] = $objCartSess->getProductTotal($arrInfo, $arrCart['id']); 
     382                $objPage->arrProductsClass[$cnt]['total_pretax'] = $objCartSess->getProductTotal($arrCart['id']); 
    375383                // 送料の合計を計算する 
    376384                $objPage->tpl_total_deliv_fee+= ($arrData['deliv_fee'] * $arrCart['quantity']); 
     
    394402         
    395403        // 全商品合計金額(税込み) 
    396         $objPage->tpl_total_pretax = $objCartSess->getAllProductsTotal($arrInfo); 
     404        $objPage->tpl_total_pretax = $objCartSess->getAllProductsTotal(); 
    397405        // 全商品合計消費税 
    398         $objPage->tpl_total_tax = $objCartSess->getAllProductsTax($arrInfo); 
     406        $objPage->tpl_total_tax = $objCartSess->getAllProductsTax(); 
    399407        // 全商品合計ポイント 
    400408        if (USE_POINT !== false) { 
     
    14801488     * @param LC_Page $objPage LC_Page インスタンス 
    14811489     * @param SC_CartSession $objCartSess SC_CartSession インスタンス 
    1482      * @param array $arrInfo 店舗情報の配列 
    14831490     * @param SC_Customer $objCustomer SC_Customer インスタンス 
    14841491     * @return array 最終計算後の配列 
    14851492     */ 
    1486     function sfTotalConfirm($arrData, &$objPage, &$objCartSess, $arrInfo, $objCustomer = "") { 
     1493    function sfTotalConfirm($arrData, &$objPage, &$objCartSess, $objCustomer = "") { 
     1494        // 店舗基本情報を取得する 
     1495        $arrInfo = SC_Helper_DB_Ex::sf_getBasisData(); 
     1496         
    14871497        // 未定義変数を定義 
    14881498        if (!isset($arrData['deliv_pref'])) $arrData['deliv_pref'] = ""; 
     
    15381548        // 加算ポイントの計算 
    15391549        if (USE_POINT !== false) { 
    1540             $arrData['add_point'] = SC_Utils::sfGetAddPoint($objPage->tpl_total_point, $arrData['use_point'], $arrInfo); 
     1550            $arrData['add_point'] = SC_Helper_DB_Ex::sfGetAddPoint($objPage->tpl_total_point, $arrData['use_point']); 
    15411551                 
    15421552            if($objCustomer != "") { 
     
    17481758        $objQuery->query($sql, array($order_id)); 
    17491759    } 
     1760 
     1761    /** 
     1762     * 店舗基本情報に基づいて税金額を返す 
     1763     * 
     1764     * @param integer $price 計算対象の金額 
     1765     * @return integer 税金額 
     1766     */ 
     1767    function sfTax($price) { 
     1768        // 店舗基本情報を取得 
     1769        $CONF = SC_Helper_DB_Ex::sf_getBasisData(); 
     1770         
     1771        return SC_Utils_Ex::sfTax($price, $CONF['tax'], $CONF['tax_rule']); 
     1772    } 
     1773 
     1774    /** 
     1775     * 店舗基本情報に基づいて税金付与した金額を返す 
     1776     *  
     1777     * @param integer $price 計算対象の金額 
     1778     * @return integer 税金付与した金額 
     1779     */ 
     1780    function sfPreTax($price, $tax = null, $tax_rule = null) { 
     1781        // 店舗基本情報を取得 
     1782        $CONF = SC_Helper_DB_Ex::sf_getBasisData(); 
     1783         
     1784        return SC_Utils_Ex::sfPreTax($price, $CONF['tax'], $CONF['tax_rule']); 
     1785    } 
     1786 
     1787    /** 
     1788     * 店舗基本情報に基づいて加算ポイントを返す 
     1789     * 
     1790     * @param integer $totalpoint 
     1791     * @param integer $use_point 
     1792     * @return integer 加算ポイント 
     1793     */ 
     1794    function sfGetAddPoint($totalpoint, $use_point) { 
     1795        // 店舗基本情報を取得 
     1796        $CONF = SC_Helper_DB_Ex::sf_getBasisData(); 
     1797         
     1798        return SC_Utils_Ex::sfGetAddPoint($totalpoint, $use_point, $CONF['point_rate']); 
     1799    } 
    17501800} 
    17511801?> 
  • branches/comu-ver2/data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php

    r18037 r18052  
    3232/* ペイジェント決済モジュール連携用 */ 
    3333if (file_exists(MODULE_PATH . 'mdl_paygent/include.php') === TRUE) { 
    34     require_once(MODULE_PATH . 'mdl_paygent/include.php'); 
     34  require_once(MODULE_PATH . 'mdl_paygent/include.php'); 
    3535} 
    3636 
     
    109109        $objView = new SC_AdminView(); 
    110110        $objSess = new SC_Session(); 
    111         $objSiteInfo = new SC_SiteInfo(); 
    112111        $objDb = new SC_Helper_DB_Ex(); 
    113         $arrInfo = $objSiteInfo->data; 
    114112 
    115113        // パラメータ管理クラス 
     
    152150            // 入力値の変換 
    153151            $this->objFormParam->convParam(); 
    154             $this->arrErr = $this->lfCheek($arrInfo); 
     152            $this->arrErr = $this->lfCheek(); 
    155153            $this->arrErr = $this->lfCheckError(); 
    156154            if(count($this->arrErr) == 0) { 
     
    177175            $this->arrErr = $this->lfCheckError(); 
    178176            #if(count($this->arrErr) == 0) { 
    179                 $this->arrErr = $this->lfCheek($arrInfo); 
     177                $this->arrErr = $this->lfCheek(); 
    180178            #} 
    181179            break; 
     
    198196                } 
    199197            } 
    200             $this->lfReCheek($arrData, $arrInfo); 
     198            $this->lfReCheek($arrData); 
    201199            break; 
    202200        /* 商品追加ポップアップより商品選択後、商品情報取得*/ 
     
    217215                } 
    218216            } 
    219             $this->lfReCheek($arrData, $arrInfo); 
     217            $this->lfReCheek($arrData); 
    220218            break; 
    221219        /* F-REGI決済モジュール連携用 */ 
     
    275273        $this->tpl_onload .= $anchor_hash; 
    276274 
    277         $this->arrInfo = $arrInfo; 
     275        $objSiteInfo = new SC_SiteInfo(); 
     276        $this->arrInfo = $objSiteInfo->data; 
    278277 
    279278        /** 
     
    430429 
    431430    /* 計算処理 */ 
    432     function lfCheek($arrInfo) { 
     431    function lfCheek() { 
    433432        $objDb = new SC_Helper_DB_Ex(); 
    434433        $arrVal = $this->objFormParam->getHashArray(); 
     
    442441        for($i = 0; $i < $max; $i++) { 
    443442            // 小計の計算 
    444             $subtotal += SC_Utils_Ex::sfPreTax($arrVal['price'][$i], $arrInfo['tax'], $arrInfo['tax_rule']) * $arrVal['quantity'][$i]; 
     443            $subtotal += SC_Helper_DB_Ex::sfPreTax($arrVal['price'][$i]) * $arrVal['quantity'][$i]; 
    445444            // 小計の計算 
    446             $totaltax += SC_Utils_Ex::sfTax($arrVal['price'][$i], $arrInfo['tax'], $arrInfo['tax_rule']) * $arrVal['quantity'][$i]; 
     445            $totaltax += SC_Helper_DB_Ex::sfTax($arrVal['price'][$i]) * $arrVal['quantity'][$i]; 
    447446            // 加算ポイントの計算 
    448447            $totalpoint += SC_Utils_Ex::sfPrePoint($arrVal['price'][$i], $arrVal['point_rate'][$i]) * $arrVal['quantity'][$i]; 
     
    459458 
    460459        // 加算ポイント 
    461         $arrVal['add_point'] = SC_Utils_Ex::sfGetAddPoint($totalpoint, $arrVal['use_point'], $arrInfo); 
     460        $arrVal['add_point'] = SC_Helper_DB_Ex::sfGetAddPoint($totalpoint, $arrVal['use_point']); 
    462461 
    463462        list($arrVal['point'], $arrVal['total_point']) = $objDb->sfGetCustomerPoint($_POST['order_id'], $arrVal['use_point'], $arrVal['add_point']); 
     
    479478    } 
    480479 
    481     function lfReCheek($arrData, $arrInfo) { 
     480    function lfReCheek($arrData) { 
    482481        // 情報上書き 
    483482        $this->objFormParam->setParam($arrData); 
     
    485484        $this->objFormParam->convParam(); 
    486485        #if(count($this->arrErr) == 0) { 
    487             $this->arrErr = $this->lfCheek($arrInfo); 
     486            $this->arrErr = $this->lfCheek(); 
    488487        #} 
    489488        $this->arrErr = $this->lfCheckError(); 
  • branches/comu-ver2/data/class/pages/cart/LC_Page_Cart.php

    r17969 r18052  
    7878        $objCustomer = new SC_Customer(); 
    7979        $db = new SC_Helper_DB_Ex(); 
    80         // 基本情報の取得 
    81         $arrInfo = $objSiteInfo->data; 
    8280 
    8381        // 商品購入中にカート内容が変更された。 
     
    141139 
    142140        // カート集計処理 
    143         $db->sfTotalCart($this, $objCartSess, $arrInfo); 
    144         $this->arrData = $db->sfTotalConfirm($this->arrData, $this, $objCartSess, $arrInfo, $objCustomer); 
    145  
    146         $this->arrInfo = $arrInfo; 
     141        $db->sfTotalCart($this, $objCartSess); 
     142        $this->arrData = $db->sfTotalConfirm($this->arrData, $this, $objCartSess, $objCustomer); 
     143 
     144        // 基本情報の取得 
     145        $this->arrInfo = $objSiteInfo->data; 
    147146 
    148147        // ログイン判定 
     
    192191        $objCustomer = new SC_Customer(); 
    193192        $objDb = new SC_Helper_DB_Ex(); 
    194  
    195         // 基本情報の取得 
    196         $arrInfo = $objSiteInfo->data; 
    197193 
    198194        // 商品購入中にカート内容が変更された。 
     
    265261            $arrData = array(); 
    266262        } 
    267         $objDb->sfTotalCart($this, $objCartSess, $arrInfo); 
    268         $this->arrData = $objDb->sfTotalConfirm($arrData, $this, $objCartSess, $arrInfo, $objCustomer); 
    269  
    270         $this->arrInfo = $arrInfo; 
     263        $objDb->sfTotalCart($this, $objCartSess); 
     264        $this->arrData = $objDb->sfTotalConfirm($arrData, $this, $objCartSess, $objCustomer); 
     265 
     266        // 基本情報の取得 
     267        $this->arrInfo = $objSiteInfo->data; 
    271268 
    272269        // ログイン判定 
  • branches/comu-ver2/data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_Cart.php

    r17969 r18052  
    8686            $arrInfo = $objSiteInfo->data; 
    8787            // 購入金額合計 
    88             $ProductsTotal = $objCart->getAllProductsTotal($arrInfo); 
     88            $ProductsTotal = $objCart->getAllProductsTotal(); 
    8989 
    9090            // 合計数量 
  • branches/comu-ver2/data/class/pages/rss/LC_Page_Rss_Products.php

    r18051 r18052  
    6060 
    6161        //店舗情報をセット 
    62         $arrSiteInfo = $objSiteInfo->data; 
     62        $this->arrSiteInfo = $objSiteInfo->data; 
    6363 
    6464        //商品IDを取得 
     
    7373            foreach($arrProduct as $key => $val){ 
    7474                //販売価格を税込みに編集 
    75                 $arrProduct[$key]["price02"] = SC_Utils_Ex::sfPreTax($arrProduct[$key]["price02"], $arrSiteInfo["tax"], $arrSiteInfo["tax_rule"]); 
     75                $arrProduct[$key]["price02"] = SC_Helper_DB_Ex::sfPreTax($arrProduct[$key]["price02"]); 
    7676 
    7777                // 画像ファイルのURLセット 
     
    9898            foreach($arrProduct as $key => $val){ 
    9999                //販売価格を税込みに編集 
    100                 $arrProduct[$key]["price02_max"] = SC_Utils_Ex::sfPreTax($arrProduct[$key]["price02_max"], $arrSiteInfo["tax"], $arrSiteInfo["tax_rule"]); 
    101                 $arrProduct[$key]["price02_min"] = SC_Utils_Ex::sfPreTax($arrProduct[$key]["price02_min"], $arrSiteInfo["tax"], $arrSiteInfo["tax_rule"]); 
     100                $arrProduct[$key]["price02_max"] = SC_Helper_DB_Ex::sfPreTax($arrProduct[$key]["price02_max"]); 
     101                $arrProduct[$key]["price02_min"] = SC_Helper_DB_Ex::sfPreTax($arrProduct[$key]["price02_min"]); 
    102102 
    103103                // 画像ファイルのURLセット 
     
    120120            $this->arrProductKeys = array_keys(SC_Utils_Ex::sfswaparray($arrProduct)); 
    121121        } 
    122  
    123         //店舗情報をセット 
    124         $this->arrSiteInfo = $arrSiteInfo; 
    125122 
    126123        //セットしたデータをテンプレートファイルに出力 
  • branches/comu-ver2/data/class/pages/shopping/LC_Page_Shopping_Confirm.php

    r17994 r18052  
    7171        $objCampaignSess = new SC_CampaignSession(); 
    7272        $objCustomer = new SC_Customer(); 
    73         $arrInfo = $objSiteInfo->data; 
    7473        $objQuery = new SC_Query(); 
    7574        $objDb = new SC_Helper_DB_Ex(); 
     
    8382 
    8483        // カート集計処理 
    85         $objDb->sfTotalCart($this, $objCartSess, $arrInfo); 
     84        $objDb->sfTotalCart($this, $objCartSess); 
    8685        // 一時受注テーブルの読込 
    8786        $arrData = $objDb->sfGetOrderTemp($uniqid); 
    8887        // カート集計を元に最終計算 
    89         $arrData = $objDb->sfTotalConfirm($arrData, $this, $objCartSess, $arrInfo, $objCustomer, $objCampaignSess); 
     88        $arrData = $objDb->sfTotalConfirm($arrData, $this, $objCartSess, $objCustomer); 
    9089        // キャンペーンからの遷移で送料が無料だった場合の処理 
    9190        if($objCampaignSess->getIsCampaign()) { 
     
    161160 
    162161        $this->arrData = $arrData; 
    163         $this->arrInfo = $arrInfo; 
     162        $this->arrInfo = $objSiteInfo->data; 
    164163        $objView->assignobj($this); 
    165164        // フレームを選択(キャンペーンページから遷移なら変更) 
     
    187186        $objSiteSess = new SC_SiteSession(); 
    188187        $objCustomer = new SC_Customer(); 
    189         $arrInfo = $objSiteInfo->data; 
    190188        $objQuery = new SC_Query(); 
    191189        $objDb = new SC_Helper_DB_Ex(); 
     
    199197 
    200198        // カート集計処理 
    201         $objDb->sfTotalCart($this, $objCartSess, $arrInfo); 
     199        $objDb->sfTotalCart($this, $objCartSess); 
    202200        // 一時受注テーブルの読込 
    203201        $arrData = $objDb->sfGetOrderTemp($uniqid); 
    204202        // カート集計を元に最終計算 
    205         $arrData = $objDb->sfTotalConfirm($arrData, $this, $objCartSess, $arrInfo, $objCustomer); 
     203        $arrData = $objDb->sfTotalConfirm($arrData, $this, $objCartSess, $objCustomer); 
    206204 
    207205        // カート内の商品の売り切れチェック 
     
    265263        } 
    266264        $this->arrData = $arrData; 
    267         $this->arrInfo = $arrInfo; 
     265        $this->arrInfo = $objSiteInfo->data; 
    268266        $objView->assignobj($this); 
    269267        $objView->display(SITE_FRAME); 
  • branches/comu-ver2/data/class/pages/shopping/LC_Page_Shopping_Payment.php

    r18049 r18052  
    7474        $objDb = new SC_Helper_DB_Ex(); 
    7575        $this->objCustomer = new SC_Customer(); 
    76         $objSiteInfo = $objView->objSiteInfo; 
    77         $arrInfo = $objSiteInfo->data; 
    7876 
    7977        // パラメータ管理クラス 
     
    10098 
    10199        // 金額の取得 (購入途中で売り切れた場合にはこの関数内にてその商品の数量が0になる) 
    102         $objDb->sfTotalCart($this, $objCartSess, $arrInfo); 
     100        $objDb->sfTotalCart($this, $objCartSess); 
    103101 
    104102        if (empty($arrData)) $arrData = array(); 
    105         $this->arrData = $objDb->sfTotalConfirm($arrData, $this, $objCartSess, $arrInfo); 
     103        $this->arrData = $objDb->sfTotalConfirm($arrData, $this, $objCartSess); 
    106104 
    107105        // カート内の商品の売り切れチェック 
     
    149147        } 
    150148 
    151         // 店舗情報の取得 
    152         $arrInfo = $objSiteInfo->data; 
    153149        // 購入金額の取得得 
    154         $total_pretax = $objCartSess->getAllProductsTotal($arrInfo); 
     150        $total_pretax = $objCartSess->getAllProductsTotal(); 
    155151        // 支払い方法の取得 
    156152        $this->arrPayment = $this->lfGetPayment($total_pretax); 
     
    189185        $this->objCustomer = new SC_Customer(); 
    190186        $objDb = new SC_Helper_DB_Ex(); 
    191         $objSiteInfo = $objView->objSiteInfo; 
    192         $arrInfo = $objSiteInfo->data; 
    193187 
    194188        // パラメータ管理クラス 
     
    211205 
    212206        // 金額の取得 (購入途中で売り切れた場合にはこの関数内にてその商品の数量が0になる) 
    213         $objDb->sfTotalCart($this, $objCartSess, $arrInfo); 
     207        $objDb->sfTotalCart($this, $objCartSess); 
    214208        if (empty($arrData)) $arrData = array(); 
    215         $this->arrData = $objDb->sfTotalConfirm($arrData, $this, $objCartSess, $arrInfo); 
     209        $this->arrData = $objDb->sfTotalConfirm($arrData, $this, $objCartSess); 
    216210 
    217211        // カート内の商品の売り切れチェック 
     
    295289        } 
    296290 
    297         // 店舗情報の取得 
    298         $arrInfo = $objSiteInfo->data; 
    299291        // 購入金額の取得得 
    300         $total_pretax = $objCartSess->getAllProductsTotal($arrInfo); 
     292        $total_pretax = $objCartSess->getAllProductsTotal(); 
    301293        // 支払い方法の取得 
    302294        $this->arrPayment = $this->lfGetPayment($total_pretax); 
     
    398390        } 
    399391 
    400         $objView = new SC_MobileView(); 
    401         $objSiteInfo = $objView->objSiteInfo; 
    402         $arrInfo = $objSiteInfo->data; 
    403392        $objCartSess = new SC_CartSession(); 
    404         $arrInfo = $objSiteInfo->data; 
    405393        // 購入金額の取得得 
    406         $total_pretax = $objCartSess->getAllProductsTotal($arrInfo); 
     394        $total_pretax = $objCartSess->getAllProductsTotal(); 
    407395        // 支払い方法の取得 
    408396        $arrPayment = $this->lfGetPayment($total_pretax); 
  • branches/comu-ver2/data/class/util/SC_Utils.php

    r17998 r18052  
    629629    } 
    630630 
    631     /* 税金計算 */ 
    632     function sfTax($price, $tax = null, $tax_rule = null) { 
    633         // 店舗基本情報を取得 
    634         static $CONF; 
    635         if ( 
    636                is_null($CONF) 
    637             && (is_null($tax) || is_null($tax_rule)) 
    638         ) { 
    639             $CONF = SC_Helper_DB_Ex::sf_getBasisData(); 
    640         } 
    641          
    642         if (is_null($tax)) { 
    643             $tax = $CONF['tax']; 
    644         } 
    645          
    646         if (is_null($tax_rule)) { 
    647             $tax_rule = $CONF['tax_rule']; 
    648         } 
    649          
     631    /** 
     632     * 税金額を返す 
     633     * 
     634     * ・店舗基本情報に基づいた計算は SC_Helper_DB::sfTax() を使用する 
     635     * 
     636     * @param integer $price 計算対象の金額 
     637     * @param integer $tax 税率(%単位) 
     638     *     XXX integer のみか不明 
     639     * @param integer $tax_rule 端数処理 
     640     * @return integer 税金額 
     641     */ 
     642    function sfTax($price, $tax, $tax_rule) { 
    650643        $real_tax = $tax / 100; 
    651644        $ret = $price * $real_tax; 
     
    671664    } 
    672665 
    673     /* 税金付与 */ 
    674     function sfPreTax($price, $tax = null, $tax_rule = null) { 
     666    /** 
     667     * 税金付与した金額を返す 
     668     *  
     669     * ・店舗基本情報に基づいた計算は SC_Helper_DB::sfTax() を使用する 
     670     * 
     671     * @param integer $price 計算対象の金額 
     672     * @param integer $tax 税率(%単位) 
     673     *     XXX integer のみか不明 
     674     * @param integer $tax_rule 端数処理 
     675     * @return integer 税金付与した金額 
     676     */ 
     677    function sfPreTax($price, $tax, $tax_rule) { 
    675678        return $price + SC_Utils_Ex::sfTax($price, $tax, $tax_rule); 
    676679    } 
     
    898901    } 
    899902 
    900     /* 加算ポイントの計算式 */ 
    901     function sfGetAddPoint($totalpoint, $use_point, $arrInfo) { 
     903    /** 
     904     * 加算ポイントの計算 
     905     * 
     906     * ・店舗基本情報に基づいた計算は SC_Helper_DB::sfGetAddPoint() を使用する 
     907     * 
     908     * @param integer $totalpoint 
     909     * @param integer $use_point 
     910     * @param integer $point_rate 
     911     * @return integer 加算ポイント 
     912     */ 
     913    function sfGetAddPoint($totalpoint, $use_point, $point_rate) { 
    902914        // 購入商品の合計ポイントから利用したポイントのポイント換算価値を引く方式 
    903         $add_point = $totalpoint - intval($use_point * ($arrInfo['point_rate'] / 100)); 
     915        $add_point = $totalpoint - intval($use_point * ($point_rate / 100)); 
    904916 
    905917        if($add_point < 0) { 
Note: See TracChangeset for help on using the changeset viewer.