Index: branches/version-2_5-dev/data/class/pages/admin/system/LC_Page_Admin_System_AdminArea.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/admin/system/LC_Page_Admin_System_AdminArea.php	(revision 20345)
+++ branches/version-2_5-dev/data/class/pages/admin/system/LC_Page_Admin_System_AdminArea.php	(revision 20356)
@@ -50,7 +50,4 @@
         $this->tpl_subtitle = '管理画面設定';
         $this->tpl_enable_ssl = FALSE;
-        if(strpos(HTTPS_URL,"https://") !== FALSE){
-            $this->tpl_enable_ssl = TRUE;
-        }
     }
 
@@ -71,26 +68,40 @@
      */
     function action() {
-        if(count($_POST) >= 1 ) {
-            // POSTデータの引き継ぎ
-            $this->arrForm = $_POST;
-
-            // 入力データの変換
-            $this->arrForm = $this->lfConvertParam($this->arrForm);
-            // 入力データのエラーチェック
-            $this->arrErr = $this->lfErrorCheck($this->arrForm);
+
+
+        if(strpos(HTTPS_URL,"https://") !== FALSE){
+            $this->tpl_enable_ssl = TRUE;
+        }
+
+        $objFormParam = new SC_FormParam;
+
+        // パラメータの初期化
+        $this->initParam($objFormParam, $_POST);
+
+        if(count($_POST) > 0 ) {
+
+            // エラーチェック
+            $arrErr = $objFormParam->checkError();
+
+            $this->arrForm = $objFormParam->getHashArray();
+
             //設定ファイルの権限チェック
             if(!is_writable(CONFIG_REALFILE)){
-                $this->arrErr["all"] = CONFIG_REALFILE . ' を変更する権限がありません。';
-            }
+                $arrErr["all"] = CONFIG_REALFILE . ' を変更する権限がありません。';
+            }
+
             //管理画面ディレクトリのチェック
-            $this->lfCheckAdminArea($this->arrForm);
-
-            if(count($this->arrErr) == 0) {
+            $this->lfCheckAdminArea($this->arrForm, $arrErr);
+
+            if(SC_Utils_Ex::isBlank($arrErr)) {
                 $this->lfUpdateAdminData($this->arrForm);	// 既存編集
                 $this->tpl_onload = "window.alert('管理機能の設定を変更しました。URLを変更した場合は、新しいURLにアクセスしてください。');";
             }else{
-                $this->tpl_onload = "window.alert('設定内容に誤りがあります。設定内容を確認してください。');";                
-            }
+                $this->tpl_onload = "window.alert('設定内容に誤りがあります。設定内容を確認してください。');";
+                $this->arrErr = $arrErr;
+            }
+
         } else {
+
             $admin_dir = str_replace("/","",ADMIN_DIR);
             $this->arrForm = array("admin_dir"=>$admin_dir,"admin_force_ssl"=>ADMIN_FORCE_SSL,"admin_allow_hosts"=>"");
@@ -98,4 +109,5 @@
                 $allow_hosts = unserialize(ADMIN_ALLOW_HOSTS);
                 $this->arrForm["admin_allow_hosts"] = implode("\n",$allow_hosts);
+
             }
         }
@@ -110,10 +122,33 @@
         parent::destroy();
     }
