Index: /branches/version-2_13_0/data/class/helper/SC_Helper_PageLayout.php
===================================================================
--- /branches/version-2_13_0/data/class/helper/SC_Helper_PageLayout.php	(revision 23126)
+++ /branches/version-2_13_0/data/class/helper/SC_Helper_PageLayout.php	(revision 23186)
@@ -23,6 +23,5 @@
 
 /**
- * Webãã¼ã¸ã®ã¬ã¤ã¢ã¦ãæ
-å ±ãå¶å¾¡ãããã«ãã¼ã¯ã©ã¹.
+ * Webページのレイアウト情報を制御するヘルパークラス.
  *
  * @package Helper
@@ -33,29 +32,24 @@
 {
     /**
-     * ãã¼ã¸ã®ã¬ã¤ã¢ã¦ãæ
-å ±ãåå¾ã, è¨­å®ãã.
-     *
-     * ç¾å¨ã® URL ã«å¿ãããã¼ã¸ã®ã¬ã¤ã¢ã¦ãæ
-å ±ãåå¾ã, LC_Page ã¤ã³ã¹ã¿ã³ã¹ã«
-     * è¨­å®ãã.
-     *
-     * @access public
-     * @param  LC_Page $objPage        LC_Page ã¤ã³ã¹ã¿ã³ã¹
-     * @param  boolean $preview        ãã¬ãã¥ã¼è¡¨ç¤ºã®å ´å true
-     * @param  string  $url            ãã¼ã¸ã®URL($_SERVER['SCRIPT_NAME'] ã®æ
-å ±)
-     * @param  integer $device_type_id ç«¯æ«ç¨®å¥ID
+     * ページのレイアウト情報を取得し, 設定する.
+     *
+     * 現在の URL に応じたページのレイアウト情報を取得し, LC_Page インスタンスに
+     * 設定する.
+     *
+     * @access public
+     * @param  LC_Page $objPage        LC_Page インスタンス
+     * @param  boolean $preview        プレビュー表示の場合 true
+     * @param  string  $url            ページのURL($_SERVER['SCRIPT_NAME'] の情報)
+     * @param  integer $device_type_id 端末種別ID
      * @return void
      */
     public function sfGetPageLayout(&$objPage, $preview = false, $url = '', $device_type_id = DEVICE_TYPE_PC)
     {
-        // URLãå
-ã«ãã¼ã¸æ
-å ±ãåå¾
+        // URLを元にページ情報を取得
         if ($preview === false) {
             $url = preg_replace('|^' . preg_quote(ROOT_URLPATH) . '|', '', $url);
             $arrPageData = $this->getPageProperties($device_type_id, null, 'url = ?', array($url));
         }
-        // ãã¬ãã¥ã¼ã®å ´åã¯, ãã¬ãã¥ã¼ç¨ã®ãã¼ã¿ãåå¾
+        // プレビューの場合は, プレビュー用のデータを取得
         else {
             $arrPageData = $this->getPageProperties($device_type_id, 0);
@@ -63,6 +57,5 @@
 
         if (empty($arrPageData[0])) {
-            trigger_error('ãã¼ã¸æ
-å ±ãåå¾ã§ãã¾ããã§ããã', E_USER_ERROR);
+            trigger_error('ページ情報を取得できませんでした。', E_USER_WARNING);
         }
 
@@ -70,6 +63,6 @@
         
         if (!file_exists($objPage->tpl_mainpage)) {
-            $msg = 'ã¡ã¤ã³é¨ã®ãã³ãã¬ã¼ããå­å¨ãã¾ããã[' . $objPage->tpl_mainpage . ']';
-            trigger_error($msg, E_USER_ERROR);
+            $msg = 'メイン部のテンプレートが存在しません。[' . $objPage->tpl_mainpage . ']';
+            trigger_error($msg, E_USER_WARNING);
         }
         
@@ -80,19 +73,17 @@
         }
 
-        // ãã¼ã¸ã¿ã¤ãã«ãè¨­å®
+        // ページタイトルを設定
         if (SC_Utils_Ex::isBlank($objPage->tpl_title)) {
             $objPage->tpl_title = $objPage->arrPageLayout['page_name'];
         }
 
-        // è©²å½ãã¼ã¸ã®ãã­ãã¯ãåå¾ã, é
-ç½®ãã
+        // 該当ページのブロックを取得し, 配置する
         $masterData = new SC_DB_MasterData_Ex();
         $arrTarget = $masterData->getMasterData('mtb_target');
         $arrBlocs = $this->getBlocPositions($device_type_id, $objPage->arrPageLayout['page_id']);
-        // ç¡å¹ãªãã©ã°ã¤ã³ã®ãã­ãã¯ãåãé¤ã.
+        // 無効なプラグインのブロックを取り除く.
         $objPlugin = SC_Helper_Plugin_Ex::getSingletonInstance();
         $arrBlocs = $objPlugin->getEnableBlocs($arrBlocs);
-        // php_path, tpl_path ãå­å¨ãããã®ã, åã¿ã¼ã²ããã«é
-ç½®
+        // php_path, tpl_path が存在するものを, 各ターゲットに配置
         foreach ($arrTarget as $target_id => $value) {
             foreach ($arrBlocs as $arrBloc) {
@@ -104,5 +95,5 @@
                     $objPage->arrPageLayout[$arrTarget[$target_id]][] = $arrBloc;
                 } else {
-                    $error = "ãã­ãã¯ãè¦ã¤ããã¾ãã\n"
+                    $error = "ブロックが見つかりません\n"
                         . 'tpl_path: ' . $arrBloc['tpl_path'] . "\n"
                         . 'php_path: ' . $arrBloc['php_path'];
@@ -111,24 +102,21 @@
             }
         }
-        // ã«ã©ã æ°ãåå¾ãã
+        // カラム数を取得する
         $objPage->tpl_column_num = $this->getColumnNum($objPage->arrPageLayout);
     }
 
     /**
-     * ãã¼ã¸ã®å±æ§ãåå¾ãã.
-     *
-     * ãã®é¢æ°ã¯, dtb_pagelayout ã®æ
-å ±ãæ¤ç´¢ãã.
-     * $device_type_id ã¯å¿
-é . ããã©ã«ãå¤ã¯ DEVICE_TYPE_PC.
-     * $page_id ã null ã®å ´åã¯, $page_id ã 0 ä»¥å¤ã®ãã®ãæ¤ç´¢ãã.
-     *
-     * @access public
-     * @param  integer $device_type_id ç«¯æ«ç¨®å¥ID
-     * @param  integer $page_id        ãã¼ã¸ID; null ã®å ´åã¯, 0 ä»¥å¤ãæ¤ç´¢ãã.
-     * @param  string  $where          è¿½å ã®æ¤ç´¢æ¡ä»¶
-     * @param  array   $arrParams      è¿½å ã®æ¤ç´¢ãã©ã¡ã¼ã¿ã¼
-     * @return array   ãã¼ã¸å±æ§ã®é
-å
+     * ページの属性を取得する.
+     *
+     * この関数は, dtb_pagelayout の情報を検索する.
+     * $device_type_id は必須. デフォルト値は DEVICE_TYPE_PC.
+     * $page_id が null の場合は, $page_id が 0 以外のものを検索する.
+     *
+     * @access public
+     * @param  integer $device_type_id 端末種別ID
+     * @param  integer $page_id        ページID; null の場合は, 0 以外を検索する.
+     * @param  string  $where          追加の検索条件
+     * @param  array   $arrParams      追加の検索パラメーター
+     * @return array   ページ属性の配列
      */
     public function getPageProperties($device_type_id = DEVICE_TYPE_PC, $page_id = null, $where = '', $arrParams = array())
@@ -149,15 +137,12 @@
 
     /**
-     * ãã­ãã¯æ
-å ±ãåå¾ãã.
-     *
-     * @access public
-     * @param  integer $device_type_id ç«¯æ«ç¨®å¥ID
-     * @param  string  $where          è¿½å ã®æ¤ç´¢æ¡ä»¶
-     * @param  array   $arrParams      è¿½å ã®æ¤ç´¢ãã©ã¡ã¼ã¿ã¼
-     * @param  boolean $has_realpath   php_path, tpl_path ã®çµ¶å¯¾ãã¹ãå«ããå ´å true
-     * @return array   ãã­ãã¯æ
-å ±ã®é
-å
+     * ブロック情報を取得する.
+     *
+     * @access public
+     * @param  integer $device_type_id 端末種別ID
+     * @param  string  $where          追加の検索条件
+     * @param  array   $arrParams      追加の検索パラメーター
+     * @param  boolean $has_realpath   php_path, tpl_path の絶対パスを含める場合 true
+     * @return array   ブロック情報の配列
      */
     public function getBlocs($device_type_id = DEVICE_TYPE_PC, $where = '', $arrParams = array(), $has_realpath = true)
@@ -173,16 +158,11 @@
 
     /**
-     * ãã­ãã¯é
-ç½®æ
-å ±ãåå¾ãã.
-     *
-     * @access public
-     * @param  integer $device_type_id ç«¯æ«ç¨®å¥ID
-     * @param  integer $page_id        ãã¼ã¸ID
-     * @param  boolean $has_realpath   php_path, tpl_path ã®çµ¶å¯¾ãã¹ãå«ããå ´å true
-     * @return array   é
-ç½®æ
-å ±ãå«ãããã­ãã¯ã®é
-å
+     * ブロック配置情報を取得する.
+     *
+     * @access public
+     * @param  integer $device_type_id 端末種別ID
+     * @param  integer $page_id        ページID
+     * @param  boolean $has_realpath   php_path, tpl_path の絶対パスを含める場合 true
+     * @return array   配置情報を含めたブロックの配列
      */
     public function getBlocPositions($device_type_id, $page_id, $has_realpath = true)
@@ -203,6 +183,5 @@
         }
 
