Index: /branches/feature-module-update/data/class/SC_CheckError.php
===================================================================
--- /branches/feature-module-update/data/class/SC_CheckError.php	(revision 15532)
+++ /branches/feature-module-update/data/class/SC_CheckError.php	(revision 15641)
@@ -37,5 +37,5 @@
             return;
         }
-
+        $this->createParam($value);
         // 含まれているタグを抽出する
         preg_match_all("/<([\/]?[a-z]+)/", $this->arrParam[$value[1]], $arrTag);
@@ -64,4 +64,5 @@
             return;
         }
+        $this->createParam($value);
         if( strlen($this->arrParam[$value[1]]) == 0 ){
             $this->arrErr[$value[1]] = "※ " . $value[0] . "が入力されていません。<br />";
@@ -75,5 +76,5 @@
             return;
         }
-        if (!isset($this->arrParam[$value[1]])) $this->arrParam[$value[1]] = "";
+        $this->createParam($value);
         if(strlen($this->arrParam[$value[1]]) != 0 && ereg("^[ 　\t\r\n]+$", $this->arrParam[$value[1]])){
             $this->arrErr[$value[1]] = "※ " . $value[0] . "にスペース、タブ、改行のみの入力はできません。<br />";
@@ -87,5 +88,5 @@
             return;
         }
-        if (!isset($this->arrParam[$value[1]])) $this->arrParam[$value[1]] = "";
+        $this->createParam($value);
         if(strlen($this->arrParam[$value[1]]) != 0 && mb_ereg("[　 \t\r\n]+", $this->arrParam[$value[1]])){
             $this->arrErr[$value[1]] = "※ " . $value[0] . "にスペース、タブ、改行は含めないで下さい。<br />";
@@ -98,5 +99,5 @@
             return;
         }
-        if (!isset($this->arrParam[$value[1]])) $this->arrParam[$value[1]] = "";
+        $this->createParam($value);
         if(strlen($this->arrParam[$value[1]]) != 0 && ereg("^[0]+[0-9]+$", $this->arrParam[$value[1]])){
             $this->arrErr[$value[1]] = "※ " . $value[0] . "に0で始まる数値が入力されています。<br />";
@@ -110,5 +111,5 @@
             return;
         }
-        if (!isset($this->arrParam[$value[1]])) $this->arrParam[$value[1]] = "";
+        $this->createParam($value);
         if( strlen($this->arrParam[$value[1]]) == 0 ){
             $this->arrErr[$value[1]] = "※ " . $value[0] . "が選択されていません。<br />";
@@ -122,5 +123,5 @@
             return;
         }
-        if (!isset($this->arrParam[$value[1]])) $this->arrParam[$value[1]] = "";
+        $this->createParam($value);
         // 文字数の取得
         if( $this->arrParam[$value[2]] != $this->arrParam[$value[3]]) {
@@ -135,5 +136,5 @@
             return;
         }
-        if (!isset($this->arrParam[$value[1]])) $this->arrParam[$value[1]] = "";
+        $this->createParam($value);
         // 文字数の取得
         if( $this->arrParam[$value[2]] == $this->arrParam[$value[3]]) {
@@ -148,5 +149,5 @@
             return;
         }
-        if (!isset($this->arrParam[$value[1]])) $this->arrParam[$value[1]] = "";
+        $this->createParam($value);
         // 文字数の取得
         if($this->arrParam[$value[2]] != "" && $this->arrParam[$value[3]] != "" && ($this->arrParam[$value[2]] > $this->arrParam[$value[3]])) {
@@ -162,5 +163,5 @@
             return;
         }
-        if (!isset($this->arrParam[$value[1]])) $this->arrParam[$value[1]] = "";
+        $this->createParam($value);
         // 文字数の取得
         if( mb_strlen($this->arrParam[$value[1]]) > $value[2] ) {
@@ -175,5 +176,5 @@
             return;
         }
-        if (!isset($this->arrParam[$value[1]])) $this->arrParam[$value[1]] = "";
+        $this->createParam($value);
         // 文字数の取得
         if( mb_strlen($this->arrParam[$value[1]]) < $value[2] ) {
@@ -188,5 +189,5 @@
             return;
         }
-        if (!isset($this->arrParam[$value[1]])) $this->arrParam[$value[1]] = "";
+        $this->createParam($value);
         // 文字数の取得
         if($this->arrParam[$value[1]] > $value[2] ) {
@@ -201,5 +202,5 @@
             return;
         }
-        if (!isset($this->arrParam[$value[1]])) $this->arrParam[$value[1]] = "";
+        $this->createParam($value);
         if($this->arrParam[$value[1]] < $value[2] ) {
             $this->arrErr[$value[1]] = "※ " . $value[0] . "は" . $value[2] . "以上で入力してください。<br />";
@@ -214,5 +215,5 @@
             return;
         }
