[Svn-src-all:1210] [version-2_5-dev 20098] #977 リファクタリング分

yomoro admin @ mail.ec-cube.net
2011年 2月 4日 (金) 22:10:47 JST


Subversion committed to /home/svn/open 20098
http://svn.ec-cube.net/open_trac/changeset/20098
┌────────────────────────────┐
│更新者 :  yomoro                                       │
│更新日時:  2011-02-04 22:10:47 +0900 (金, 04  2月 2011)│
└────────────────────────────┘

Log:
--------------------------------------------------------
#977 リファクタリング分

Changed:                      [U:修正,A:追加,D:削除]
--------------------------------------------------------
U   branches/version-2_5-dev/data/class/pages/LC_Page_InputZip.php
U   branches/version-2_5-dev/data/class/pages/LC_Page_ResizeImage.php
U   branches/version-2_5-dev/data/class/pages/LC_Page_Sitemap.php

変更: branches/version-2_5-dev/data/class/pages/LC_Page_InputZip.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/LC_Page_InputZip.php	2011-02-04 13:10:44 UTC (rev 20097)
+++ branches/version-2_5-dev/data/class/pages/LC_Page_InputZip.php	2011-02-04 13:10:47 UTC (rev 20098)
@@ -71,11 +71,11 @@
             $zipcode = mb_convert_kana($zipcode ,"n");
 
             // 郵便番号検索
-            $data_list = SC_Utils_Ex::sfGetAddress($zipcode);
+            $arrAdsList = SC_Utils_Ex::sfGetAddress($zipcode);
 
             // 郵便番号が発見された場合
