Index: /branches/version-2_13_2/tests/class/helper/SC_Helper_Address/SC_Helper_Address_getAddressTest.php
===================================================================
--- /branches/version-2_13_2/tests/class/helper/SC_Helper_Address/SC_Helper_Address_getAddressTest.php (revision 23294)
+++ /branches/version-2_13_2/tests/class/helper/SC_Helper_Address/SC_Helper_Address_getAddressTest.php (revision 23408)
@@ -13,5 +13,4 @@
parent::setUp();
$this->objAddress = new SC_Helper_Address_Ex();
- $_SESSION['customer']['customer_id'] = 1; // 会員じゃないとテストが落ちる
}
@@ -28,4 +27,15 @@
$this->setUpAddress();
$other_deliv_id = '999';
+ $customer_id = 1;
+ $this->expected = FALSE;
+ $this->actual = $this->objAddress->getAddress($other_deliv_id, $customer_id);
+
+ $this->verify('登録配送先取得');
+ }
+
+ public function testgetAddressTest_会員IDを設定しない場合_FALSEを返す()
+ {
+ $this->setUpAddress();
+ $other_deliv_id = '1001';
$this->expected = FALSE;
$this->actual = $this->objAddress->getAddress($other_deliv_id);
@@ -38,4 +48,5 @@
$this->setUpAddress();
$other_deliv_id = '1001';
+ $customer_id = 1;
$this->expected = array(
'other_deliv_id' => '1001',
@@ -60,5 +71,5 @@
'zipcode' => null
);
- $this->actual = $this->objAddress->getAddress($other_deliv_id);
+ $this->actual = $this->objAddress->getAddress($other_deliv_id, $customer_id);
$this->verify('登録配送先取得');
Index: /branches/version-2_13_2/tests/class/helper/SC_Helper_Address/SC_Helper_Address_deleteAddressTest.php
===================================================================
--- /branches/version-2_13_2/tests/class/helper/SC_Helper_Address/SC_Helper_Address_deleteAddressTest.php (revision 23294)
+++ /branches/version-2_13_2/tests/class/helper/SC_Helper_Address/SC_Helper_Address_deleteAddressTest.php (revision 23408)
@@ -13,5 +13,4 @@
parent::setUp();
$this->objAddress = new SC_Helper_Address_Ex();
- $_SESSION['customer']['customer_id'] = 1; // 会員じゃないとテストが落ちる
}
@@ -27,14 +26,25 @@
$this->setUpAddress();
$other_deliv_id = '1000';
+ $customer_id = 1;
$this->expected = NULL;
- $this->objAddress->deleteAddress($other_deliv_id);
+ $this->objAddress->deleteAddress($other_deliv_id, $customer_id);
$objQuery =& SC_Query_Ex::getSingletonInstance();
$select = '*';
$from = 'dtb_other_deliv';
- $where = 'other_deliv_id = ?';
- $whereVal = array($other_deliv_id);
+ $where = 'other_deliv_id = ? AND customer_id = ?';
+ $whereVal = array($other_deliv_id, $customer_id);
$this->actual = $objQuery->getRow($select, $from, $where, $whereVal);
$this->verify('登録配送先削除');
}
+
+ public function testdeleteAddressTest_会員IDを設定しない場合_FALSEを返す()
+ {
+ $this->setUpAddress();
+ $other_deliv_id = '1000';
+ $this->expected = FALSE;
+ $this->actual = $this->objAddress->deleteAddress($other_deliv_id);
+
+ $this->verify('登録配送先削除');
+ }
}
Index: /branches/version-2_13_2/data/class/pages/mypage/LC_Page_Mypage_DeliveryAddr.php
===================================================================
--- /branches/version-2_13_2/data/class/pages/mypage/LC_Page_Mypage_DeliveryAddr.php (revision 23279)
+++ /branches/version-2_13_2/data/class/pages/mypage/LC_Page_Mypage_DeliveryAddr.php (revision 23408)
@@ -141,5 +141,5 @@
if ($_GET['other_deliv_id'] != '') {
- $arrOtherDeliv = $objAddress->getAddress($_SESSION['other_deliv_id']);
+ $arrOtherDeliv = $objAddress->getAddress($_SESSION['other_deliv_id'], $objCustomer->getValue('customer_id'));
//不正アクセス判定
@@ -172,5 +172,8 @@
$sqlval['customer_id'] = $customer_id;
- $objAddress->registAddress($sqlval);
+ if (!$objAddress->registAddress($sqlval)) {
+ SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, '', false, '別のお届け先を登録できませんでした。');
+ SC_Response_Ex::actionExit();
+ }
}
Index: /branches/version-2_13_2/data/class/pages/mypage/LC_Page_Mypage_Delivery.php
===================================================================
--- /branches/version-2_13_2/data/class/pages/mypage/LC_Page_Mypage_Delivery.php (revision 23124)
+++ /branches/version-2_13_2/data/class/pages/mypage/LC_Page_Mypage_Delivery.php (revision 23408)
@@ -83,5 +83,8 @@
}
- $objAddress->deleteAddress($objFormParam->getValue('other_deliv_id'));
+ if (!$objAddress->deleteAddress($objFormParam->getValue('other_deliv_id'), $customer_id)) {
+ SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, '', false, '別のお届け先を削除できませんでした。');
+ SC_Response_Ex::actionExit();
+ }
break;
Index: /branches/version-2_13_2/data/class/pages/shopping/LC_Page_Shopping_Multiple.php
===================================================================
--- /branches/version-2_13_2/data/class/pages/shopping/LC_Page_Shopping_Multiple.php (revision 23230)
+++ /branches/version-2_13_2/data/class/pages/shopping/LC_Page_Shopping_Multiple.php (revision 23408)
@@ -302,5 +302,11 @@
if ($objCustomer->isLoginSuccess(true)) {
if ($other_deliv_id != 0) {
- $otherDeliv = $objAddress->getAddress($other_deliv_id);
+ $otherDeliv = $objAddress->getAddress($other_deliv_id, $objCustomer->getValue('customer_id'));
+
+ if (!$otherDeliv) {
+ SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, '', false, "入力値が不正です。
正しい値を入力してください。");
+ SC_Response_Ex::actionExit();
+ }
+
foreach ($otherDeliv as $key => $val) {
$arrValues[$other_deliv_id]['shipping_' . $key] = $val;
Index: /branches/version-2_13_2/data/class/pages/shopping/LC_Page_Shopping_Deliv.php
===================================================================
--- /branches/version-2_13_2/data/class/pages/shopping/LC_Page_Shopping_Deliv.php (revision 23256)
+++ /branches/version-2_13_2/data/class/pages/shopping/LC_Page_Shopping_Deliv.php (revision 23408)
@@ -112,5 +112,8 @@
// 削除
case 'delete':
- $objAddress->deleteAddress($arrForm['other_deliv_id']);
+ if (!$objAddress->deleteAddress($arrForm['other_deliv_id'], $objCustomer->getValue('customer_id'))) {
+ SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, '', false, '別のお届け先を削除できませんでした。');
+ SC_Response_Ex::actionExit();
+ }
break;
@@ -225,5 +228,5 @@
// 別のお届け先がチェックされている場合
else {
- $arrOtherDeliv = $objAddress->getAddress($other_deliv_id);
+ $arrOtherDeliv = $objAddress->getAddress($other_deliv_id, $objCustomer->getValue('customer_id'));
if (!$arrOtherDeliv) {
return false;
Index: /branches/version-2_13_2/data/class/helper/SC_Helper_Address.php
===================================================================
--- /branches/version-2_13_2/data/class/helper/SC_Helper_Address.php (revision 23279)
+++ /branches/version-2_13_2/data/class/helper/SC_Helper_Address.php (revision 23408)
@@ -40,6 +40,5 @@
{
if (self::delivErrorCheck($sqlval)) {
- SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, '', false, "入力値が不正です。
正しい値を入力してください。");
- SC_Response_Ex::actionExit();
+ return false;
}
@@ -56,11 +55,10 @@
$deliv_count = $objQuery->count($from, $where, $arrVal);
if ($deliv_count >= DELIV_ADDR_MAX) {
- SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, '', false, '別のお届け先最大登録数に達しています。');
- SC_Response_Ex::actionExit();
+ return false;
}
// 別のお届け先を追加
$sqlval['other_deliv_id'] = $objQuery->nextVal('dtb_other_deliv_other_deliv_id');
- $objQuery->insert($from, $sqlval);
+ $ret = $objQuery->insert($from, $sqlval);
// 変更
@@ -71,11 +69,12 @@
$deliv_count = $objQuery->count($from, $where, $arrVal);
if ($deliv_count != 1) {
- SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, '', false, '一致する別のお届け先がありません。');
- SC_Response_Ex::actionExit();
+ return false;
}
// 別のお届け先を変更
- $objQuery->update($from, $sqlval, $where, $arrVal);
+ $ret = $objQuery->update($from, $sqlval, $where, $arrVal);
}
+
+ return $ret;
}
@@ -86,12 +85,8 @@
* @return array()
*/
- public function getAddress($other_deliv_id)
+ public function getAddress($other_deliv_id, $customer_id = '')
{
- $objCustomer = new SC_Customer_Ex();
- $customer_id = $objCustomer->getValue('customer_id');
-
if (self::delivErrorCheck(array('customer_id' => $customer_id, 'other_deliv_id' => $other_deliv_id))) {
- SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, '', false, "入力値が不正です。
正しい値を入力してください。");
- SC_Response_Ex::actionExit();
+ return false;
}
@@ -117,6 +112,5 @@
{
if (self::delivErrorCheck(array('customer_id' => $customer_id))) {
- SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, '', false, "入力値が不正です。
正しい値を入力してください。");
- SC_Response_Ex::actionExit();
+ return false;
}
@@ -141,12 +135,8 @@
* @return void
*/
- public function deleteAddress($other_deliv_id)
+ public function deleteAddress($other_deliv_id, $customer_id = '')
{
- $objCustomer = new SC_Customer_Ex();
- $customer_id = $objCustomer->getValue('customer_id');
-
if (self::delivErrorCheck(array('customer_id' => $customer_id, 'other_deliv_id' => $other_deliv_id))) {
- SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, '', false, "入力値が不正です。
正しい値を入力してください。");
- SC_Response_Ex::actionExit();
+ return false;
}
@@ -156,5 +146,5 @@
$where = 'customer_id = ? AND other_deliv_id = ?';
$arrVal = array($customer_id, $other_deliv_id);
- $objQuery->delete($from, $where, $arrVal);
+ return $objQuery->delete($from, $where, $arrVal);
}