function lfCheek($arrInfo, $mode = "") { $objDb = new SC_Helper_DB_Ex(); $arrVal = $this->objFormParam->getHashArray(); $arrErr = array(); // 商品の種類数 $max = count($arrVal['quantity']); $subtotal = 0; $totalpoint = 0; $totaltax = 0; for ($i = 0; $i < $max; $i++) { // 小計の計算 $subtotal += SC_Utils_Ex::sfPreTax($arrVal['price'][$i], $arrInfo['tax'], $arrInfo['tax_rule']) * $arrVal['quantity'][$i]; // 小計の計算 $totaltax += SC_Utils_Ex::sfTax($arrVal['price'][$i], $arrInfo['tax'], $arrInfo['tax_rule']) * $arrVal['quantity'][$i]; // 加算ポイントの計算 $totalpoint += SC_Utils_Ex::sfPrePoint($arrVal['price'][$i], $arrVal['point_rate'][$i]) * $arrVal['quantity'][$i]; } // 消費税 $arrVal['tax'] = $totaltax; // 小計 $arrVal['subtotal'] = $subtotal; // 合計 $arrVal['total'] = $subtotal - $arrVal['discount'] + $arrVal['deliv_fee'] + $arrVal['charge']; // お支払い合計 $arrVal['payment_total'] = $arrVal['total'] - $arrVal['use_point'] * POINT_VALUE; // 加算ポイント $arrVal['add_point'] = SC_Utils_Ex::sfGetAddPoint($totalpoint, $arrVal['use_point'], $arrInfo); if (strlen($_POST['customer_id']) > 0) { list($arrVal['point'], $arrVal['total_point']) = $objDb->sfGetCustomerPointFromCid($_POST['customer_id'], $arrVal['use_point'], $arrVal['add_point']); } else { list($arrVal['point'], $arrVal['total_point']) = $objDb->sfGetCustomerPoint($_POST['order_id'], $arrVal['use_point'], $arrVal['add_point']); } if ($arrVal['total'] < 0) { $arrErr['total'] = '合計額がマイナス表示にならないように調整して下さい。<br />'; } if ($arrVal['payment_total'] < 0) { $arrErr['payment_total'] = 'お支払い合計額がマイナス表示にならないように調整して下さい。<br />'; } //新規追加受注のみ if ($mode == "add") { if ($arrVal['total_point'] < 0) { $arrErr['use_point'] = '最終保持ポイントがマイナス表示にならないように調整して下さい。<br />'; } } $this->objFormParam->setParam($arrVal); return $arrErr; }