-        //å
-¨ãã¼ã¸è¨­å®ã¨åãã¼ã¸ã®ãã­ãã¯ã®éè¤ãåé¤
+        //全ページ設定と各ページのブロックの重複を削除
         $arrUniqBlocIds = array();
         foreach ($arrBlocs as $index => $arrBloc) {
@@ -221,22 +200,21 @@
 
     /**
-     * ãã¼ã¸æ
-å ±ãåé¤ãã.
-     *
-     * XXX ãã¡ã¤ã«ãç¢ºå®ã«åé¤ãããã©ããã®ãã§ãã¯
-     *
-     * @access public
-     * @param  integer $page_id        ãã¼ã¸ID
-     * @param  integer $device_type_id ç«¯æ«ç¨®å¥ID
-     * @return integer åé¤æ°
+     * ページ情報を削除する.
+     *
+     * XXX ファイルを確実に削除したかどうかのチェック
+     *
+     * @access public
+     * @param  integer $page_id        ページID
+     * @param  integer $device_type_id 端末種別ID
+     * @return integer 削除数
      */
     public function lfDelPageData($page_id, $device_type_id = DEVICE_TYPE_PC)
     {
         $objQuery =& SC_Query_Ex::getSingletonInstance();
-        // page_id ãç©ºã§ãªãå ´åã«ã¯deleteãå®è¡
+        // page_id が空でない場合にはdeleteを実行
         if ($page_id != '') {
             $arrPageData = $this->getPageProperties($device_type_id, $page_id);
             $ret = $objQuery->delete('dtb_pagelayout', 'page_id = ? AND device_type_id = ?', array($page_id, $device_type_id));
-            // ãã¡ã¤ã«ã®åé¤
+            // ファイルの削除
             $this->lfDelFile($arrPageData[0]['filename'], $device_type_id);
         }
@@ -246,12 +224,12 @@
 
     /**
-     * ãã¼ã¸ã®ãã¡ã¤ã«ãåé¤ãã.
-     *
-     * dtb_pagelayout ã®åé¤å¾ã«å¼ã³åºããã¨ã
+     * ページのファイルを削除する.
+     *
+     * dtb_pagelayout の削除後に呼び出すこと。
      *
      * @access private
      * @param  string  $filename
-     * @param  integer $device_type_id ç«¯æ«ç¨®å¥ID
-     * @return void    // TODO boolean ã«ããã¹ã?
+     * @param  integer $device_type_id 端末種別ID
+     * @return void    // TODO boolean にするべき?
      */
     public function lfDelFile($filename, $device_type_id)
@@ -260,13 +238,11 @@
 
         /*
-         * ååãã¡ã¤ã«ã®ä½¿ç¨ä»¶æ°
-         * PHP ãã¡ã¤ã«ã¯, è¤æ°ã®ããã¤ã¹ã§å
-±æãããã, device_type_id ãæ¡ä»¶ã«å
-¥ããªã
+         * 同名ファイルの使用件数
+         * PHP ファイルは, 複数のデバイスで共有するため, device_type_id を条件に入れない
          */
         $exists = $objQuery->exists('dtb_pagelayout', 'filename = ?', array($filename));
 
         if (!$exists) {
-            // phpãã¡ã¤ã«ã®åé¤
+            // phpファイルの削除
             $del_php = HTML_REALDIR . $filename . '.php';
             if (file_exists($del_php)) {
@@ -275,5 +251,5 @@
         }
 
-        // tplãã¡ã¤ã«ã®åé¤
+        // tplファイルの削除
         $del_tpl = $this->getTemplatePath($device_type_id) . $filename . '.tpl';
         if (file_exists($del_tpl)) {
@@ -283,10 +259,10 @@
 
     /**
-     * ç·¨éå¯è½ãã¼ã¸ãã©ãã.
-     *
-     * @access public
-     * @param  integer                   $device_type_id ç«¯æ«ç¨®å¥ID
-     * @param  integer                   $page_id        ãã¼ã¸ID
-     * @return ç·¨éå¯è½ãã¼ã¸ã®å ´å true
+     * 編集可能ページかどうか.
+     *
+     * @access public
+     * @param  integer                   $device_type_id 端末種別ID
+     * @param  integer                   $page_id        ページID
+     * @return 編集可能ページの� �合 true
      */
     public function isEditablePage($device_type_id, $page_id)
@@ -304,10 +280,10 @@
 
     /**
-     * ãã³ãã¬ã¼ãã®ãã¹ãåå¾ãã.
-     *
-     * @access public
-     * @param  integer $device_type_id ç«¯æ«ç¨®å¥ID
-     * @param  boolean $isUser         USER_REALDIR ä»¥ä¸ã®ãã¹ãè¿ãå ´å true
-     * @return string  ãã³ãã¬ã¼ãã®ãã¹
+     * テンプレートのパスを取得する.
+     *
+     * @access public
+     * @param  integer $device_type_id 端末種別ID
+     * @param  boolean $isUser         USER_REALDIR 以下のパスを返す場合 true
+     * @return string  テンプレートのパス
      */
     public function getTemplatePath($device_type_id = DEVICE_TYPE_PC, $isUser = false)
@@ -340,13 +316,13 @@
 
     /**
-     * DocumentRoot ãã user_data ã®ãã¹ãåå¾ãã.
-     *
-     * å¼æ° $hasPackage ã true ã«ããå ´åã¯, user_data/packages/template_name
-     * ãåå¾ãã.
-     *
-     * @access public
-     * @param  integer $device_type_id ç«¯æ«ç¨®å¥ID
-     * @param  boolean $hasPackage     ããã±ã¼ã¸ã®ãã¹ãå«ããå ´å true
-     * @return string  ç«¯æ«ã«å¿ãã DocumentRoot ãã user_data ã¾ã§ã®ãã¹
+     * DocumentRoot から user_data のパスを取得する.
+     *
+     * 引数 $hasPackage を true にした場合は, user_data/packages/template_name
+     * を取得する.
+     *
+     * @access public
+     * @param  integer $device_type_id 端末種別ID
+     * @param  boolean $hasPackage     パッケージのパスも含める場合 true
+     * @return string  端末に応じた DocumentRoot から user_data までのパス
      */
     public function getUserDir($device_type_id = DEVICE_TYPE_PC, $hasPackage = false)
@@ -374,10 +350,9 @@
 
     /**
-     * ãã­ãã¯ã® php_path, tpl_path ãè¨­å®ãã.
+     * ブロックの php_path, tpl_path を設定する.
      *
      * @access private
-     * @param  integer $device_type_id ç«¯æ«ç¨®å¥ID
-     * @param  array   $arrBlocs       è¨­å®ãããã­ãã¯ã®é
-å
+     * @param  integer $device_type_id 端末種別ID
+     * @param  array   $arrBlocs       設定するブロックの配列
      * @return void
      */
@@ -393,15 +368,13 @@
 
     /**
-     * ã«ã©ã æ°ãåå¾ãã.
+     * カラム数を取得する.
      *
      * @access private
-     * @param  array   $arrPageLayout ã¬ã¤ã¢ã¦ãæ
-å ±ã®é
-å
-     * @return integer $col_num ã«ã©ã æ°
+     * @param  array   $arrPageLayout レイアウト情報の配列
+     * @return integer $col_num カラム数
      */
     public function getColumnNum($arrPageLayout)
     {
-        // ã¡ã¤ã³ã¯ç¢ºå®
+        // メインは確定
         $col_num = 1;
         // LEFT NAVI