-        if (!isset($this->arrParam[$value[1]])) $this->arrParam[$value[1]] = "";
+        $this->createParam($value);
         if( strlen($this->arrParam[$value[1]]) > 0 && !EregI("^[[:digit:]]+$", $this->arrParam[$value[1]])) {
             $this->arrErr[$value[1]] = "※ " . $value[0] . "は数字で入力してください。<br />";
@@ -226,5 +227,5 @@
             return;
         }
-        if (!isset($this->arrParam[$value[1]])) $this->arrParam[$value[1]] = "";
+        $this->createParam($value);
         if( strlen($this->arrParam[$value[1]]) > 0 && !EregI("^[[:digit:]]+[\.]?[[:digit:]]+$", $this->arrParam[$value[1]])) {
             $this->arrErr[$value[1]] = "※ " . $value[0] . "は数字で入力してください。<br />";
@@ -236,5 +237,5 @@
             return;
         }
-        if (!isset($this->arrParam[$value[1]])) $this->arrParam[$value[1]] = "";
+        $this->createParam($value);
         if( strlen($this->arrParam[$value[1]]) > 0 && !EregI("^[[:alpha:]]+$", $this->arrParam[$value[1]])) {
             $this->arrErr[$value[1]] = "※ " . $value[0] . "は半角英字で入力してください。<br />";
@@ -253,5 +254,5 @@
             return;
         }
-
+        $this->createParam($value);
         $cnt = 0;
 
