[Svn-src-all:1434] [version-2_5-dev 20326] #964 リファクタリング 宣言を除き, 引数や返り値が無く, すべて内部のメンバ変数で処理するような関数は極力作成しない

coelacanth admin @ mail.ec-cube.net
2011年 2月 22日 (火) 15:57:31 JST


Subversion committed to /home/svn/open 20326
http://svn.ec-cube.net/open_trac/changeset/20326
┌────────────────────────────┐
│更新者 :  coelacanth                                   │
│更新日時:  2011-02-22 15:57:30 +0900 (火, 22  2月 2011)│
└────────────────────────────┘

Log:
--------------------------------------------------------
#964 リファクタリング 宣言を除き, 引数や返り値が無く, すべて内部のメンバ変数で処理するような関数は極力作成しない

Changed:                      [U:修正,A:追加,D:削除]
--------------------------------------------------------
U   branches/version-2_5-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_Holiday.php
U   branches/version-2_5-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_Kiyaku.php
U   branches/version-2_5-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_Mail.php

変更: branches/version-2_5-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_Holiday.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_Holiday.php	2011-02-22 05:40:30 UTC (rev 20325)
+++ branches/version-2_5-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_Holiday.php	2011-02-22 06:57:30 UTC (rev 20326)
@@ -83,12 +83,15 @@
             $objFormParam = new SC_FormParam();
             $this->lfInitParam($mode, $objFormParam);
             $objFormParam->setParam($_POST);
+            $objFormParam->convParam();
 
             $this->arrErr = $this->lfCheckError($mode, $objFormParam);
             if (!empty($this->arrErr['holiday_id'])) {
                 SC_Utils_Ex::sfDispException();
                 return;
             }
+
+            $post = $objFormParam->getHashArray();
         }
 
         // 要求判定
@@ -96,46 +99,46 @@
         // 編集処理
         case 'edit':
             // POST値の引き継ぎ
-            $this->arrForm = $_POST;
+            $this->arrForm = $this->arrForm = $_POST;
 
             if(count($this->arrErr) <= 0) {
-                if($_POST['holiday_id'] == "") {
+                if($post['holiday_id'] == "") {
                     $this->lfInsertClass($this->arrForm, $_SESSION['member_id']);    // 新規作成
                 } else {
-                    $this->lfUpdateClass($this->arrForm, $_POST['holiday_id']);	// 既存編集
+                    $this->lfUpdateClass($this->arrForm, $post['holiday_id']);	// 既存編集
                 }
                 // 再表示
                 $this->objDisplay->reload();
             } else {
                 // POSTデータを引き継ぐ
-                $this->tpl_holiday_id = $_POST['holiday_id'];
+                $this->tpl_holiday_id = $post['holiday_id'];
             }
             break;
         // 削除
         case 'delete':
-            $objDb->sfDeleteRankRecord("dtb_holiday", "holiday_id", $_POST['holiday_id'], "", true);
+            $objDb->sfDeleteRankRecord("dtb_holiday", "holiday_id", $post['holiday_id'], "", true);
             // 再表示
             $this->objDisplay->reload();
             break;
         // 編集前処理
         case 'pre_edit':
             // 編集項目を取得する。
-            $arrHolidayData = $this->lfGetHolidayDataByHolidayID($_POST['holiday_id']);
+            $arrHolidayData = $this->lfGetHolidayDataByHolidayID($post['holiday_id']);
 
             // 入力項目にカテゴリ名を入力する。
             $this->arrForm['title'] = $arrHolidayData[0]['title'];
             $this->arrForm['month'] = $arrHolidayData[0]['month'];
             $this->arrForm['day'] = $arrHolidayData[0]['day'];
             // POSTデータを引き継ぐ
-            $this->tpl_holiday_id = $_POST['holiday_id'];
+            $this->tpl_holiday_id = $post['holiday_id'];
         break;
         case 'down':
-            $objDb->sfRankDown("dtb_holiday", "holiday_id", $_POST['holiday_id']);
+            $objDb->sfRankDown("dtb_holiday", "holiday_id", $post['holiday_id']);
             // 再表示
             $this->objDisplay->reload();
             break;
         case 'up':
-            $objDb->sfRankUp("dtb_holiday", "holiday_id", $_POST['holiday_id']);
+            $objDb->sfRankUp("dtb_holiday", "holiday_id", $post['holiday_id']);
             // 再表示
             $this->objDisplay->reload();
             break;
@@ -188,7 +191,7 @@
     }
 
     /* DBへの更新 */
