[Svn-src-all:3654] [version-2_12-dev 22566] #2136 #2134 get した値をそのまま save できるように調整.
pineray
admin @ mail.ec-cube.net
2013年 2月 18日 (月) 19:00:58 JST
Subversion committed to /home/svn/open 22566
http://svn.ec-cube.net/open_trac/changeset/22566
┌────────────────────────────┐
│更新者 : pineray │
│更新日時: 2013-02-18 19:00:58 +0900 (月, 18 2月 2013)│
└────────────────────────────┘
Log:
--------------------------------------------------------
#2136 #2134 get した値をそのまま save できるように調整.
Changed: [U:修正,A:追加,D:削除]
--------------------------------------------------------
U branches/version-2_12-dev/data/class/helper/SC_Helper_Delivery.php
U branches/version-2_12-dev/data/class/helper/SC_Helper_Payment.php
U branches/version-2_12-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_DeliveryInput.php
U branches/version-2_12-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_PaymentInput.php
変更: branches/version-2_12-dev/data/class/helper/SC_Helper_Delivery.php
===================================================================
--- branches/version-2_12-dev/data/class/helper/SC_Helper_Delivery.php 2013-02-18 09:02:57 UTC (rev 22565)
+++ branches/version-2_12-dev/data/class/helper/SC_Helper_Delivery.php 2013-02-18 10:00:58 UTC (rev 22566)
@@ -28,8 +28,8 @@
* @author pineray
* @version $Id:$
*/
-class SC_Helper_Delivery
-{
+class SC_Helper_Delivery {
+
/**
* 配送方法の情報を取得.
*
@@ -41,7 +41,7 @@
$objQuery =& SC_Query_Ex::getSingletonInstance();
// 配送業者一覧の取得
- $col = 'deliv_id, name, service_name, remark, confirm_url, product_type_id';
+ $col = '*';
$where = 'deliv_id = ?';
if (!$has_deleted) {
$where .= ' AND del_flg = 0';
@@ -57,7 +57,7 @@
$arrDeliv['deliv_time'] = $this->getDelivTime($deliv_id);
// 配送料金の取得
- $arrDeliv['fee'] = $this->getDelivFeeList($deliv_id);
+ $arrDeliv['deliv_fee'] = $this->getDelivFeeList($deliv_id);
// 支払方法
$arrDeliv['payment_ids'] = $this->getPayments($deliv_id);
@@ -115,8 +115,12 @@
$sqlval_payment_ids = $sqlval['payment_ids'];
unset($sqlval['payment_ids']);
+ $sqlval['update_date'] = 'CURRENT_TIMESTAMP';
+
// deliv_id が決まっていた場合
if ($sqlval['deliv_id'] != '') {
+ unset($sqlval['creator_id']);
+ unset($sqlval['create_date']);
$deliv_id = $sqlval['deliv_id'];
$where = 'deliv_id = ?';
$objQuery->update('dtb_deliv', $sqlval, $where, array($deliv_id));
@@ -125,13 +129,13 @@
$table = 'dtb_delivtime';
$where = 'deliv_id = ? AND time_id = ?';
for ($cnt = 1; $cnt <= DELIVTIME_MAX; $cnt++) {
- $keyname = 'deliv_time'.$cnt;
$arrWhereVal = array($deliv_id, $cnt);
// 既存データの有無を確認
$curData = $objQuery->select('*', $table, $where, $arrWhereVal);
if (isset($sqlval_deliv_time[$cnt])) {
- $deliv_time = $sqlval_deliv_time[$cnt];
+ $deliv_time = array();
+ $deliv_time['deliv_time'] = $sqlval_deliv_time[$cnt];
// 入力が空ではなく、DBに情報があれば更新
if (count($curData)) {
@@ -145,15 +149,15 @@
}
}
// 入力が空で、DBに情報がある場合は削除
- else if (count($curData)) {
+ elseif (count($curData)) {
$objQuery->delete($table, $where, $arrWhereVal);
}
}
// 配送料の登録
if (INPUT_DELIV_FEE) {
- foreach ($sqlval_deliv_fee as $cnt => $deliv_fee) {
- $objQuery->update('dtb_delivfee', array('fee' => $deliv_fee['fee']), 'deliv_id = ? AND fee_id = ?', array($deliv_id, $cnt));
+ foreach ($sqlval_deliv_fee as $deliv_fee) {
+ $objQuery->update('dtb_delivfee', array('fee' => $deliv_fee['fee']), 'deliv_id = ? AND fee_id = ?', array($deliv_id, $deliv_fee['fee_id']));
}
}
} else {
@@ -175,9 +179,8 @@
if (INPUT_DELIV_FEE) {
// 配送料金の設定
- foreach ($sqlval_deliv_fee as $cnt => $deliv_fee) {
+ foreach ($sqlval_deliv_fee as $deliv_fee) {
$deliv_fee['deliv_id'] = $deliv_id;
- $deliv_fee['fee_id'] = $cnt;
// INSERTの実行
$objQuery->insert('dtb_delivfee', $deliv_fee);
}
@@ -186,9 +189,14 @@
// 支払い方法
$objQuery->delete('dtb_payment_options', 'deliv_id = ?', array($deliv_id));
- foreach ($sqlval_payment_ids as $payment_ids) {
- $payment_ids['deliv_id'] = $deliv_id;
- $objQuery->insert('dtb_payment_options', $payment_ids);
+ $i = 1;
+ foreach ($sqlval_payment_ids as $payment_id) {
+ $sqlval_payment_id = array();
+ $sqlval_payment_id['deliv_id'] = $deliv_id;
+ $sqlval_payment_id['payment_id'] = $payment_id;
+ $sqlval_payment_id['rank'] = $i;
+ $objQuery->insert('dtb_payment_options', $sqlval_payment_id);
+ $i++;
}
$objQuery->commit();
@@ -242,7 +250,7 @@
$ret = $objDb->sfIsRecord('dtb_deliv', 'service_name', array($arrDeliv['service_name']));
} else {
$objQuery =& SC_Query_Ex::getSingletonInstance();
- $ret = (($objQuery->count('dtb_deliv', 'deliv_id != ? AND service_name = ? ', array($arrDeliv['deliv_id'], $arrDeliv['service_name'])) > 0)? true : false);
+ $ret = (($objQuery->count('dtb_deliv', 'deliv_id != ? AND service_name = ? ', array($arrDeliv['deliv_id'], $arrDeliv['service_name'])) > 0) ? true : false);
}
return $ret;
}
@@ -266,9 +274,7 @@
public static function getDelivTime($deliv_id) {
$objQuery =& SC_Query_Ex::getSingletonInstance();
$objQuery->setOrder('time_id');
- $results = $objQuery->select('time_id, deliv_time',
- 'dtb_delivtime',
- 'deliv_id = ?', array($deliv_id));
+ $results = $objQuery->select('time_id, deliv_time', 'dtb_delivtime', 'deliv_id = ?', array($deliv_id));
$arrDelivTime = array();
foreach ($results as $val) {
$arrDelivTime[$val['time_id']] = $val['deliv_time'];
@@ -285,9 +291,7 @@
public static function getPayments($deliv_id) {
$objQuery =& SC_Query_Ex::getSingletonInstance();
$objQuery->setOrder('rank');
- return $objQuery->getCol('payment_id', 'dtb_payment_options',
- 'deliv_id = ?',
- array($deliv_id), MDB2_FETCHMODE_ORDERED);
+ return $objQuery->getCol('payment_id', 'dtb_payment_options', 'deliv_id = ?', array($deliv_id), MDB2_FETCHMODE_ORDERED);
}
/**
@@ -327,10 +331,9 @@
public static function getDelivFeeList($deliv_id) {
$objQuery =& SC_Query_Ex::getSingletonInstance();
$objQuery->setOrder('pref');
- $col = 'fee';
+ $col = 'fee_id, fee, pref';
$where = 'deliv_id = ?';
$table = 'dtb_delivfee';
- return $objQuery->getCol($col, $table, $where, array($deliv_id),
- MDB2_FETCHMODE_ORDERED);
+ return $objQuery->select($col, $table, $where, array($deliv_id));
}
}
変更: branches/version-2_12-dev/data/class/helper/SC_Helper_Payment.php
===================================================================
--- branches/version-2_12-dev/data/class/helper/SC_Helper_Payment.php 2013-02-18 09:02:57 UTC (rev 22565)
+++ branches/version-2_12-dev/data/class/helper/SC_Helper_Payment.php 2013-02-18 10:00:58 UTC (rev 22566)
@@ -73,9 +73,10 @@
* @return void
*/
public function save($sqlval) {
+ $objQuery =& SC_Query_Ex::getSingletonInstance();
+
$payment_id = $sqlval['payment_id'];
-
- $objQuery =& SC_Query_Ex::getSingletonInstance();
+ $sqlval['update_date'] = 'CURRENT_TIMESTAMP';
// 新規登録
if ($payment_id == '') {
// INSERTの実行
@@ -86,6 +87,7 @@
// 既存編集
} else {
unset($sqlval['creator_id']);
+ unset($sqlval['create_date']);
$where = 'payment_id = ?';
$objQuery->update('dtb_payment', $sqlval, $where, array($payment_id));
}
変更: branches/version-2_12-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_DeliveryInput.php
===================================================================
--- branches/version-2_12-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_DeliveryInput.php 2013-02-18 09:02:57 UTC (rev 22565)
+++ branches/version-2_12-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_DeliveryInput.php 2013-02-18 10:00:58 UTC (rev 22566)
@@ -70,7 +70,7 @@
* @return void
*/
function action() {
-
+ $objFormParam = new SC_FormParam_Ex();
$this->lfInitParam($this->mode, $objFormParam);
$objFormParam->setParam($_POST);
@@ -158,16 +158,13 @@
$sqlval['confirm_url'] = $arrRet['confirm_url'];
$sqlval['product_type_id'] = $arrRet['product_type_id'];
$sqlval['creator_id'] = $member_id;
- $sqlval['update_date'] = 'CURRENT_TIMESTAMP';
// お届け時間
$sqlval['deliv_time'] = array();
for ($cnt = 1; $cnt <= DELIVTIME_MAX; $cnt++) {
$keyname = "deliv_time$cnt";
if ($arrRet[$keyname] != '') {
- $deliv_time = array();
- $deliv_time['deliv_time'] = $arrRet[$keyname];
- $sqlval['deliv_time'][$cnt] = $deliv_time;
+ $sqlval['deliv_time'][$cnt] = $arrRet[$keyname];
}
}
@@ -179,6 +176,7 @@
$keyname = "fee$cnt";
if ($arrRet[$keyname] != '') {
$fee = array();
+ $fee['fee_id'] = $cnt;
$fee['fee'] = $arrRet[$keyname];
$fee['pref'] = $cnt;
$sqlval['deliv_fee'][$cnt] = $fee;
@@ -188,13 +186,8 @@
// 支払い方法
$sqlval['payment_ids'] = array();
- $i = 1;
- foreach ($arrRet['payment_ids'] as $val) {
- $payment_ids = array();
- $payment_ids['payment_id'] = $val;
- $payment_ids['rank'] = $i;
- $sqlval['payment_ids'][] = $payment_ids;
- $i++;
+ foreach ($arrRet['payment_ids'] as $payment_id) {
+ $sqlval['payment_ids'][] = $payment_id;
}
$deliv_id = $objDelivery->save($sqlval);
@@ -204,7 +197,6 @@
/* 配送業者情報の取得 */
function lfGetDelivData(&$objFormParam) {
- $objQuery =& SC_Query_Ex::getSingletonInstance();
$objDelivery = new SC_Helper_Delivery_Ex();
$deliv_id = $objFormParam->getValue('deliv_id');
@@ -223,11 +215,11 @@
unset($arrDeliv['deliv_time']);
// 配送料金
$deliv_fee = array();
- foreach ($arrDeliv['fee'] as $value) {
- $deliv_fee[]['fee'] = $value;
+ foreach ($arrDeliv['deliv_fee'] as $value) {
+ $deliv_fee[]['fee'] = $value['fee'];
}
$objFormParam->setParamList($deliv_fee, 'fee');
- unset($arrDeliv['fee']);
+ unset($arrDeliv['deliv_fee']);
// 支払方法
$objFormParam->setValue('payment_ids', $arrDeliv['payment_ids']);
unset($arrDeliv['payment_ids']);
変更: branches/version-2_12-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_PaymentInput.php
===================================================================
--- branches/version-2_12-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_PaymentInput.php 2013-02-18 09:02:57 UTC (rev 22565)
+++ branches/version-2_12-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_PaymentInput.php 2013-02-18 10:00:58 UTC (rev 22566)
@@ -214,7 +214,6 @@
function lfRegistData(&$objFormParam, SC_Helper_Payment_Ex $objPayment, $member_id, $payment_id = '') {
$sqlval = array_merge($objFormParam->getHashArray(), $this->objUpFile->getDBFileList());
- $sqlval['update_date'] = 'CURRENT_TIMESTAMP';
$sqlval['payment_id'] = $payment_id;
$sqlval['creator_id'] = $member_id;
Svn-src-all メーリングリストの案内