-    
-    
-    
-    //管理機能ディレクトリのチェック
-    function lfCheckAdminArea($array){
-        $admin_dir = trim($array['admin_dir'])."/";
+
+
+    /**
+     * パラメータ初期化.
+     *
+     * @param object $objFormParam
+     * @param array  $arrParams  $_POST値
+     * @return void
+     */
+    function initParam(&$objFormParam, &$arrParams) {
+
+        $objFormParam->addParam('ディレクトリ名', 'admin_dir', ID_MAX_LEN, 'a', array('EXIST_CHECK', 'SPTAB_CHECK', 'ALNUM_CHECK'));
+        $objFormParam->addParam('SSL制限', 'admin_force_ssl', 1, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));
+        $objFormParam->addParam('IP制限', 'admin_allow_hosts', LTEXT_LEN, 'a', array('IP_CHECK', 'MAX_LENGTH_CHECK'));
+        $objFormParam->setParam($arrParams);
+        $objFormParam->convParam();
+
+    }
+
+
+    /**
+     * 管理機能ディレクトリのチェック.
+     *
+     * @param array  $arrForm  $this->arrForm値
+     * @param array  $arrErr   エラーがあった項目用配列
+     * @return void
+     */
+    function lfCheckAdminArea(&$arrForm, &$arrErr){
+        $admin_dir = trim($arrForm['admin_dir'])."/";
 
         $installData = file(CONFIG_REALFILE, FILE_IGNORE_NEW_LINES);
@@ -122,9 +157,9 @@
                 //既存ディレクトリのチェック
                 if(file_exists(HTML_REALDIR.$admin_dir) and $admin_dir != "admin/"){
-                    $this->arrErr["admin_dir"] .= ROOT_URLPATH.$admin_dir."は既に存在しています。別のディレクトリ名を指定してください。";
+                    $arrErr["admin_dir"] .= ROOT_URLPATH.$admin_dir."は既に存在しています。別のディレクトリ名を指定してください。";
                 }
                 //権限チェック
                 if(!is_writable(HTML_REALDIR . ADMIN_DIR)){
-                    $this->arrErr["admin_dir"] .= ROOT_URLPATH.ADMIN_DIR."のディレクトリ名を変更する権限がありません。";
+                    $arrErr["admin_dir"] .= ROOT_URLPATH.ADMIN_DIR."のディレクトリ名を変更する権限がありません。";
                 }
             }
@@ -134,11 +169,11 @@
     
     //管理機能ディレクトリのリネームと CONFIG_REALFILE の変更
-    function lfUpdateAdminData($array){
-        $admin_dir = trim($array['admin_dir'])."/";
+    function lfUpdateAdminData(&$arrForm){
+        $admin_dir = trim($arrForm['admin_dir'])."/";
         $admin_force_ssl = "FALSE";
-        if($array['admin_force_ssl'] == 1){
+        if($arrForm['admin_force_ssl'] == 1){
             $admin_force_ssl = "TRUE";
         }
-        $admin_allow_hosts = explode("\n",$array['admin_allow_hosts']);
+        $admin_allow_hosts = explode("\n",$arrForm['admin_allow_hosts']);
         foreach($admin_allow_hosts as $key=>$host){
             $host = trim($host);
@@ -181,29 +216,4 @@
         return true;
     }
-
-    /* 取得文字列の変換 */
-    function lfConvertParam($array) {
-        /*
-         *	文字列の変換
-         *	K :  「半角(ﾊﾝｶｸ)片仮名」を「全角片仮名」に変換
-         *	C :  「全角ひら仮名」を「全角かた仮名」に変換
-         *	V :  濁点付きの文字を一文字に変換。"K","H"と共に使用します
-         *	n :  「全角」数字を「半角(ﾊﾝｶｸ)」に変換
-         *  a :  全角英数字を半角英数字に変換する
-         */
-        $arrConvList = array('admin_dir'=>"a",'admin_force_ssl' => "n",'admin_allow_hosts' => "a");
-        return SC_Utils_Ex::mbConvertKanaWithArray($array, $arrConvList);
-    }
-
-    // 入力エラーチェック
-    function lfErrorCheck($array) {
-        $objErr = new SC_CheckError($array);
-
-        //管理機能設定チェック
-        $objErr->doFunc(array('ディレクトリ名', "admin_dir", ID_MAX_LEN) ,array("EXIST_CHECK","SPTAB_CHECK", "ALNUM_CHECK"));
-        $objErr->doFunc(array('SSL制限', "admin_force_ssl", 1) ,array("NUM_CHECK", "MAX_LENGTH_CHECK"));
-        $objErr->doFunc(array('IP制限', "admin_allow_hosts", LTEXT_LEN) ,array("IP_CHECK", "MAX_LENGTH_CHECK"));
-        return $objErr->arrErr;
-    }
 }
 ?>
