Index: branches/feature-module-update/html/admin/system/module.php
===================================================================
--- branches/rel/html/admin/system/module.php	(revision 12157)
+++ branches/feature-module-update/html/admin/system/module.php	(revision 15078)
@@ -8,14 +8,14 @@
 require_once(DATA_PATH . "module/Request.php");
 
-//¥Ú¡¼¥¸´ÉÍý¥¯¥é¥¹
+//ページ管理クラス
 class LC_Page {
-	//¥³¥ó¥¹¥È¥é¥¯¥¿
+	//コンストラクタ
 	function LC_Page() {
-		//¥á¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È¤Î»ØÄê
+		//メインテンプレートの指定
 		$this->tpl_mainpage = 'system/module.tpl';
 		$this->tpl_subnavi = 'system/subnavi.tpl';
 		$this->tpl_mainno = 'system';		
 		$this->tpl_subno = 'module';
-		$this->tpl_subtitle = '¥â¥¸¥å¡¼¥ë´ÉÍý';
+		$this->tpl_subtitle = 'モジュール管理';
 	}
 }
@@ -24,27 +24,27 @@
 $objQuery = new SC_Query();
 
-// ¥»¥Ã¥·¥ç¥ó¥¯¥é¥¹
+// セッションクラス
 $objSess = new SC_Session();