-    function lfUpdateClass($arrData, $holiday_id) {
+    function lfUpdateClass($arrData) {
         $objQuery =& SC_Query::getSingletonInstance();
         // UPDATEする値を作成する。
         $sqlval['title'] = $arrData['title'];
@@ -197,7 +200,7 @@
         $sqlval['update_date'] = "Now()";
         $where = "holiday_id = ?";
         // UPDATEの実行
-        $ret = $objQuery->update("dtb_holiday", $sqlval, $where, array($holiday_id));
+        $ret = $objQuery->update("dtb_holiday", $sqlval, $where, array($arrData['holiday_id']));
         return $ret;
     }
 

変更: branches/version-2_5-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_Kiyaku.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_Kiyaku.php	2011-02-22 05:40:30 UTC (rev 20325)
+++ branches/version-2_5-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_Kiyaku.php	2011-02-22 06:57:30 UTC (rev 20326)
@@ -75,11 +75,17 @@
         $mode = $this->getMode();
 
         if (!empty($_POST)) {
-            $this->arrErr = $this->lfCheckError($mode, $_POST);
+            $objFormParam = new SC_FormParam();
+            $this->lfInitParam($mode, $objFormParam);
+            $objFormParam->setParam($_POST);
+            $objFormParam->convParam();
+
+            $this->arrErr = $this->lfCheckError($mode, $objFormParam);
             if (!empty($this->arrErr['kiyaku_id'])) {
                 SC_Utils_Ex::sfDispException();
                 return;
             }
+            $post = $objFormParam->getHashArray();
         }
 
         // 要求判定
@@ -90,42 +96,42 @@
             $this->arrForm = $_POST;
 
             if(count($this->arrErr) <= 0) {
-                if($_POST['kiyaku_id'] == "") {
+                if($post['kiyaku_id'] == "") {
                     $this->lfInsertClass($this->arrForm, $_SESSION['member_id']);    // 新規作成
                 } else {
-                    $this->lfUpdateClass($this->arrForm, $_POST['kiyaku_id']);    // 既存編集
+                    $this->lfUpdateClass($this->arrForm, $post['kiyaku_id']);    // 既存編集
                 }
                 // 再表示
                 $this->objDisplay->reload();
             } else {
                 // POSTデータを引き継ぐ
-                $this->tpl_kiyaku_id = $_POST['kiyaku_id'];
+                $this->tpl_kiyaku_id = $post['kiyaku_id'];
             }
             break;
         // 削除
         case 'delete':
-            $objDb->sfDeleteRankRecord("dtb_kiyaku", "kiyaku_id", $_POST['kiyaku_id'], "", true);
+            $objDb->sfDeleteRankRecord("dtb_kiyaku", "kiyaku_id", $post['kiyaku_id'], "", true);
             // 再表示
             $this->objDisplay->reload();
             break;
         // 編集前処理
         case 'pre_edit':
             // 編集項目を取得する。
-            $arrKiyakuData = $this->lfGetKiyakuDataByKiyakuID($_POST['kiyaku_id']);
+            $arrKiyakuData = $this->lfGetKiyakuDataByKiyakuID($post['kiyaku_id']);
 
             // 入力項目にカテゴリ名を入力する。
             $this->arrForm['kiyaku_title'] = $arrKiyakuData[0]['kiyaku_title'];
             $this->arrForm['kiyaku_text'] = $arrKiyakuData[0]['kiyaku_text'];
             // POSTデータを引き継ぐ
-            $this->tpl_kiyaku_id = $_POST['kiyaku_id'];
+            $this->tpl_kiyaku_id = $post['kiyaku_id'];
         break;
         case 'down':
-            $objDb->sfRankDown("dtb_kiyaku", "kiyaku_id", $_POST['kiyaku_id']);
+            $objDb->sfRankDown("dtb_kiyaku", "kiyaku_id", $post['kiyaku_id']);
             // 再表示
             $this->objDisplay->reload();
             break;
         case 'up':
-            $objDb->sfRankUp("dtb_kiyaku", "kiyaku_id", $_POST['kiyaku_id']);
+            $objDb->sfRankUp("dtb_kiyaku", "kiyaku_id", $post['kiyaku_id']);
             // 再表示
             $this->objDisplay->reload();
             break;
@@ -189,60 +195,40 @@
         return $ret;
     }
 
-    /* 取得文字列の変換 */
-    function lfConvertParam($array) {
-        // 文字変換
-        $arrConvList['kiyaku_title'] = "KVa";
-        $arrConvList['kiyaku_text'] = "KVa";
-
-        foreach ($arrConvList as $key => $val) {
-            // POSTされてきた値のみ変換する。
-            if(isset($array[$key])) {
-                $array[$key] = mb_convert_kana($array[$key] ,$val);
-            }
-        }
-        return $array;
-    }
-
-    /**
-     * 入力エラーチェック
-     *
-     * @param string $mode
-     * @return array
-     */
-    function lfCheckError($mode, $post) {
-        $arrErr = array();
-
+    function lfInitParam($mode, &$objFormParam) {
         switch ($mode) {
             case 'edit':
-                $_POST = $this->lfConvertParam($post);
-
-                $objErr = new SC_CheckError();
-                $objErr->doFunc(array("規約タイトル", "kiyaku_title", SMTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK"));
-                $objErr->doFunc(array("規約内容", "kiyaku_text", MLTEXT_LEN), array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK"));
-                if(!isset($objErr->arrErr['name'])) {
-                    $objQuery =& SC_Query::getSingletonInstance();
-                    $arrRet = $objQuery->select("kiyaku_id, kiyaku_title", "dtb_kiyaku", "del_flg = 0 AND kiyaku_title = ?", array($post['kiyaku_title']));
-                    // 編集中のレコード以外に同じ名称が存在する場合
-                    if ($arrRet[0]['kiyaku_id'] != $post['kiyaku_id'] && $arrRet[0]['kiyaku_title'] == $post['kiyaku_title']) {
-                        $objErr->arrErr['name'] = "※ 既に同じ内容の登録が存在します。<br>";
-                    }
-                }
+                $objFormParam->addParam('規約タイトル', 'kiyaku_title', SMTEXT_LEN, 'KVa', array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK"));
+                $objFormParam->addParam('規約内容', 'kiyaku_text', MLTEXT_LEN, 'KVa', array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK"));
             case 'delete':
             case 'pre_edit':
             case 'down':
             case 'up':
-                $this->objFormParam = new SC_FormParam();
-                $this->objFormParam->addParam('規約ID', 'kiyaku_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
-                $this->objFormParam->setParam($post);
-                $this->objFormParam->convParam();
-                $arrErr = $this->objFormParam->checkError();
-
+                $objFormParam->addParam('規約ID', 'kiyaku_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
                 break;
             default:
                 break;
         }
-        return array_merge((array)$objErr->arrErr, (array)$arrErr);
     }
+
+    /**
+     * 入力エラーチェック
+     *
+     * @param string $mode
+     * @return array
+     */
+    function lfCheckError($mode, $objFormParam) {
+        $arrErr = $objFormParam->checkError();
+        if(!isset($arrErr['name']) && $mode == 'edit') {
+            $post = $objFormParam->getHashArray();
+            $objQuery =& SC_Query::getSingletonInstance();
+            $arrRet = $objQuery->select("kiyaku_id, kiyaku_title", "dtb_kiyaku", "del_flg = 0 AND kiyaku_title = ?", array($post['kiyaku_title']));
+            // 編集中のレコード以外に同じ名称が存在する場合
+            if ($arrRet[0]['kiyaku_id'] != $post['kiyaku_id'] && $arrRet[0]['kiyaku_title'] == $post['kiyaku_title']) {
+                $arrErr['name'] = "※ 既に同じ内容の登録が存在します。<br>";
+            }
+        }
+        return $arrErr;
+    }
 }
 ?>

変更: branches/version-2_5-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_Mail.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_Mail.php	2011-02-22 05:40:30 UTC (rev 20325)
+++ branches/version-2_5-dev/data/class/pages/admin/basis/LC_Page_Admin_Basis_Mail.php	2011-02-22 06:57:30 UTC (rev 20326)
@@ -73,40 +73,48 @@
         // 認証可否の判定
         SC_Utils_Ex::sfIsSuccess($objSess);
 
+        $mode = $this->getMode();
+
+        if (!empty($_POST)) {
+            $objFormParam = new SC_FormParam();
+            $this->lfInitParam($mode, $objFormParam);
+            $objFormParam->setParam($_POST);
+            $objFormParam->convParam();
+
+            $this->arrErr = $objFormParam->checkError();
+            if (!empty($this->arrErr['template_id'])) {
+                SC_Utils_Ex::sfDispException();
+                return;
+            }
+            $post = $objFormParam->getHashArray();
+        }
+
         $this->arrMailTEMPLATE = $masterData->getMasterData("mtb_mail_template");
-        switch ($this->getMode()) {
-        case 'id_set':
-            // テンプレートプルダウン変更時
 
-            if ( SC_Utils_Ex::sfIsInt( $_POST['template_id']) ){
-                $result = $this->lfGetMailTemplateByTemplateID($_POST['template_id']);
-                if ( $result ){
+        switch ($mode) {
+        case 'id_set':
+                $result = $this->lfGetMailTemplateByTemplateID($post['template_id']);
+                if ($result){
                     $this->arrForm = $result[0];
                 } else {
-                    $this->arrForm['template_id'] = $_POST['template_id'];
+                    $this->arrForm['template_id'] = $post['template_id'];
                 }
-            }
             break;
         case 'regist':
-            if (SC_Utils_Ex::sfIsInt( $_POST['template_id']) ){
 
-                // POSTデータの引き継ぎ
-                $this->arrForm = $this->lfConvertParam($_POST);
-                $this->arrErr = $this->fnErrorCheck($this->arrForm);
-
-                if ( $this->arrErr ){
+                $this->arrForm = $post;
+                if ($this->arrErr){
                     // エラーメッセージ
                     $this->tpl_msg = "エラーが発生しました";
 
                 } else {
                     // 正常
-                    $this->lfRegist($this->arrForm, $_POST['template_id'], $_SESSION['member_id']);
+                    $this->lfRegistMailTemplate($this->arrForm, $_SESSION['member_id']);
 
                     // 完了メッセージ
                     $this->tpl_onload = "window.alert('メール設定が完了しました。テンプレートを選択して内容をご確認ください。');";
                     unset($this->arrForm);
                 }
-            }
             break;
         default:
             break;
@@ -129,44 +137,34 @@
         return $objQuery->getAll($sql, array($template_id) );
     }
 
-    function lfRegist($data, $template_id, $member_id){
+    function lfRegistMailTemplate($post, $member_id){
         $objQuery =& SC_Query::getSingletonInstance();
 
-        $data['creator_id'] = $member_id;
+        $post['creator_id'] = $member_id;
 
         $sql = "SELECT * FROM dtb_mailtemplate WHERE template_id = ?";
-        $result = $objQuery->getAll($sql, array($template_id));
-        if ( $result ){
+        $template_data = $objQuery->getAll($sql, array($post['template_id']));
+        if ($template_data){
             $sql_where = "template_id = ?";
-            $objQuery->update("dtb_mailtemplate", $data, $sql_where, array(addslashes($template_id)));
+            $objQuery->update("dtb_mailtemplate", $post, $sql_where, array(addslashes($post['template_id'])));
         }else{
-            $objQuery->insert("dtb_mailtemplate", $data);
+            $objQuery->insert("dtb_mailtemplate", $post);
         }
 
     }
 
-
-    function lfConvertParam($array) {
-
-        $new_array["template_id"] = $array["template_id"];
-        $new_array["subject"] = mb_convert_kana($array["subject"] ,"KV");
-        $new_array["header"] = mb_convert_kana($array["header"] ,"KV");
-        $new_array["footer"] = mb_convert_kana($array["footer"] ,"KV");
-
-        return $new_array;
+    function lfInitParam($mode, &$objFormParam) {
+        switch ($mode) {
+            case 'regist':
+                $objFormParam->addParam('メールタイトル', 'subject', MTEXT_LEN, 'KVa', array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK"));
+                $objFormParam->addParam('ヘッダー', 'header', LTEXT_LEN, 'KVa', array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK"));
+                $objFormParam->addParam('フッター', 'footer', LTEXT_LEN, 'KVa', array("EXIST_CHECK","SPTAB_CHECK","MAX_LENGTH_CHECK"));
+            case 'id_set':
+                $objFormParam->addParam('テンプレート', 'template_id', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
+                break;
+            default:
+                break;
+        }
     }
-
-    /* 入力エラーのチェック */
-    function fnErrorCheck($array) {
-
-        $objErr = new SC_CheckError($array);
-
-        $objErr->doFunc(array("テンプレート",'template_id'), array("EXIST_CHECK"));
-        $objErr->doFunc(array("メールタイトル",'subject',MTEXT_LEN,"BIG"), array("EXIST_CHECK", "MAX_LENGTH_CHECK"));
-        $objErr->doFunc(array("ヘッダー",'header',LTEXT_LEN,"BIG"), array("MAX_LENGTH_CHECK"));
-        $objErr->doFunc(array("フッター",'footer',LTEXT_LEN,"BIG"), array("MAX_LENGTH_CHECK"));
-
-        return $objErr->arrErr;
-    }
 }
 ?>




Svn-src-all メーリングリストの案内