[Svn-src-all:1364] [version-2_5-dev 20254] #974 /admin/system/LC_Page_Admin_System.php とテンプレ(index.tpl)のリファクタリング。

homan admin @ mail.ec-cube.net
2011年 2月 20日 (日) 16:39:58 JST


Subversion committed to /home/svn/open 20254
http://svn.ec-cube.net/open_trac/changeset/20254
┌────────────────────────────┐
│更新者 :  homan                                        │
│更新日時:  2011-02-20 16:39:58 +0900 (日, 20  2月 2011)│
└────────────────────────────┘

Log:
--------------------------------------------------------
#974 /admin/system/LC_Page_Admin_System.php とテンプレ(index.tpl)のリファクタリング。
メンバー一覧で稼働・非稼働がわからなかったので、ついでに追加。

Changed:                      [U:修正,A:追加,D:削除]
--------------------------------------------------------
U   branches/version-2_5-dev/data/Smarty/templates/admin/system/index.tpl
U   branches/version-2_5-dev/data/class/pages/admin/system/LC_Page_Admin_System.php

変更: branches/version-2_5-dev/data/Smarty/templates/admin/system/index.tpl
===================================================================
--- branches/version-2_5-dev/data/Smarty/templates/admin/system/index.tpl	2011-02-20 07:35:51 UTC (rev 20253)
+++ branches/version-2_5-dev/data/Smarty/templates/admin/system/index.tpl	2011-02-20 07:39:58 UTC (rev 20254)
@@ -34,6 +34,7 @@
     <colgroup width="15%">
     <colgroup width="20%">
     <colgroup width="20%">
+    <colgroup width="10%">
     <colgroup width="5%">
     <colgroup width="5%">
     <colgroup width="20%">
@@ -44,6 +45,7 @@
       <th>権限</th>
       <th>名前</th>
       <th>所属</th>
+      <th>稼働</th>
       <th>編集</th>
       <th>削除</th>
       <th>移動</th>
@@ -53,6 +55,7 @@
       <!--{assign var="auth" value=$list_data[data].authority}--><td><!--{$arrAUTHORITY[$auth]|h}--></td>
       <td><!--{$list_data[data].name|h}--></td>
       <td><!--{$list_data[data].department|h}--></td>
+      <!--{assign var="work" value=$list_data[data].work}--><td><!--{$arrWORK[$work]|h}--></td>
       <td align="center"><a href="#" onClick="win01('./input.php?id=<!--{$list_data[data].member_id}-->&amp;pageno=<!--{$tpl_disppage}-->','member_edit','615','450'); return false;">編集</a></td>
       <td align="center"><!--{if $workmax > 1}--><a href="#" onClick="fnDeleteMember(<!--{$list_data[data].member_id}-->,<!--{$tpl_disppage}-->); return false;">削除</a><!--{else}-->-<!--{/if}--></td>
       <td align="center">

変更: branches/version-2_5-dev/data/class/pages/admin/system/LC_Page_Admin_System.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/admin/system/LC_Page_Admin_System.php	2011-02-20 07:35:51 UTC (rev 20253)
+++ branches/version-2_5-dev/data/class/pages/admin/system/LC_Page_Admin_System.php	2011-02-20 07:39:58 UTC (rev 20254)
@@ -56,6 +56,8 @@
 
         $masterData = new SC_DB_MasterData_Ex();
         $this->arrAUTHORITY = $masterData->getMasterData('mtb_authority');
+        $this->arrWORK[0]   = "非稼働";
+        $this->arrWORK[1]   = "稼働";
     }
 
     /**
@@ -74,10 +76,9 @@
      * @return void
      */
     function action() {
-        $objSess  = new SC_Session();
 
         // 認証可否の判定
-        SC_Utils_Ex::sfIsSuccess($objSess);
+        SC_Utils_Ex::sfIsSuccess(new SC_Session());
 
         // ADMIN_ID以外の管理者件数を取得
         $linemax = $this->getMemberCount("del_flg <> 1 AND member_id <> " . ADMIN_ID);
@@ -86,8 +87,9 @@
         $this->workmax
             = $this->getMemberCount("work = 1 AND del_flg <> 1 AND member_id <> " . ADMIN_ID);
 
-        // ページ送りの処理
-        $pageno = isset($_GET['pageno']) ? $_GET['pageno'] : 1;
+        // ページ送りの処理 $_GET['pageno']が信頼しうる値かどうかチェックする。
+        $pageno = $this->lfCheckPageNo($_GET['pageno']);
+
         $objNavi = new SC_PageNavi($pageno, $linemax, MEMBER_PMAX, "fnMemberPage", NAVI_PMAX);
         $this->tpl_strnavi  = $objNavi->strnavi;
         $this->tpl_disppage = $objNavi->now_page;
@@ -114,7 +116,7 @@
      * @return integer 件数
      */
      function getMemberCount($where) {
-        $objQuery = new SC_Query();
+        $objQuery =& SC_Query::getSingletonInstance();
         $table = 'dtb_member';
         return $objQuery->count($table, $where);
      }
@@ -133,10 +135,34 @@
         $objSql->setWhere("del_flg <> 1 AND member_id <> ". ADMIN_ID);
         $objSql->setLimitOffset(MEMBER_PMAX, $startno);
 
-        $objQuery = new SC_Query();
+        $objQuery =& SC_Query::getSingletonInstance();
         $arrMemberData = $objQuery->getAll($objSql->getSql());
 
         return $arrMemberData;
      }
+
+    /**
+     * ページ番号が信頼しうる値かチェックする.
+     *
+     * @access private
+     * @param integer  $pageno ページの番号($_GETから入ってきた値)
+     * @return integer $clean_pageno チェック後のページの番号
+     */
+    function lfCheckPageNo($pageno) {
+
+        $clean_pageno = "";
+
+        // $pagenoが0以上の整数かチェック
+        if(SC_Utils_Ex::sfIsInt($pageno) && $pageno > 0) {
+            $clean_pageno = $pageno;
+        }
+
+        // 例外は全て1とする
+        else {
+            $clean_pageno = 1;
+        }
+
+        return $clean_pageno;
+    }
 }
 ?>




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