-// Ç§¾Ú²ÄÈÝ¤ÎÈ½Äê
+// 認証可否の判定
 sfIsSuccess($objSess);
 
 switch($_POST['mode']) {
-// ¥¢¥Ã¥×¥Ç¡¼¥È¾ðÊó¥Õ¥¡¥¤¥ë¤ò¼èÆÀ
+// アップデート情報ファイルを取得
 case 'edit':
-	// ¹¹¿·¾ðÊó¤òºÇ¿·¤Ë¤¹¤ë
+	// 更新情報を最新にする
 	lfLoadUpdateList();
 	break;
-// ¥¤¥ó¥¹¥È¡¼¥ë
+// インストール
 case 'install':
-	// ¹¹¿·¾ðÊó¤òºÇ¿·¤Ë¤¹¤ë
+	// 更新情報を最新にする
 	lfLoadUpdateList();
-	// ¥â¥¸¥å¡¼¥ë·´¤Î¥¤¥ó¥¹¥È¡¼¥ë
+	// モジュール郡のインストール
 	lfInstallModule();
 	break;
-// ¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë
+// アンインストール
 case 'uninstall':
-	// ¹¹¿·¾ðÊó¤òºÇ¿·¤Ë¤¹¤ë
+	// 更新情報を最新にする
 	lfLoadUpdateList();
-	// ¥â¥¸¥å¡¼¥ë·´¤Î¥¤¥ó¥¹¥È¡¼¥ë	
+	// モジュール郡のインストール	
 	lfUninstallModule();
 	break;
@@ -57,8 +57,8 @@
 
 $objPage->arrUpdate = $arrUpdate;
-$objView->assignobj($objPage);		//ÊÑ¿ô¤ò¥Æ¥ó¥×¥ì¡¼¥È¤Ë¥¢¥µ¥¤¥ó¤¹¤ë
-$objView->display(MAIN_FRAME);		//¥Æ¥ó¥×¥ì¡¼¥È¤Î½ÐÎÏ
+$objView->assignobj($objPage);		//変数をテンプレートにアサインする
+$objView->display(MAIN_FRAME);		//テンプレートの出力
 //-------------------------------------------------------------------------------------------------------
-// ¹¹¿·¥Õ¥¡¥¤¥ë¤Î¼èÆÀ
+// 更新ファイルの取得
 function lfCopyUpdateFile($file) {
 	global $objPage;
@@ -66,13 +66,13 @@
 	$src_path = sfRmDupSlash(UPDATE_HTTP . $file . ".txt");
 	$dst_path = sfRmDupSlash(MODULE_PATH . $file);
-	$flg_ok = true;	// ½èÍý¤ÎÀ®¸ùÈ½Äê
+	$flg_ok = true;	// 処理の成功判定
 	
 	$src_fp = @fopen($src_path, "rb");
 	
 	if(!$src_fp) {
-		sfErrorHeader(">> " . $src_path . "¤Î¼èÆÀ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£");
+		sfErrorHeader(">> " . $src_path . "の取得に失敗しました。");
 		$flg_ok = false;
 	} else {
-		// ¥Õ¥¡¥¤¥ë¤ò¤¹¤Ù¤ÆÆÉ¤ß¹þ¤à
+		// ファイルをすべて読み込む
 		$contents = '';
 		while (!feof($src_fp)) {
@@ -81,10 +81,10 @@
 		fclose($src_fp);
 		
-		// ¥Ç¥£¥ì¥¯¥È¥êºîÀ®¤ò»î¤ß¤ë
+		// ディレクトリ作成を試みる
 		lfMakeDirectory($dst_path);
-		// ¥Õ¥¡¥¤¥ë½ñ¹þ¤ß		
+		// ファイル書込み		
 		$dst_fp = @fopen($dst_path, "wb");
 		if(!$dst_fp) {
-			sfErrorHeader(">> " . $dst_path . "¤ò¥ª¡¼¥×¥ó¤Ç¤­¤Þ¤»¤ó¡£");
+			sfErrorHeader(">> " . $dst_path . "をオープンできません。");
 			$flg_ok = false;
 		} else {
@@ -95,7 +95,7 @@
 	
 	if($flg_ok) {
-		$objPage->update_mess.= ">> " . $dst_path . "¡§¥³¥Ô¡¼À®¸ù<br>";
-	} else {
-		$objPage->update_mess.= ">> " . $dst_path . "¡§¥³¥Ô¡¼¼ºÇÔ<br>";		
+		$objPage->update_mess.= ">> " . $dst_path . "：コピー成功<br>";
+	} else {
+		$objPage->update_mess.= ">> " . $dst_path . "：コピー失敗<br>";		
 	}
 	
@@ -103,29 +103,29 @@
 }
 
-// ¤¹¤Ù¤Æ¤Î¥Ñ¥¹¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤¹¤ë
+// すべてのパスのディレクトリを作成する
 function lfMakeDirectory($path) {
 	$pos = 0;
-	$cnt = 0;				// Ìµ¸Â¥ë¡¼¥×ÂÐºö
-	$len = strlen($path);	// Ìµ¸Â¥ë¡¼¥×ÂÐºö
+	$cnt = 0;				// 無限ループ対策
+	$len = strlen($path);	// 無限ループ対策
 	
 	while($cnt <= $len) {
 		$pos = strpos($path, "/", $pos);
-		// ¤³¤³¤Ç¤ÎÈ½Äê¤Ï¡¢Åù¹æ3¤Ä¤ò»ÈÍÑ
+		// ここでの判定は、等号3つを使用
 		if($pos === false) {
-			// ¥¹¥é¥Ã¥·¥å¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¤Ï¥ë¡¼¥×¤«¤éÈ´¤±¤ë
+			// スラッシュが見つからない場合はループから抜ける
 			break;
 		}
-		$pos++; // Ê¸»úÈ¯¸«°ÌÃÖ¤ò°ìÊ¸»ú¿Ê¤á¤ë
+		$pos++; // 文字発見位置を一文字進める
 		$dir = substr($path, 0, $pos);
 		
-		// ¤¹¤Ç¤ËÂ¸ºß¤¹¤ë¤«¤É¤¦¤«Ä´¤Ù¤ë
+		// すでに存在するかどうか調べる
 		if(!file_exists($dir)) {
 			mkdir($dir);
 		}
-		$cnt++; // Ìµ¸Â¥ë¡¼¥×ÂÐºö
-	}
-}
-
-// ¹¹¿·¾ðÊó¤òºÇ¿·¤Ë¤¹¤ë
+		$cnt++; // 無限ループ対策
+	}
+}
+
+// 更新情報を最新にする
 function lfLoadUpdateList() {
 	$objQuery = new SC_Query();
@@ -136,5 +136,5 @@
 		
 	if(!$fp) {
-		sfErrorHeader(">> " . $path . "¤Î¼èÆÀ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£");
+		sfErrorHeader(">> " . $path . "の取得に失敗しました。");
 	} else {
 		
@@ -142,5 +142,5 @@
 			$arrCSV = fgetcsv($fp, UPDATE_CSV_LINE_MAX);
 			
-			// ¥¨¥¹¥±¡¼¥×½èÍý¤ÎÃÖ´¹
+			// エスケープ処理の置換
 			foreach($arrCSV as $key => $val){
 				$arrCSV[$key] = str_replace('\"', '"', $val);
@@ -151,10 +151,10 @@
 			}
 			
-			// ¥«¥é¥à¿ô¤¬Àµ¾ï¤Ç¤¢¤Ã¤¿¾ì¹ç¤Î¤ß
+			// カラム数が正常であった場合のみ
 			if(count($arrCSV) == MODULE_CSV_COL_MAX) {
-					// insert¤¹¤ëmodule_id¤òÇÛÎó¤Ë³ÊÇ¼
+					// insertするmodule_idを配列に格納
 					$arrInsID[] = $arrCSV[0];
 				
-					// ¼èÆÀ¤·¤¿¥¢¥Ã¥×¥Ç¡¼¥È¾ðÊó¤òDB¤Ë½ñ¤­¹þ¤à
+					// 取得したアップデート情報をDBに書き込む
 					$sqlval['module_id'] = $arrCSV[0];
 					$sqlval['module_name'] = $arrCSV[1];
@@ -171,22 +171,22 @@
 					$sqlval['module_x'] = $arrCSV[14];
 					$sqlval['module_y'] = $arrCSV[15];
-					// ¥â¥¸¥å¡¼¥ë¤¬ÂÐ±þ¤·¤Æ¤¤¤ëËÜÂÎ¤Î¥Ð¡¼¥¸¥ç¥ó
+					// モジュールが対応している本体のバージョン
 					$sqlval['eccube_version'] = $arrCSV[13];					
-					// ´ûÂ¸¥ì¥³¡¼¥É¤Î¥Á¥§¥Ã¥¯
+					// 既存レコードのチェック
 					$cnt = $objQuery->count("dtb_module", "module_id = ?", array($sqlval['module_id']));
 					if($cnt > 0) {
-						// ¤¹¤Ç¤Ë¼èÆÀ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¹¹¿·¤¹¤ë¡£	
+						// すでに取得されている場合は更新する。	
 						$objQuery->update("dtb_module", $sqlval, "module_id = ?", array($sqlval['module_id']));
 					} else {
-						// ¿·µ¬¥ì¥³¡¼¥É¤ÎÄÉ²Ã
+						// 新規レコードの追加
 						$sqlval['create_date'] = "now()";
 						$objQuery->insert("dtb_module", $sqlval);
 					}
 			} else {
-				sfErrorHeader(">> ¥«¥é¥à¿ô¤¬°ìÃ×¤·¤Þ¤»¤ó¡£¡§".count($arrCSV));
-			}
-		}
-		
-		// ÉÔÍ×¤Ê¥Ç¡¼¥¿¤òºï½ü
+				sfErrorHeader(">> カラム数が一致しません。：".count($arrCSV));
+			}
+		}
+		
+		// 不要なデータを削除
 		if(count($arrInsID) > 0){
 			$del_sql = "DELETE FROM dtb_module WHERE module_id NOT IN (?";
@@ -204,5 +204,5 @@
 }
 
-// ¥¤¥ó¥¹¥È¡¼¥ë½èÍý
+// インストール処理
 function lfInstallModule() {
 	global $objPage;
@@ -210,5 +210,5 @@
 	$objQuery = new SC_Query();
 	$arrRet = $objQuery->select("module_id, extern_php, other_files, install_sql, latest_version", "dtb_module", "module_id = ?", array($_POST['module_id']));
-	$flg_ok = true;	// ½èÍý¤ÎÀ®¸ùÈ½Äê
+	$flg_ok = true;	// 処理の成功判定
 	
 	if(count($arrRet) > 0) {
@@ -219,5 +219,5 @@
 		$arrFiles[] = $arrRet[0]['extern_php'];
 		foreach($arrFiles as $val) {
-			// ¹¹¿·¥Õ¥¡¥¤¥ë¤Î¼èÆÀ
+			// 更新ファイルの取得
 			$ret=lfCopyUpdateFile($val);
 			if(!$ret) {
@@ -226,11 +226,11 @@
 		}
 	} else {
-		sfErrorHeader(">> ÂÐ¾Ý¤Îµ¡Ç½¤Ï¡¢ÇÛÉÛ¤ò½ªÎ»¤·¤Æ¤ª¤ê¤Þ¤¹¡£");
+		sfErrorHeader(">> 対象の機能は、配布を終了しております。");
 		$flg_ok = false;
 	}
 	
-	// É¬Í×¤ÊSQLÊ¸¤Î¼Â¹Ô
+	// 必要なSQL文の実行
 	if($arrRet[0]['install_sql'] != "") {
-		// SQLÊ¸¼Â¹Ô¡¢¥Ñ¥é¡¼¥á¡¼¥¿¤Ê¤·¡¢¥¨¥é¡¼Ìµ»ë
+		// SQL文実行、パラーメータなし、エラー無視
 		$arrInstallSql = split(";",$arrRet[0]['install_sql']);
 		foreach($arrInstallSql as $key => $val){
@@ -240,11 +240,11 @@
 		}
 		if(DB::isError($ret)) {
-			// ¥¨¥é¡¼Ê¸¤ò¼èÆÀ¤¹¤ë
+			// エラー文を取得する
 			ereg("\[(.*)\]", $ret->userinfo, $arrKey);
-			$objPage->update_mess.=">> ¥Æ¡¼¥Ö¥ë¹½À®¤ÎÊÑ¹¹¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£<br>";
+			$objPage->update_mess.=">> テーブル構成の変更に失敗しました。<br>";
 			$objPage->update_mess.= $arrKey[0] . "<br>";
 			$flg_ok = false;
 		} else {
-			$objPage->update_mess.=">> ¥Æ¡¼¥Ö¥ë¹½À®¤ÎÊÑ¹¹¤ò¹Ô¤¤¤Þ¤·¤¿¡£<br>";
+			$objPage->update_mess.=">> テーブル構成の変更を行いました。<br>";
 		}
 	}
@@ -258,5 +258,5 @@
 }
 
-// ¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë½èÍý
+// アンインストール処理
 function lfUninstallModule() {
 	global $objPage;
@@ -264,9 +264,9 @@
 	$objQuery = new SC_Query();
 	$arrRet = $objQuery->select("module_id, extern_php, other_files, install_sql, uninstall_sql, latest_version", "dtb_module", "module_id = ?", array($_POST['module_id']));
-	$flg_ok = true;	// ½èÍý¤ÎÀ®¸ùÈ½Äê
+	$flg_ok = true;	// 処理の成功判定
 	
 	if(count($arrRet) > 0) {
 		
-		// ¥â¥¸¥å¡¼¥ë¤òºï½ü¤¹¤ë
+		// モジュールを削除する
 		$objQuery->query("UPDATE dtb_payment SET del_flg = 1 WHERE module_id = ?", array($arrRet[0]['module_id']));
 
@@ -279,32 +279,32 @@
 		foreach($arrFiles as $val) {
 			$path = MODULE_PATH . $val;
-			// ¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ë
+			// ファイルを削除する
 			if(file_exists($path) && unlink($path)) {
-				$objPage->update_mess.= ">> " . $path . "¡§ºï½üÀ®¸ù<br>";
+				$objPage->update_mess.= ">> " . $path . "：削除成功<br>";
 			} else {
-				$objPage->update_mess.= ">> " . $path . "¡§ºï½ü¼ºÇÔ<br>";
-			}
-		}
-
-		// É¬Í×¤ÊSQLÊ¸¤Î¼Â¹Ô
+				$objPage->update_mess.= ">> " . $path . "：削除失敗<br>";
+			}
+		}
+
+		// 必要なSQL文の実行
 		if($arrRet[0]['uninstall_sql'] != "") {
-			// SQLÊ¸¼Â¹Ô¡¢¥Ñ¥é¡¼¥á¡¼¥¿¤Ê¤·¡¢¥¨¥é¡¼Ìµ»ë
+			// SQL文実行、パラーメータなし、エラー無視
 			$ret = $objQuery->query($arrRet[0]['uninstall_sql'],"",true);
 			if(DB::isError($ret)) {
-				// ¥¨¥é¡¼Ê¸¤ò¼èÆÀ¤¹¤ë
+				// エラー文を取得する
 				ereg("\[(.*)\]", $ret->userinfo, $arrKey);
-				$objPage->update_mess.=">> ¥Æ¡¼¥Ö¥ë¹½À®¤ÎÊÑ¹¹¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£<br>";
+				$objPage->update_mess.=">> テーブル構成の変更に失敗しました。<br>";
 				$objPage->update_mess.= $arrKey[0] . "<br>";
 				$flg_ok = false;
 			} else {
-				$objPage->update_mess.=">> ¥Æ¡¼¥Ö¥ë¹½À®¤ÎÊÑ¹¹¤ò¹Ô¤¤¤Þ¤·¤¿¡£<br>";
-			}
-		}
-	} else {
-		sfErrorHeader(">> ÂÐ¾Ý¤Îµ¡Ç½¤Ï¡¢ÇÛÉÛ¤ò½ªÎ»¤·¤Æ¤ª¤ê¤Þ¤¹¡£");
+				$objPage->update_mess.=">> テーブル構成の変更を行いました。<br>";
+			}
+		}
+	} else {
+		sfErrorHeader(">> 対象の機能は、配布を終了しております。");
 	}
 
 	if($flg_ok) {
-		// ¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òºï½ü¤¹¤ë¡£
+		// バージョン情報を削除する。
 		$sqlval['now_version'] = "";
 		$sqlval['update_date'] = "now()";
