[Svn-src-all:1416] [version-2_5-dev 20307] #964 リファクタリング 宣言を除き, 引数や返り値が無く, すべて内部のメンバ変数で処理するような関数は極力作成しない
coelacanth
admin @ mail.ec-cube.net
2011年 2月 21日 (月) 19:35:23 JST
Subversion committed to /home/svn/open 20307
http://svn.ec-cube.net/open_trac/changeset/20307
┌────────────────────────────┐
│更新者 : coelacanth │
│更新日時: 2011-02-21 19:35:22 +0900 (月, 21 2月 2011)│
└────────────────────────────┘
Log:
--------------------------------------------------------
#964 リファクタリング 宣言を除き, 引数や返り値が無く, すべて内部のメンバ変数で処理するような関数は極力作成しない
Changed: [U:修正,A:追加,D:削除]
--------------------------------------------------------
U branches/version-2_5-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_Delivery_Input.php
変更: branches/version-2_5-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_Delivery_Input.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_Delivery_Input.php 2011-02-21 10:26:08 UTC (rev 20306)
+++ branches/version-2_5-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_Delivery_Input.php 2011-02-21 10:35:22 UTC (rev 20307)
@@ -81,20 +81,18 @@
// 認証可否の判定
SC_Utils_Ex::sfIsSuccess($objSess);
- // パラメータ管理クラス
- $this->objFormParam = new SC_FormParam();
- // パラメータ情報の初期化
- $this->lfInitParam();
- // POST値をパラメータとする
- $this->objFormParam->setParam($_POST);
+ $objFormParam = new SC_FormParam();
+ $this->lfInitParam($this->mode, $objFormParam);
+ $objFormParam->setParam($_POST);
+
// 入力値の変換
- $this->objFormParam->convParam();
- $this->arrErr = $this->lfCheckError();
+ $objFormParam->convParam();
+ $this->arrErr = $this->lfCheckError($objFormParam);
switch ($this->mode) {
case 'edit':
if (count($this->arrErr) == 0) {
- $this->objFormParam->setValue('deliv_id', $this->lfRegistData());
+ $objFormParam->setValue('deliv_id', $this->lfRegistData($objFormParam->getHashArray(), $_SESSION['member_id']));
$this->tpl_onload = "window.alert('配送業者設定が完了しました。');";
}
break;
@@ -102,13 +100,13 @@
if (count($this->arrErr) > 0) {
SC_Utils_Ex::sfDispException();
}
- $this->lfGetDelivData($this->objFormParam->getValue('deliv_id'));
+ $this->lfGetDelivData($objFormParam);
break;
default:
break;
}
- $this->arrForm = $this->objFormParam->getFormParamList();
+ $this->arrForm = $objFormParam->getFormParamList();
}
/**
@@ -121,35 +119,32 @@
}
/* パラメータ情報の初期化 */
- function lfInitParam($mode = null) {
+ function lfInitParam($mode, &$objFormParam) {
+ $objFormParam->initParam();
- if (is_null($mode)) $mode = $this->mode;
-
- $this->objFormParam->initParam();
-
switch ($mode) {
case 'edit':
- $this->objFormParam->addParam('配送業者ID', 'deliv_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
- $this->objFormParam->addParam("配送業者名", "name", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK"));
- $this->objFormParam->addParam("名称", "service_name", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK"));
- $this->objFormParam->addParam("説明", "remark", LLTEXT_LEN, "KVa", array("MAX_LENGTH_CHECK"));
- $this->objFormParam->addParam("伝票No.確認URL", "confirm_url", STEXT_LEN, "n", array("URL_CHECK", "MAX_LENGTH_CHECK"), "http://");
- $this->objFormParam->addParam("取扱商品種別", "product_type_id", INT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
- $this->objFormParam->addParam("取扱支払方法", "payment_ids", INT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
+ $objFormParam->addParam('配送業者ID', 'deliv_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
+ $objFormParam->addParam("配送業者名", "name", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK"));
+ $objFormParam->addParam("名称", "service_name", STEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK"));
+ $objFormParam->addParam("説明", "remark", LLTEXT_LEN, "KVa", array("MAX_LENGTH_CHECK"));
+ $objFormParam->addParam("伝票No.確認URL", "confirm_url", STEXT_LEN, "n", array("URL_CHECK", "MAX_LENGTH_CHECK"), "http://");
+ $objFormParam->addParam("取扱商品種別", "product_type_id", INT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
+ $objFormParam->addParam("取扱支払方法", "payment_ids", INT_LEN, "n", array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
for($cnt = 1; $cnt <= DELIVTIME_MAX; $cnt++) {
- $this->objFormParam->addParam("お届け時間$cnt", "deliv_time$cnt", STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK"));
+ $objFormParam->addParam("お届け時間$cnt", "deliv_time$cnt", STEXT_LEN, "KVa", array("MAX_LENGTH_CHECK"));
}
if(INPUT_DELIV_FEE) {
for($cnt = 1; $cnt <= DELIVFEE_MAX; $cnt++) {
- $this->objFormParam->addParam("配送料金$cnt", "fee$cnt", PRICE_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
+ $objFormParam->addParam("配送料金$cnt", "fee$cnt", PRICE_LEN, "n", array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
}
}
break;
case 'pre_edit':
- $this->objFormParam->addParam('配送業者ID', 'deliv_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
+ $objFormParam->addParam('配送業者ID', 'deliv_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
break;
default:
@@ -162,8 +157,7 @@
*
* @return $deliv_id
*/
- function lfRegistData() {
- $arrRet = $this->objFormParam->getHashArray();
+ function lfRegistData($arrRet, $member_id) {
$objQuery =& SC_Query::getSingletonInstance();
$objQuery->begin();
@@ -173,13 +167,13 @@
$sqlval['remark'] = $arrRet['remark'];
$sqlval['confirm_url'] = $arrRet['confirm_url'];
$sqlval['product_type_id'] = $arrRet['product_type_id'];
- $sqlval['creator_id'] = $_SESSION['member_id'];
+ $sqlval['creator_id'] = $member_id;
$sqlval['update_date'] = 'Now()';
// deliv_id が決まっていた場合
- if($_POST['deliv_id'] != "") {
- $deliv_id = $_POST['deliv_id'];
+ if($arrRet['deliv_id'] != "") {
+ $deliv_id = $arrRet['deliv_id'];
$where = "deliv_id = ?";
$objQuery->update("dtb_deliv", $sqlval, $where, array($deliv_id));
@@ -263,8 +257,7 @@
}
}
- // TODO 支払方法登録
- $objQuery->delete('dtb_payment_options', 'deliv_id = ?', array($_POST['deliv_id']));
+ $objQuery->delete('dtb_payment_options', 'deliv_id = ?', array($arrRet['deliv_id']));
$sqlval = array();
$i = 1;
foreach ($arrRet['payment_ids'] as $val) {
@@ -279,30 +272,32 @@
}
/* 配送業者情報の取得 */
- function lfGetDelivData($deliv_id) {
+ function lfGetDelivData(&$objFormParam) {
$objQuery =& SC_Query::getSingletonInstance();
+ $deliv_id = $objFormParam->getValue('deliv_id');
+
// パラメータ情報の初期化
- $this->lfInitParam('edit');
+ $this->lfInitParam('edit', $objFormParam);
// 配送業者一覧の取得
$col = "deliv_id, name, service_name, remark, confirm_url, product_type_id";
$where = "deliv_id = ?";
$table = "dtb_deliv";
$arrRet = $objQuery->select($col, $table, $where, array($deliv_id));
- $this->objFormParam->setParam($arrRet[0]);
+ $objFormParam->setParam($arrRet[0]);
// お届け時間の取得
$col = "deliv_time";
$where = "deliv_id = ? ORDER BY time_id";
$table = "dtb_delivtime";
$arrRet = $objQuery->select($col, $table, $where, array($deliv_id));
- $this->objFormParam->setParamList($arrRet, 'deliv_time');
+ $objFormParam->setParamList($arrRet, 'deliv_time');
// 配送料金の取得
$col = "fee";
$where = "deliv_id = ? ORDER BY pref";
$table = "dtb_delivfee";
$arrRet = $objQuery->select($col, $table, $where, array($deliv_id));
- $this->objFormParam->setParamList($arrRet, 'fee');
+ $objFormParam->setParamList($arrRet, 'fee');
// 支払方法
$col = 'payment_id';
$where = 'deliv_id = ? ORDER BY rank';
@@ -312,17 +307,17 @@
foreach ($arrRet as $val) {
$arrPaymentIds[] = $val['payment_id'];
}
- $this->objFormParam->setValue('payment_ids', $arrPaymentIds);
+ $objFormParam->setValue('payment_ids', $arrPaymentIds);
}
/* 入力内容のチェック */
- function lfCheckError() {
+ function lfCheckError(&$objFormParam) {
// 入力データを渡す。
- $arrRet = $this->objFormParam->getHashArray();
+ $arrRet = $objFormParam->getHashArray();
$objErr = new SC_CheckError($arrRet);
- $objErr->arrErr = $this->objFormParam->checkError();
+ $objErr->arrErr = $objFormParam->checkError();
- if(!isset($objErr->arrErr['name']) && $_POST['deliv_id'] == "") {
+ if(!isset($objErr->arrErr['name']) && $arrRet['deliv_id'] == "") {
// 既存チェック
$objDb = new SC_Helper_DB_Ex();
$ret = $objDb->sfIsRecord("dtb_deliv", "service_name", array($arrRet['service_name']));
Svn-src-all メーリングリストの案内