@@ -282,5 +283,5 @@
     function FULL_EXIST_CHECK($value) {
         $max = count($value);
-
+        $this->createParam($value);
         // 既に該当項目にエラーがある場合は、判定しない。
         for($i = 1; $i < $max; $i++) {
@@ -341,5 +342,5 @@
     function ONE_EXIST_CHECK($value) {
         $max = count($value);
-
+        $this->createParam($value);
         // 既に該当項目にエラーがある場合は、判定しない。
         for($i = 1; $i < $max; $i++) {
@@ -369,4 +370,5 @@
     function TOP_EXIST_CHECK($value) {
         $max = count($value);
+        $this->createParam($value);
 
         // 既に該当項目にエラーがある場合は、判定しない。
@@ -403,4 +405,5 @@
             return;
         }
+        $this->createParam($value);
         if(strlen($this->arrParam[$value[1]]) > 0 && ! mb_ereg("^[ァ-ヶｦ-ﾟー]+$", $this->arrParam[$value[1]])) {
             $this->arrErr[$value[1]] = "※ " . $value[0] . "はカタカナで入力してください。<br />";
@@ -414,4 +417,5 @@
             return;
         }
+        $this->createParam($value);
         if(strlen($this->arrParam[$value[1]]) > 0 && ! mb_ereg("^([　 \t\r\n]|[ァ-ヶ]|[ー])+$", $this->arrParam[$value[1]])) {
             $this->arrErr[$value[1]] = "※ " . $value[0] . "はカタカナで入力してください。<br />";
@@ -425,4 +429,5 @@
             return;
         }
+        $this->createParam($value);
         if( strlen($this->arrParam[$value[1]]) > 0 && ! EregI("^[[:alnum:]]+$", $this->arrParam[$value[1]] ) ) {
             $this->arrErr[$value[1]] = "※ " . $value[0] . "は英数字で入力してください。<br />";
@@ -433,5 +438,5 @@
     // value[0] = 項目名 value[1] = 判定対象
     function ZERO_CHECK( $value ) {				// 入力値で0が許されない場合エラーを返す
-
+        $this->createParam($value);
         if($this->arrParam[$value[1]] == "0" ){
             $this->arrErr[$value[1]] = "※ " . $value[0] . "は1以上を入力してください。<br />";
@@ -445,4 +450,5 @@
             return;
         }
+        $this->createParam($value);
         // $this->arrParam[$value[0]] = mb_convert_kana($this->arrParam[$value[0]], "n");
         $count = strlen($this->arrParam[$value[1]]);
@@ -458,4 +464,5 @@
             return;
         }
+        $this->createParam($value);
         $count = strlen($this->arrParam[$value[1]]);
         if(($count > 0) && $count != $value[2] ) {
@@ -470,4 +477,5 @@
             return;
         }
+        $this->createParam($value);
         if(strlen($this->arrParam[$value[1]]) > 0 && !ereg("^[^@]+@[^.]+\..+", $this->arrParam[$value[1]])) {
             $this->arrErr[$value[1]] = "※ " . $value[0] . "の形式が不正です。<br />";
@@ -481,4 +489,5 @@
             return;
         }
+        $this->createParam($value);
         if(strlen($this->arrParam[$value[1]]) > 0 && !ereg("^[a-zA-Z0-9_\.@\+\?-]+$",$this->arrParam[$value[1]]) ) {
             $this->arrErr[$value[1]] = "※ " . $value[0] . "に使用する文字を正しく入力してください。<br />";
@@ -503,4 +512,5 @@
             return;
         }
+        $this->createParam($value);
 
         if($_FILES[$value[1]]['name'] != "" ) {
@@ -536,4 +546,5 @@
         }
 
+        $this->createParam($value);
         if($value[2] != "") {
             $dir = $value[2];
@@ -556,4 +567,5 @@
             return;
         }
+        $this->createParam($value);
         if(!($_FILES[$value[1]]['size'] != "" && $_FILES[$value[1]]['size'] > 0)){
             $this->arrErr[$value[1]] = "※ " . $value[0] . "をアップロードして下さい。<br />";
@@ -567,4 +579,5 @@
             return;
         }
+        $this->createParam($value);
         if( $_FILES[$value[1]]['size'] > $value[2] *  1024 ){
             $byte = "KB";
@@ -583,4 +596,5 @@
             return;
         }
+        $this->createParam($value);
         if( strlen($_FILES[$value[1]]['name']) > 0 && ! EregI("^[[:alnum:]_\.-]+$", $_FILES[$value[1]]['name']) ) {
             $this->arrErr[$value[1]] = "※ " . $value[0] . "のファイル名に日本語やスペースは使用しないで下さい。<br />";
@@ -594,5 +608,5 @@
             return;
         }
-
+        $this->createParam($value);
         if( strlen($this->arrParam[$value[1]]) > 0 && ! EregI("^[[:alnum:]_\.-]+$", $this->arrParam[$value[1]]) || EregI("[\\]" ,$this->arrParam[$value[1]])) {
             $this->arrErr[$value[1]] = "※ " . $value[0] . "のファイル名に日本語やスペースは使用しないで下さい。<br />";
@@ -609,4 +623,5 @@
             return;
         }
+        $this->createParam($value);
         // 少なくともどれか一つが入力されている。
         if($this->arrParam[$value[1]] > 0 || $this->arrParam[$value[2]] > 0 || $this->arrParam[$value[3]] > 0) {
@@ -631,5 +646,5 @@
             return;
         }
-
+        $this->createParam($value);
         // 少なくともどれか一つが入力されている。
         if($this->arrParam[$value[1]] > 0 || $this->arrParam[$value[2]] > 0 || $this->arrParam[$value[3]] > 0 || $this->arrParam[$value[4]] >= 0 || $this->arrParam[$value[5]] >= 0) {
@@ -651,5 +666,5 @@
             return;
         }
-
+        $this->createParam($value);
         // 少なくともどれか一つが入力されている。
         if($this->arrParam[$value[1]] > 0 || $this->arrParam[$value[2]] > 0) {
@@ -686,4 +701,5 @@
             return;
         }
+        $this->createParam($value);
         $error = 0;
         if ( (strlen($this->arrParam[$value[2]]) > 0 || strlen($this->arrParam[$value[3]]) > 0 || strlen($this->arrParam[$value[4]] ) > 0) && ! checkdate($this->arrParam[$value[3]], $this->arrParam[$value[4]], $this->arrParam[$value[2]]) ) {
@@ -736,4 +752,5 @@
             return;
         }
+        $this->createParam($value);
         $error = 0;
         if ( (strlen($this->arrParam[$value[2]]) > 0 || strlen($this->arrParam[$value[3]]) > 0 || strlen($this->arrParam[$value[4]] ) > 0 || strlen($this->arrParam[$value[5]]) > 0) && ! checkdate($this->arrParam[$value[3]], $this->arrParam[$value[4]], $this->arrParam[$value[2]]) ) {
@@ -779,4 +796,5 @@
             return;
         }
+        $this->createParam($value);
         $error = 0;
         if ( (strlen($this->arrParam[$value[2]]) > 0 || strlen($this->arrParam[$value[3]]) > 0) && ! checkdate($this->arrParam[$value[3]], 1, $this->arrParam[$value[2]]) ) {
@@ -802,4 +820,5 @@
             return;
         }
+        $this->createParam($value);
         if(!is_dir($this->arrParam[$value[1]])) {
             $this->arrErr[$value[1]] = "※ 指定した" . $value[0] . "は存在しません。<br />";
@@ -823,4 +842,5 @@
             return;
         }
+        $this->createParam($value);
         if(strlen($this->arrParam[$value[1]]) > 0 && !gfIsMobileMailAddress($this->arrParam[$value[1]])) {
             $this->arrErr[$value[1]] = "※ " . $value[0] . "は携帯電話のものではありません。<br />";
@@ -838,5 +858,5 @@
             return;
         }
-
+        $this->createParam($value);
         $targetStr     = $this->arrParam[$value[1]];
         $prohibitedStr = str_replace(array('|', '/'), array('\|', '\/'), $value[2]);
@@ -847,4 +867,17 @@
         }
     }
+
+    /**
+     * 未定義の $this->arrParam に空要素を代入する.
+     *
+     * @access private
+     * @param array $value 配列
+     * @return void
+     */
+    function createParam($value) {
+        foreach ($value as $key) {
+            if (!isset($this->arrParam[$key])) $this->arrParam[$key] = "";
+        }
+    }
 }
 ?>