-            if(!empty($data_list)) {
-                $data = $data_list[0]['state']. "|". $data_list[0]['city']. "|". $data_list[0]['town'];
+            if(!empty($arrAdsList)) {
+                $data = $arrAdsList[0]['state']. "|". $arrAdsList[0]['city']. "|". $arrAdsList[0]['town'];
                 echo $data;
 
             // 該当無し
@@ -95,34 +95,42 @@
     }
 
 
-    /* 入力エラーのチェック */
-    function fnErrorCheck($array) {
-        // エラーメッセージ配列の初期化
-        $objErr = new SC_CheckError($array);
-
-        // 郵便番号
-        $objErr->doFunc( array("郵便番号1",'zip1',ZIP01_LEN ) ,array( "NUM_COUNT_CHECK", "NUM_CHECK" ) );
-        $objErr->doFunc( array("郵便番号2",'zip2',ZIP02_LEN ) ,array( "NUM_COUNT_CHECK", "NUM_CHECK" ) );
+    /**
+     * 入力エラーのチェック.
+     *
+     * @param array $arrRequest リクエスト値($_GET)
+     * @return array $arrErr エラーメッセージ配列
+     */
+    function fnErrorCheck($arrRequest) {
+        // パラメータ管理クラス
+        $objFormParam = new SC_FormParam();
+        // パラメータ情報の初期化
+        $objFormParam->addParam('郵便番号1', 'zip1', ZIP01_LEN, 'n', array('NUM_COUNT_CHECK', 'NUM_CHECK'));
+        $objFormParam->addParam('郵便番号2', 'zip2', ZIP02_LEN, 'n', array('NUM_COUNT_CHECK', 'NUM_CHECK'));
+        // // リクエスト値をセット
+        $objFormParam->setParam($arrRequest);
+        // エラーチェック
+        $arrErr = $objFormParam->checkError();
         // 親ウィンドウの戻り値を格納するinputタグのnameのエラーチェック
-        if (!$this->lfInputNameCheck($array['input1'])) {
-            $objErr->arrErr['input1'] = "※ 入力形式が不正です。<br />";
+        if ( !$this->lfInputNameCheck($arrRequest['input1']) ) {
+            $arrErr['input1'] = "※ 入力形式が不正です。<br />";
         }
-        if (!$this->lfInputNameCheck($array['input2'])) {
-            $objErr->arrErr['input2'] = "※ 入力形式が不正です。<br />";
+        if ( !$this->lfInputNameCheck($arrRequest['input2']) ) {
+            $arrErr['input2'] = "※ 入力形式が不正です。<br />";
         }
-
-        return $objErr->arrErr;
+        
+        return $arrErr;
     }
 
     /**
-     * エラーチェック
+     * エラーチェック.
      *
      * @param string $value
      * @return エラーなし:true エラー:false
      */
     function lfInputNameCheck($value) {
         // 半角英数字と_(アンダーバー)以外の文字を使用していたらエラー
-        if(strlen($value) > 0 && !ereg("^[a-zA-Z0-9_]+$", $value)) {
+        if(strlen($value) > 0 && !preg_match("/^[a-zA-Z0-9_]+$/", $value)) {
             return false;
         }
 

変更: branches/version-2_5-dev/data/class/pages/LC_Page_ResizeImage.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/LC_Page_ResizeImage.php	2011-02-04 13:10:44 UTC (rev 20097)
+++ branches/version-2_5-dev/data/class/pages/LC_Page_ResizeImage.php	2011-02-04 13:10:47 UTC (rev 20098)
@@ -80,7 +80,11 @@
         parent::destroy();
     }
 
-    // ファイル名の形式をチェック
+    /**
+     * ファイル名の形式をチェック.
+     *
+     * @return boolean 正常な形式:true 不正な形式:false
+     */
     function lfCheckFileName() {
         //$pattern = '|^[0-9]+_[0-9a-z]+\.[a-z]{3}$|';
         $pattern = '|\./|';

変更: branches/version-2_5-dev/data/class/pages/LC_Page_Sitemap.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/LC_Page_Sitemap.php	2011-02-04 13:10:44 UTC (rev 20097)
+++ branches/version-2_5-dev/data/class/pages/LC_Page_Sitemap.php	2011-02-04 13:10:47 UTC (rev 20098)
@@ -91,7 +91,7 @@
         // ページのデータを取得
         $this->arrPageList = $this->getPageData();
 
-        $objQuery = new SC_Query();
+        $objQuery = SC_Query::getSingletonInstance();
 
         //キャッシュしない(念のため)
         header("Paragrama: no-cache");
@@ -107,9 +107,9 @@
         print("<urlset xmlns='http://www.sitemaps.org/schemas/sitemap/0.9'>\n");
 
         // TOPページを処理
-        $topPage = $this->getTopPage($this->arrPageList);
-        $this->createSitemap($topPage[0]['url'],
-                             $this->date2W3CDatetime($topPage[0]['update_date']),
+        $arrTopPagesList = $this->getTopPage($this->arrPageList);
+        $this->createSitemap($arrTopPagesList[0]['url'],
+                             $this->date2W3CDatetime($arrTopPagesList[0]['update_date']),
                              'daily', 1.0);
 
         // 静的なページを処理
@@ -118,23 +118,23 @@
         }
 
         // 編集可能ページを処理
-        $editablePages = $this->getEditablePage($this->arrPageList);
-        foreach ($editablePages as $editablePage) {
-            $this->createSitemap($editablePage['url'],
-                                 $this->date2W3CDatetime($editablePage['update_date']));
+        $arrEditablePagesList = $this->getEditablePage($this->arrPageList);
+        foreach ($arrEditablePagesList as $arrEditablePage) {
+            $this->createSitemap($arrEditablePage['url'],
+                                 $this->date2W3CDatetime($arrEditablePage['update_date']));
         }
 
         // 商品一覧ページを処理
-        $products = $this->getAllProducts();
-        foreach ($products as $product) {
-            $this->createSitemap($product['url'], '', 'daily');
+        $arrProductPagesList = $this->getAllProducts();
+        foreach ($arrProductPagesList as $arrProductPage) {
+            $this->createSitemap($arrProductPage['url'], '', 'daily');
         }
 
         // 商品詳細ページを処理
-        $details = $this->getAllDetail();
-        foreach ($details as $detail) {
-            $this->createSitemap($detail['url'],
-                                 $this->date2W3CDatetime($detail['update_date']));
+        $arrDetailPagesList = $this->getAllDetail();
+        foreach ($arrDetailPagesList as $arrDetailPage) {
+            $this->createSitemap($arrDetailPage['url'],
+                                 $this->date2W3CDatetime($arrDetailPage['update_date']));
         }
 
         print("</urlset>\n");
@@ -179,14 +179,14 @@
     /**
      * TOPページの情報を取得する.
      *
-     * @param array $pageData すべてのページ情報の配列
+     * @param array $arrPageList すべてのページ情報の配列
      * @return array TOPページの情報
      */
-    function getTopPage($pageData) {
+    function getTopPage($arrPageList) {
         $arrRet = array();
-        foreach ($pageData as $page) {
-            if ($page['page_id'] == "1") {
-                $arrRet[0] = $page;
+        foreach ($arrPageList as $arrPage) {
+            if ($arrPage['page_id'] == "1") {
+                $arrRet[0] = $arrPage;
                 return $arrRet;
             }
         }
@@ -195,14 +195,14 @@
     /**
      * すべての編集可能ページの情報を取得する.
      *
-     * @param array $pageData すべてのページ情報の配列
+     * @param array $arrPageList すべてのページ情報の配列
      * @return array 編集可能ページ
      */
-    function getEditablePage($pageData) {
+    function getEditablePage($arrPageList) {
         $arrRet = array();
-        foreach ($pageData as $page) {
-            if ($page['page_id'] > 4) {
-                $arrRet[] = $page;
+        foreach ($arrPageList as $arrPage) {
+            if ($arrPage['page_id'] > 4) {
+                $arrRet[] = $arrPage;
             }
         }
         return $arrRet;
@@ -216,7 +216,7 @@
     function getAllProducts() {
         
         // XXX: 商品登録の無いカテゴリーは除外する方が良い気もする
-        $objQuery = new SC_Query();
+        $objQuery = SC_Query::getSingletonInstance();
         $sql = "SELECT category_id FROM dtb_category WHERE del_flg = 0";
         $result = $objQuery->getAll($sql);
 
@@ -224,13 +224,13 @@
         foreach ($result as $row) {
             // :TODO: カテゴリの最終更新日を取得できるようにする
             
-            $page["url"] = HTTP_URL . 'products/list.php?category_id=' . $row['category_id'];
-            $arrRet[] = $page;
+            $arrPage["url"] = HTTP_URL . 'products/list.php?category_id=' . $row['category_id'];
+            $arrRet[] = $arrPage;
             
             // モバイルサイト
             if (USE_MOBILE !== false) {
-                $page["url"] = MOBILE_HTTP_URL . 'products/list.php?category_id=' . $row['category_id'];
-                $arrRet[] = $page;
+                $arrPage["url"] = MOBILE_HTTP_URL . 'products/list.php?category_id=' . $row['category_id'];
+                $arrRet[] = $arrPage;
             }
         }
         return $arrRet;
@@ -242,22 +242,22 @@
      * @return array 検索エンジンからアクセス可能な商品詳細ページの情報
      */
     function getAllDetail() {
-        $objQuery = new SC_Query();
+        $objQuery = SC_Query::getSingletonInstance();
         $sql = "SELECT product_id, update_date FROM dtb_products WHERE del_flg = 0 AND status = 1";
         $result = $objQuery->getAll($sql);
 
         $arrRet = array();
         foreach ($result as $row) {
             
-            $page["update_date"] = $row['update_date'];
+            $arrPage["update_date"] = $row['update_date'];
             
-            $page["url"] = HTTP_URL . substr(P_DETAIL_URLPATH, strlen(ROOT_URLPATH)) . $row['product_id'];
-            $arrRet[] = $page;
+            $arrPage["url"] = HTTP_URL . substr(P_DETAIL_URLPATH, strlen(ROOT_URLPATH)) . $row['product_id'];
+            $arrRet[] = $arrPage;
             
             // モバイルサイト
             if (USE_MOBILE !== false) {
-                $page["url"] = HTTP_URL . substr(MOBILE_P_DETAIL_URLPATH, strlen(ROOT_URLPATH)) . $row['product_id'];
-                $arrRet[] = $page;
+                $arrPage["url"] = HTTP_URL . substr(MOBILE_P_DETAIL_URLPATH, strlen(ROOT_URLPATH)) . $row['product_id'];
+                $arrRet[] = $arrPage;
             }
         }
         return $arrRet;
@@ -269,10 +269,10 @@
      *
      * @param string $where WHERE句
      * @param array  $arrVal WHERE句の値を格納した配列
-     * @return ブロック情報
+     * @return array $arrPageList ブロック情報
      */
     function getPageData($where = '', $arrVal = ''){
-        $objQuery = new SC_Query();     // DB操作オブジェクト
+        $objQuery = SC_Query::getSingletonInstance();     // DB操作オブジェクト
         $sql = "";                      // データ取得SQL生成用
         $arrRet = array();              // データ取得用
 
@@ -300,19 +300,19 @@
 
         $sql .= " ORDER BY page_id";
 
-        $pageData = $objQuery->getAll($sql, $arrVal);
+        $arrPageList = $objQuery->getAll($sql, $arrVal);
         
         // URL にプロトコルの記載が無い場合、HTTP_URL を前置する。
-        foreach (array_keys($pageData) as $key) {
-            $page =& $pageData[$key];
-            if (!preg_match('|^https?://|i', $page['url'])) {
-                $page['url'] = HTTP_URL . $page['url'];
+        foreach (array_keys($arrPageList) as $key) {
+            $arrPage =& $arrPageList[$key];
+            if (!preg_match('|^https?://|i', $arrPage['url'])) {
+                $arrPage['url'] = HTTP_URL . $arrPage['url'];
             }
-            $page['url'] = preg_replace('|/' . preg_quote(DIR_INDEX_FILE) . '$|', '/' . DIR_INDEX_PATH, $page['url']);
+            $arrPage['url'] = preg_replace('|/' . preg_quote(DIR_INDEX_FILE) . '$|', '/' . DIR_INDEX_PATH, $arrPage['url']);
         }
-        unset($page);
+        unset($arrPage);
         
-        return $pageData;
+        return $arrPageList;
     }
 
     /**
@@ -324,7 +324,7 @@
     function date2W3CDatetime($date) {
         $arr = array();
         // 正規表現で文字列を抽出
-        ereg("^([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})",
+        preg_match("/^([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})/",
              $date, $arr);
         // :TODO: time zone も取得するべき...
         return sprintf("%04d-%02d-%02dT%02d:%02d:%02d+09:00",




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