OSDN Git Service

管理画面のメニュー定義画面にコンテンツのタイトル取得機能追加。
authornaoki hirata <naoki@magic3.org>
Thu, 5 Dec 2013 09:57:51 +0000 (18:57 +0900)
committernaoki hirata <naoki@magic3.org>
Thu, 5 Dec 2013 09:57:51 +0000 (18:57 +0900)
widgets/admin_main/include/container/admin_mainLinkinfoWidgetContainer.php
widgets/admin_main/include/container/admin_mainMenudefWidgetContainer.php
widgets/admin_main/include/container/admin_mainSmenudefWidgetContainer.php
widgets/admin_main/include/help/help_menudef.php
widgets/admin_main/include/locale/ja_JP.mo
widgets/admin_main/include/locale/ja_JP.po
widgets/admin_main/include/template/menudef_detail.tmpl.html
widgets/admin_main/include/template/smenudef_detail.tmpl.html

index 813c3c2..132c615 100644 (file)
@@ -22,7 +22,7 @@ class admin_mainLinkinfoWidgetContainer extends admin_mainBaseWidgetContainer
        private $langId;                // 言語
        private $db;    // DB接続オブジェクト
        private $contentDb;             // DB接続オブジェクト
-       private $deviceType;            // デバイスタイプ(0=PC、1=携帯、2=スマートフォン)
+//     private $deviceType;            // デバイスタイプ(0=PC、1=携帯、2=スマートフォン)
        private $pageList = array();            // ページリスト
        private $contentList = array();         // コンテンツリスト
        private $contentType;                   // コンテンツタイプ
@@ -161,9 +161,11 @@ class admin_mainLinkinfoWidgetContainer extends admin_mainBaseWidgetContainer
                } else if ($act == 'getcontent'){               // コンテンツ取得
                        $this->contentType = $request->trimValueOf('contenttype');
                        $contentId = $request->trimValueOf('contentid');
-                       $contentText = '';              // プレビュー用コンテンツ
+//                     $contentText = '';              // プレビュー用コンテンツ
                        
-                       switch ($this->contentType){
+                       // プレビュー用コンテンツ取得
+                       list($contentTitle, $contentText) = $this->getContentInfo($accessPoint, $this->contentType, $contentId, $this->langId);
+/*                     switch ($this->contentType){
                                case M3_VIEW_TYPE_CONTENT:              // 汎用コンテンツ
                                        // コンテンツタイプ
                                        switch ($accessPoint){
@@ -201,11 +203,35 @@ class admin_mainLinkinfoWidgetContainer extends admin_mainBaseWidgetContainer
                                        break;
                                case M3_VIEW_TYPE_PHOTO:        // フォトギャラリー
                                        break;
-                       }
+                       }*/
                        $this->gInstance->getAjaxManager()->addData('content', $contentText);
                        
                } else if ($act == 'getaccesspoint'){           // アクセスポイント取得
                        $this->gInstance->getAjaxManager()->addData('accesspoint', $this->accessPointType);
+               } else if ($act == 'gettitle'){         // リンク先のコンテンツタイトル取得(メニュー定義画面(menudef,smenudef)からの呼び出し用)
+                       $url = $request->trimValueOf('url');
+                       $path = $this->gEnv->getMacroPath($url);
+                       $contentTitle = '';
+                       if (strStartsWith($path, M3_TAG_START . M3_TAG_MACRO_ROOT_URL . M3_TAG_END)){           // Magic3のルートURLマクロのとき
+                               $path = str_replace(M3_TAG_START . M3_TAG_MACRO_ROOT_URL . M3_TAG_END . '/', '', $path);
+                               
+                               // アクセスポイントを取得
+                               $accessPoint = '';              // PC
+                               if (strStartsWith($path, M3_DIR_NAME_MOBILE . '/')){
+                                       $accessPoint = M3_DIR_NAME_MOBILE;              // 携帯
+                               } else if (strStartsWith($path, M3_DIR_NAME_SMARTPHONE . '/')){
+                                       $accessPoint = M3_DIR_NAME_SMARTPHONE;          // スマートフォン
+                               }
+                               
+                               // コンテンツタイプ、コンテンツID取得
+                               list($tmp, $queryStr) = explode('?', $path);
+                               list($this->contentType, $contentId) = $this->getContentType($queryStr);
+                               
+                               // コンテンツを取得
+                               list($contentTitle, $contentText) = $this->getContentInfo($accessPoint, $this->contentType, $contentId, $this->langId);
+                       } else {                // 外部リンクの場合
+                       }
+                       $this->gInstance->getAjaxManager()->addData('title', $contentTitle);
                }
        }
        /**
@@ -320,5 +346,132 @@ class admin_mainLinkinfoWidgetContainer extends admin_mainBaseWidgetContainer
                }
                return $contentText;
        }
+       
+       /**
+        * コンテンツプレビュー用のテキストとタイトルを取得
+        *
+        * @param strint $accessPoint   アクセスポイント
+        * @param string $contentType   コンテンツタイプ
+        * @param string $contentId             コンテンツID
+        * @param string $langId                言語ID
+        * @return array                                コンテンツタイトル、コンテンツテキストの配列
+        */
+       function getContentInfo($accessPoint, $contentType, $contentId, $langId)
+       {
+               $contentText = '';
+               $contentTitle = '';
+               switch ($contentType){
+                       case M3_VIEW_TYPE_CONTENT:              // 汎用コンテンツ
+                               // コンテンツタイプ
+                               switch ($accessPoint){
+                                       case '':                        // PC用
+                                       default:
+                                               $contentType = '';
+                                               break;
+                                       case 'm':                       // 携帯用
+                                               $contentType = 'mobile';
+                                               break;
+                                       case 's':                       // スマートフォン用
+                                               $contentType = 'smartphone';
+                                               break;
+                               }
+                               $ret = $this->contentDb->getContent($contentType, $contentId, $langId, $row);
+                               if ($ret){
+                                       $contentTitle = $row['cn_name'];
+                                       $contentText = $this->createContentText($row['cn_html']);
+                               }
+                               break;
+                       case M3_VIEW_TYPE_PRODUCT:      // 製品
+                               $ret = $this->contentDb->getProduct($contentId, $langId, $row);
+                               if ($ret){
+                                       $contentTitle = $row['pt_name'];
+                                       $contentText = $this->createContentText($row['pt_description']);
+                               }
+                               break;
+                       case M3_VIEW_TYPE_BBS:  // BBS
+                               break;
+                       case M3_VIEW_TYPE_BLOG: // ブログ
+                               $ret = $this->contentDb->getEntry($contentId, $langId, $row);
+                               if ($ret){
+                                       $contentTitle = $row['be_name'];
+                                       $contentText = $this->createContentText($row['be_html']);
+                               }
+                               break;
+                       case M3_VIEW_TYPE_WIKI: // Wiki
+                               $contentTitle = $contentId;                     // コンテンツIDを返す
+                               break;
+                       case M3_VIEW_TYPE_USER: // ユーザ作成コンテンツ
+                               break;
+                       case M3_VIEW_TYPE_EVENT:        // イベント
+                               $ret = $this->contentDb->getEvent($contentId, $langId, $row);
+                               if ($ret){
+                                       $contentTitle = $row['ee_name'];
+                                       $contentText = $this->createContentText($row['ee_html']);
+                               }
+                               break;
+                       case M3_VIEW_TYPE_PHOTO:        // フォトギャラリー
+                               break;
+               }
+               return array($contentTitle, $contentText);
+       }
+       /**
+        * URLクエリー文字列からコンテンツタイプを取得
+        *
+        * @param string $queryStr      クエリー文字列
+        * @return array                        コンテンツタイプとコンテンツIDの配列
+        */
+       function getContentType($queryStr)
+       {
+               $contentType = '';
+               $contentId = '';
+               
+               // URLクエリー文字列を解析
+               parse_str($queryStr, $queryArray);
+               if (count($queryArray) > 0){
+                       reset($queryArray);
+                       $firstKey = key($queryArray);
+                       $contentId = $queryArray[$firstKey];
+                       
+                       switch ($firstKey){
+                               case M3_REQUEST_PARAM_CONTENT_ID:               // 汎用コンテンツID
+                               case M3_REQUEST_PARAM_CONTENT_ID_SHORT:
+                                       $contentType = M3_VIEW_TYPE_CONTENT;            // 汎用コンテンツ
+                                       break;
+                               case M3_REQUEST_PARAM_PRODUCT_ID:               // 製品ID
+                               case M3_REQUEST_PARAM_PRODUCT_ID_SHORT:
+                                       $contentType = M3_VIEW_TYPE_PRODUCT;            // 商品情報(Eコマース)
+                                       break;
+                               case M3_REQUEST_PARAM_EVENT_ID: // イベントID
+                               case M3_REQUEST_PARAM_EVENT_ID_SHORT:
+                                       $contentType = M3_VIEW_TYPE_EVENT;              // イベント情報
+                                       break;
+                               case M3_REQUEST_PARAM_PHOTO_ID: // 画像ID
+                               case M3_REQUEST_PARAM_PHOTO_ID_SHORT:
+                                       $contentType = M3_VIEW_TYPE_PHOTO;              // フォトギャラリー
+                                       break;
+                               case M3_REQUEST_PARAM_BLOG_ENTRY_ID:    // ブログ記事ID
+                               case M3_REQUEST_PARAM_BLOG_ENTRY_ID_SHORT:
+                                       $contentType = M3_VIEW_TYPE_BLOG;               // ブログ
+                                       break;
+                               default:
+                                       $contentId = '';
+                       }
+                       
+                       if (empty($contentType)){               // コンテンツタイプが確定できないとき
+                               $queryArray = explode('&', $queryStr);// 「&」で分割
+                               for ($i = 0; $i < count($queryArray); $i++){
+                                       $line = $queryArray[$i];
+                                       $pos = strpos($line, '=');
+                                       if ($pos === false){            // 「=」なしのパラメータはwikiパラメータとする
+                                               $contentType = M3_VIEW_TYPE_WIKI;               // wiki
+                                               $contentId = $line;                     // コンテンツID
+                                               break;
+                                       }
+                               }
+                       }
+               } else {                // URLトップの場合
+               }
+               return array($contentType, $contentId);
+       }
 }
 ?>
index 3ad2ca6..8ee3563 100644 (file)
@@ -141,6 +141,7 @@ class admin_mainMenudefWidgetContainer extends admin_mainBaseWidgetContainer
                        $localeText['label_name'] = $this->_('Name');           // 名前
                        $localeText['label_lang'] = $this->_('Language');                       // 言語
                        $localeText['label_new'] = $this->_('New');             // 新規
+                       $localeText['label_get_title'] = $this->_('Get Title');         // タイトル取得
                        $localeText['label_item_type'] = $this->_('Item Type');         // 項目タイプ
                        $localeText['label_link_type'] = $this->_('Link Type');         // 表示方法
                        $localeText['label_link_self'] = $this->_('Open page in the same window');              // 同ウィンドウで表示
index e9ccd03..1a20840 100644 (file)
@@ -134,6 +134,7 @@ class admin_mainSmenudefWidgetContainer extends admin_mainBaseWidgetContainer
                        $localeText['label_name'] = $this->_('Name');           // 名前
                        $localeText['label_lang'] = $this->_('Language');                       // 言語
                        $localeText['label_new'] = $this->_('New');             // 新規
+                       $localeText['label_get_title'] = $this->_('Get Title');         // タイトル取得
                        $localeText['label_item_type'] = $this->_('Item Type');         // 項目タイプ
                        $localeText['label_link_type'] = $this->_('Link Type');         // 表示方法
                        $localeText['label_link_self'] = $this->_('Open page in the same window');              // 同ウィンドウで表示
index 2bc592f..381438c 100644 (file)
@@ -41,7 +41,7 @@ class help_menudef extends HelpConv
                        ),
                        'menudef_name' => array(        
                                'title' =>      $this->_('Name'),                       // 名前
-                               'body' =>       $this->_('Definition name for menu item.')              // メニュー項目の名前です。
+                               'body' =>       $this->_('Definition name for menu item.<br />If \'Get Title\' button is clicked, it is replaced with the content title on the URL to link.')           // メニュー項目の名前です。「タイトル取得」ボタンを押すと、リンク先URLのコンテンツのタイトルを取得できます。
                        ),
                        'menudef_lang' => array(        
                                'title' =>      $this->_('Language'),                   // 言語
index a4b62a1..7e25817 100644 (file)
Binary files a/widgets/admin_main/include/locale/ja_JP.mo and b/widgets/admin_main/include/locale/ja_JP.mo differ
index 6b12131..e303202 100644 (file)
@@ -2,8 +2,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-11-09 23:29+0900\n"
-"PO-Revision-Date: 2013-11-09 23:29+0900\n"
+"POT-Creation-Date: 2013-12-05 18:28+0900\n"
+"PO-Revision-Date: 2013-12-05 18:29+0900\n"
 "Last-Translator: \n"
 "Language-Team: \n"
 "Language: ja_JP\n"
@@ -97,18 +97,18 @@ msgstr "ウィジェットタイトル、位置調整"
 
 #: ../container/admin_mainAdjustwidgetWidgetContainer.php:467
 #: ../container/admin_mainEditmenuWidgetContainer.php:56
-#: ../container/admin_mainMenudefWidgetContainer.php:152
-#: ../container/admin_mainSmenudefWidgetContainer.php:145
+#: ../container/admin_mainMenudefWidgetContainer.php:153
+#: ../container/admin_mainSmenudefWidgetContainer.php:146
 #: ../help/help_menudef.php:79
 msgid "Title"
 msgstr "タイトル"
 
 #: ../container/admin_mainAdjustwidgetWidgetContainer.php:468
-#: ../container/admin_mainMenudefWidgetContainer.php:151
-#: ../container/admin_mainMenudefWidgetContainer.php:176
+#: ../container/admin_mainMenudefWidgetContainer.php:152
+#: ../container/admin_mainMenudefWidgetContainer.php:177
 #: ../container/admin_mainPagedefWidgetContainer.php:120
-#: ../container/admin_mainSmenudefWidgetContainer.php:144
-#: ../container/admin_mainSmenudefWidgetContainer.php:168
+#: ../container/admin_mainSmenudefWidgetContainer.php:145
+#: ../container/admin_mainSmenudefWidgetContainer.php:169
 #: ../help/help_menudef.php:63 ../help/help_pagedef.php:87
 msgid "Visible"
 msgstr "表示"
@@ -242,10 +242,10 @@ msgstr "追加CSSクラス"
 #: ../container/admin_mainConfigsiteWidgetContainer.php:311
 #: ../container/admin_mainEditmenuWidgetContainer.php:166
 #: ../container/admin_mainEditmenuWidgetContainer.php:184
-#: ../container/admin_mainMenudefWidgetContainer.php:157
+#: ../container/admin_mainMenudefWidgetContainer.php:158
 #: ../container/admin_mainOpelogWidgetContainer.php:192
 #: ../container/admin_mainPagedefWidgetContainer.php:435
-#: ../container/admin_mainSmenudefWidgetContainer.php:150
+#: ../container/admin_mainSmenudefWidgetContainer.php:151
 #: ../container/admin_mainTemplistWidgetContainer.php:564
 #: ../container/admin_mainUserlistWidgetContainer.php:138
 #: ../container/admin_mainWidgetlistWidgetContainer.php:719
@@ -689,13 +689,13 @@ msgstr "未設定"
 #: ../container/admin_mainEditmenuWidgetContainer.php:177
 #: ../container/admin_mainEditmenuWidgetContainer.php:568
 #: ../container/admin_mainMenudefWidgetContainer.php:141
-#: ../container/admin_mainMenudefWidgetContainer.php:172
-#: ../container/admin_mainMenudefWidgetContainer.php:412
-#: ../container/admin_mainMenudefWidgetContainer.php:455
+#: ../container/admin_mainMenudefWidgetContainer.php:173
+#: ../container/admin_mainMenudefWidgetContainer.php:413
+#: ../container/admin_mainMenudefWidgetContainer.php:456
 #: ../container/admin_mainSmenudefWidgetContainer.php:134
-#: ../container/admin_mainSmenudefWidgetContainer.php:164
-#: ../container/admin_mainSmenudefWidgetContainer.php:348
-#: ../container/admin_mainSmenudefWidgetContainer.php:391
+#: ../container/admin_mainSmenudefWidgetContainer.php:165
+#: ../container/admin_mainSmenudefWidgetContainer.php:349
+#: ../container/admin_mainSmenudefWidgetContainer.php:392
 #: ../container/admin_mainTemplistWidgetContainer.php:460
 #: ../container/admin_mainUserlistWidgetContainer.php:121
 #: ../container/admin_mainUserlistWidgetContainer.php:149
@@ -713,10 +713,10 @@ msgstr "オプション"
 
 #: ../container/admin_mainEditmenuWidgetContainer.php:179
 #: ../container/admin_mainEditmenuWidgetContainer.php:570
-#: ../container/admin_mainMenudefWidgetContainer.php:155
+#: ../container/admin_mainMenudefWidgetContainer.php:156
 #: ../container/admin_mainPortalWidgetContainer.php:101
 #: ../container/admin_mainPortalWidgetContainer.php:254
-#: ../container/admin_mainSmenudefWidgetContainer.php:148
+#: ../container/admin_mainSmenudefWidgetContainer.php:149
 #: ../help/help_menudef.php:75
 msgid "Description"
 msgstr "説明"
@@ -809,16 +809,16 @@ msgid "Create directory?"
 msgstr "ディレクトリを作成しますか?"
 
 #: ../container/admin_mainFilebrowseWidgetContainer.php:198
-#: ../container/admin_mainMenudefWidgetContainer.php:167
+#: ../container/admin_mainMenudefWidgetContainer.php:168
 msgid "Path:"
 msgstr "パス:"
 
 #: ../container/admin_mainFilebrowseWidgetContainer.php:199
-#: ../container/admin_mainMenudefWidgetContainer.php:156
-#: ../container/admin_mainMenudefWidgetContainer.php:170
+#: ../container/admin_mainMenudefWidgetContainer.php:157
+#: ../container/admin_mainMenudefWidgetContainer.php:171
 #: ../container/admin_mainPagedefWidgetContainer.php:436
-#: ../container/admin_mainSmenudefWidgetContainer.php:149
-#: ../container/admin_mainSmenudefWidgetContainer.php:162
+#: ../container/admin_mainSmenudefWidgetContainer.php:150
+#: ../container/admin_mainSmenudefWidgetContainer.php:163
 #: ../container/admin_mainTemplistWidgetContainer.php:565
 #: ../container/admin_mainUserlistWidgetContainer.php:137
 #: ../container/admin_mainUserlistWidgetContainer.php:160
@@ -827,9 +827,9 @@ msgid "Delete"
 msgstr "削除"
 
 #: ../container/admin_mainFilebrowseWidgetContainer.php:200
-#: ../container/admin_mainMenudefWidgetContainer.php:171
+#: ../container/admin_mainMenudefWidgetContainer.php:172
 #: ../container/admin_mainOpelogWidgetContainer.php:204
-#: ../container/admin_mainSmenudefWidgetContainer.php:163
+#: ../container/admin_mainSmenudefWidgetContainer.php:164
 #: ../container/admin_mainUserlistWidgetContainer.php:148
 msgid "Select"
 msgstr "選択"
@@ -897,7 +897,7 @@ msgid "Create"
 msgstr "作成"
 
 #: ../container/admin_mainLoginstatusWidgetContainer.php:44
-#: ../container/admin_mainWidgetContainer.php:359
+#: ../container/admin_mainWidgetContainer.php:365
 msgid "Login"
 msgstr "ログイン"
 
@@ -971,25 +971,25 @@ msgid "Out of Range"
 msgstr "該当なし"
 
 #: ../container/admin_mainMenudefWidgetContainer.php:67
-#: ../container/admin_mainMenudefWidgetContainer.php:739
+#: ../container/admin_mainMenudefWidgetContainer.php:740
 #: ../container/admin_mainSmenudefWidgetContainer.php:59
 msgid "Link"
 msgstr "リンク"
 
 #: ../container/admin_mainMenudefWidgetContainer.php:68
-#: ../container/admin_mainMenudefWidgetContainer.php:743
+#: ../container/admin_mainMenudefWidgetContainer.php:744
 #: ../container/admin_mainSmenudefWidgetContainer.php:60
 msgid "Folder"
 msgstr "フォルダ"
 
 #: ../container/admin_mainMenudefWidgetContainer.php:69
-#: ../container/admin_mainMenudefWidgetContainer.php:747
+#: ../container/admin_mainMenudefWidgetContainer.php:748
 #: ../container/admin_mainSmenudefWidgetContainer.php:61
 msgid "Text"
 msgstr "テキスト"
 
 #: ../container/admin_mainMenudefWidgetContainer.php:70
-#: ../container/admin_mainMenudefWidgetContainer.php:751
+#: ../container/admin_mainMenudefWidgetContainer.php:752
 #: ../container/admin_mainSmenudefWidgetContainer.php:62
 msgid "Separator"
 msgstr "セパレータ"
@@ -1016,109 +1016,114 @@ msgid "Menu Item Detail"
 msgstr "メニュー項目詳細"
 
 #: ../container/admin_mainMenudefWidgetContainer.php:142
-#: ../container/admin_mainMenudefWidgetContainer.php:173
+#: ../container/admin_mainMenudefWidgetContainer.php:174
 #: ../container/admin_mainSmenudefWidgetContainer.php:135
-#: ../container/admin_mainSmenudefWidgetContainer.php:165
+#: ../container/admin_mainSmenudefWidgetContainer.php:166
 #: ../help/help_menudef.php:47
 msgid "Language"
 msgstr "言語"
 
 #: ../container/admin_mainMenudefWidgetContainer.php:143
-#: ../container/admin_mainMenudefWidgetContainer.php:168
+#: ../container/admin_mainMenudefWidgetContainer.php:169
 #: ../container/admin_mainSmenudefWidgetContainer.php:136
-#: ../container/admin_mainSmenudefWidgetContainer.php:160
+#: ../container/admin_mainSmenudefWidgetContainer.php:161
 #: ../container/admin_mainUserlistWidgetContainer.php:158
 msgid "New"
 msgstr "新規"
 
 #: ../container/admin_mainMenudefWidgetContainer.php:144
 #: ../container/admin_mainSmenudefWidgetContainer.php:137
-msgid "Item Type"
-msgstr "é \85ç\9b®ã\82¿ã\82¤ã\83\97"
+msgid "Get Title"
+msgstr "ã\82¿ã\82¤ã\83\88ã\83«å\8f\96å¾\97"
 
 #: ../container/admin_mainMenudefWidgetContainer.php:145
-#: ../container/admin_mainMenudefWidgetContainer.php:175
 #: ../container/admin_mainSmenudefWidgetContainer.php:138
-#: ../container/admin_mainSmenudefWidgetContainer.php:167
+msgid "Item Type"
+msgstr "項目タイプ"
+
+#: ../container/admin_mainMenudefWidgetContainer.php:146
+#: ../container/admin_mainMenudefWidgetContainer.php:176
+#: ../container/admin_mainSmenudefWidgetContainer.php:139
+#: ../container/admin_mainSmenudefWidgetContainer.php:168
 #: ../help/help_menudef.php:59
 msgid "Link Type"
 msgstr "表示方法"
 
-#: ../container/admin_mainMenudefWidgetContainer.php:146
-#: ../container/admin_mainSmenudefWidgetContainer.php:139
+#: ../container/admin_mainMenudefWidgetContainer.php:147
+#: ../container/admin_mainSmenudefWidgetContainer.php:140
 msgid "Open page in the same window"
 msgstr "同ウィンドウで表示"
 
-#: ../container/admin_mainMenudefWidgetContainer.php:147
-#: ../container/admin_mainSmenudefWidgetContainer.php:140
+#: ../container/admin_mainMenudefWidgetContainer.php:148
+#: ../container/admin_mainSmenudefWidgetContainer.php:141
 msgid "Open page in the other window"
 msgstr "別ウィンドウで表示"
 
-#: ../container/admin_mainMenudefWidgetContainer.php:148
-#: ../container/admin_mainMenudefWidgetContainer.php:174
-#: ../container/admin_mainSmenudefWidgetContainer.php:141
-#: ../container/admin_mainSmenudefWidgetContainer.php:166
+#: ../container/admin_mainMenudefWidgetContainer.php:149
+#: ../container/admin_mainMenudefWidgetContainer.php:175
+#: ../container/admin_mainSmenudefWidgetContainer.php:142
+#: ../container/admin_mainSmenudefWidgetContainer.php:167
 msgid "Link URL"
 msgstr "リンク先URL"
 
-#: ../container/admin_mainMenudefWidgetContainer.php:149
-#: ../container/admin_mainSmenudefWidgetContainer.php:142
+#: ../container/admin_mainMenudefWidgetContainer.php:150
+#: ../container/admin_mainSmenudefWidgetContainer.php:143
 msgid "Create URL"
 msgstr "URL作成"
 
-#: ../container/admin_mainMenudefWidgetContainer.php:150
-#: ../container/admin_mainSmenudefWidgetContainer.php:143
+#: ../container/admin_mainMenudefWidgetContainer.php:151
+#: ../container/admin_mainSmenudefWidgetContainer.php:144
 msgid "Item Control"
 msgstr "表示制御"
 
-#: ../container/admin_mainMenudefWidgetContainer.php:153
-#: ../container/admin_mainSmenudefWidgetContainer.php:146
+#: ../container/admin_mainMenudefWidgetContainer.php:154
+#: ../container/admin_mainSmenudefWidgetContainer.php:147
 msgid "Limit user"
 msgstr "ユーザ制限"
 
-#: ../container/admin_mainMenudefWidgetContainer.php:154
-#: ../container/admin_mainSmenudefWidgetContainer.php:147
+#: ../container/admin_mainMenudefWidgetContainer.php:155
+#: ../container/admin_mainSmenudefWidgetContainer.php:148
 msgid "Cotrol visible status linked to contents."
 msgstr "リンク先のコンテンツに連動"
 
-#: ../container/admin_mainMenudefWidgetContainer.php:158
-#: ../container/admin_mainSmenudefWidgetContainer.php:151
+#: ../container/admin_mainMenudefWidgetContainer.php:159
+#: ../container/admin_mainSmenudefWidgetContainer.php:152
 #: ../container/admin_mainUserlistWidgetContainer.php:139
 msgid "Add"
 msgstr "新規追加"
 
-#: ../container/admin_mainMenudefWidgetContainer.php:163
-#: ../container/admin_mainSmenudefWidgetContainer.php:156
+#: ../container/admin_mainMenudefWidgetContainer.php:164
+#: ../container/admin_mainSmenudefWidgetContainer.php:157
 msgid "Select menu item to edit."
 msgstr "編集する項目を選択してください"
 
-#: ../container/admin_mainMenudefWidgetContainer.php:164
-#: ../container/admin_mainSmenudefWidgetContainer.php:157
+#: ../container/admin_mainMenudefWidgetContainer.php:165
+#: ../container/admin_mainSmenudefWidgetContainer.php:158
 msgid "Select menu item to delete."
 msgstr "削除する項目を選択してください"
 
-#: ../container/admin_mainMenudefWidgetContainer.php:165
+#: ../container/admin_mainMenudefWidgetContainer.php:166
 #: ../container/admin_mainOpelogWidgetContainer.php:199
-#: ../container/admin_mainSmenudefWidgetContainer.php:158
+#: ../container/admin_mainSmenudefWidgetContainer.php:159
 #: ../container/admin_mainUserlistWidgetContainer.php:146
 msgid "Delete selected item?"
 msgstr "選択項目を削除しますか?"
 
-#: ../container/admin_mainMenudefWidgetContainer.php:166
-#: ../container/admin_mainSmenudefWidgetContainer.php:159
+#: ../container/admin_mainMenudefWidgetContainer.php:167
+#: ../container/admin_mainSmenudefWidgetContainer.php:160
 msgid "Menu Item List"
 msgstr "メニュー項目一覧"
 
-#: ../container/admin_mainMenudefWidgetContainer.php:169
+#: ../container/admin_mainMenudefWidgetContainer.php:170
 #: ../container/admin_mainOpelogWidgetContainer.php:203
-#: ../container/admin_mainSmenudefWidgetContainer.php:161
+#: ../container/admin_mainSmenudefWidgetContainer.php:162
 #: ../container/admin_mainUserlistWidgetContainer.php:159
 msgid "Edit"
 msgstr "編集"
 
-#: ../container/admin_mainMenudefWidgetContainer.php:177
+#: ../container/admin_mainMenudefWidgetContainer.php:178
 #: ../container/admin_mainPagedefWidgetContainer.php:122
-#: ../container/admin_mainSmenudefWidgetContainer.php:169
+#: ../container/admin_mainSmenudefWidgetContainer.php:170
 #: ../container/admin_mainTemplistWidgetContainer.php:465
 #: ../container/admin_mainWidgetlistWidgetContainer.php:517
 #: ../help/help_menudef.php:67 ../help/help_templist.php:59
@@ -1126,83 +1131,83 @@ msgstr "編集"
 msgid "Operation"
 msgstr "操作"
 
-#: ../container/admin_mainMenudefWidgetContainer.php:178
-#: ../container/admin_mainSmenudefWidgetContainer.php:170
+#: ../container/admin_mainMenudefWidgetContainer.php:179
+#: ../container/admin_mainSmenudefWidgetContainer.php:171
 msgid "Menu Layout"
 msgstr "メニューレイアウト"
 
-#: ../container/admin_mainMenudefWidgetContainer.php:179
-#: ../container/admin_mainSmenudefWidgetContainer.php:171
+#: ../container/admin_mainMenudefWidgetContainer.php:180
+#: ../container/admin_mainSmenudefWidgetContainer.php:172
 msgid "Menu items can be sorted by mouse drag and drop."
 msgstr "マウスドラッグで項目の表示順を変更できます"
 
-#: ../container/admin_mainMenudefWidgetContainer.php:180
+#: ../container/admin_mainMenudefWidgetContainer.php:181
 msgid "Menu Top"
 msgstr "メニュートップ"
 
-#: ../container/admin_mainMenudefWidgetContainer.php:181
+#: ../container/admin_mainMenudefWidgetContainer.php:182
 msgid "Open All"
 msgstr "すべて開く"
 
-#: ../container/admin_mainMenudefWidgetContainer.php:182
+#: ../container/admin_mainMenudefWidgetContainer.php:183
 msgid "Close All"
 msgstr "すべて閉じる"
 
-#: ../container/admin_mainMenudefWidgetContainer.php:245
+#: ../container/admin_mainMenudefWidgetContainer.php:246
 msgid "You are not allowed to delete menu item with child item."
 msgstr "子項目を持つメニュー項目は削除できません。"
 
-#: ../container/admin_mainMenudefWidgetContainer.php:256
-#: ../container/admin_mainMenudefWidgetContainer.php:499
-#: ../container/admin_mainSmenudefWidgetContainer.php:243
-#: ../container/admin_mainSmenudefWidgetContainer.php:434
+#: ../container/admin_mainMenudefWidgetContainer.php:257
+#: ../container/admin_mainMenudefWidgetContainer.php:500
+#: ../container/admin_mainSmenudefWidgetContainer.php:244
+#: ../container/admin_mainSmenudefWidgetContainer.php:435
 msgid "Menu item deleted."
 msgstr "データを削除しました"
 
-#: ../container/admin_mainMenudefWidgetContainer.php:259
-#: ../container/admin_mainMenudefWidgetContainer.php:502
-#: ../container/admin_mainSmenudefWidgetContainer.php:246
-#: ../container/admin_mainSmenudefWidgetContainer.php:437
+#: ../container/admin_mainMenudefWidgetContainer.php:260
+#: ../container/admin_mainMenudefWidgetContainer.php:503
+#: ../container/admin_mainSmenudefWidgetContainer.php:247
+#: ../container/admin_mainSmenudefWidgetContainer.php:438
 msgid "Failed in deleting menu item."
 msgstr "データ削除に失敗しました"
 
-#: ../container/admin_mainMenudefWidgetContainer.php:413
-#: ../container/admin_mainSmenudefWidgetContainer.php:349
+#: ../container/admin_mainMenudefWidgetContainer.php:414
+#: ../container/admin_mainSmenudefWidgetContainer.php:350
 msgid "Menu ID"
 msgstr "メニューID"
 
-#: ../container/admin_mainMenudefWidgetContainer.php:443
-#: ../container/admin_mainSmenudefWidgetContainer.php:378
+#: ../container/admin_mainMenudefWidgetContainer.php:444
+#: ../container/admin_mainSmenudefWidgetContainer.php:379
 msgid "Menu item added."
 msgstr "データを追加しました"
 
-#: ../container/admin_mainMenudefWidgetContainer.php:448
-#: ../container/admin_mainSmenudefWidgetContainer.php:384
+#: ../container/admin_mainMenudefWidgetContainer.php:449
+#: ../container/admin_mainSmenudefWidgetContainer.php:385
 msgid "Failed in adding menu item."
 msgstr "データ追加に失敗しました"
 
-#: ../container/admin_mainMenudefWidgetContainer.php:485
-#: ../container/admin_mainSmenudefWidgetContainer.php:420
+#: ../container/admin_mainMenudefWidgetContainer.php:486
+#: ../container/admin_mainSmenudefWidgetContainer.php:421
 msgid "Menu item updated."
 msgstr "データを更新しました"
 
-#: ../container/admin_mainMenudefWidgetContainer.php:490
-#: ../container/admin_mainSmenudefWidgetContainer.php:425
+#: ../container/admin_mainMenudefWidgetContainer.php:491
+#: ../container/admin_mainSmenudefWidgetContainer.php:426
 msgid "Failed in updating menu item."
 msgstr "データ更新に失敗しました"
 
-#: ../container/admin_mainMenudefWidgetContainer.php:767
-#: ../container/admin_mainSmenudefWidgetContainer.php:568
+#: ../container/admin_mainMenudefWidgetContainer.php:768
+#: ../container/admin_mainSmenudefWidgetContainer.php:569
 msgid "Self"
 msgstr "同"
 
-#: ../container/admin_mainMenudefWidgetContainer.php:770
-#: ../container/admin_mainSmenudefWidgetContainer.php:571
+#: ../container/admin_mainMenudefWidgetContainer.php:771
+#: ../container/admin_mainSmenudefWidgetContainer.php:572
 msgid "Other"
 msgstr "別"
 
-#: ../container/admin_mainMenudefWidgetContainer.php:816
-#: ../container/admin_mainSmenudefWidgetContainer.php:622
+#: ../container/admin_mainMenudefWidgetContainer.php:817
+#: ../container/admin_mainSmenudefWidgetContainer.php:623
 msgid "Edit Content"
 msgstr "コンテンツを編集"
 
@@ -1700,7 +1705,7 @@ msgid "Login Account"
 msgstr "ログインアカウント"
 
 #: ../container/admin_mainUserlistWidgetContainer.php:123
-#: ../container/admin_mainWidgetContainer.php:362 ../help/help_userlist.php:43
+#: ../container/admin_mainWidgetContainer.php:368 ../help/help_userlist.php:43
 msgid "Password"
 msgstr "パスワード"
 
@@ -1730,7 +1735,7 @@ msgstr "ユーザグループ"
 #: ../container/admin_mainUserlistWidgetContainer.php:156
 #: ../container/admin_mainUserlistWidgetContainer.php:306
 #: ../container/admin_mainUserlistWidgetContainer.php:374
-#: ../container/admin_mainWidgetContainer.php:363 ../help/help_userlist.php:51
+#: ../container/admin_mainWidgetContainer.php:369 ../help/help_userlist.php:51
 msgid "Email"
 msgstr "Eメール"
 
@@ -1798,24 +1803,24 @@ msgstr "データ追加に失敗しました"
 msgid "Limited"
 msgstr "制限あり"
 
-#: ../container/admin_mainWidgetContainer.php:282
+#: ../container/admin_mainWidgetContainer.php:287
 msgid "Can not access the page."
 msgstr "アクセスできません"
 
-#: ../container/admin_mainWidgetContainer.php:287
 #: ../container/admin_mainWidgetContainer.php:293
+#: ../container/admin_mainWidgetContainer.php:299
 msgid "Failed to login."
 msgstr "ログインに失敗しました"
 
-#: ../container/admin_mainWidgetContainer.php:296
+#: ../container/admin_mainWidgetContainer.php:302
 msgid "Password sent."
 msgstr "パスワードを送信しました"
 
-#: ../container/admin_mainWidgetContainer.php:360
+#: ../container/admin_mainWidgetContainer.php:366
 msgid "Send Password"
 msgstr "パスワード送信"
 
-#: ../container/admin_mainWidgetContainer.php:361
+#: ../container/admin_mainWidgetContainer.php:367
 msgid "Account"
 msgstr "アカウント"
 
@@ -2219,8 +2224,12 @@ msgid "Select items to edit or delete by using checkboxes."
 msgstr "編集や削除を行う項目を選択します。"
 
 #: ../help/help_menudef.php:44
-msgid "Definition name for menu item."
-msgstr "メニュー項目の名前です。"
+msgid ""
+"Definition name for menu item.<br />If 'Get Title' button is clicked, it is "
+"replaced with the content title on the URL to link."
+msgstr ""
+"メニュー項目の名前です。<br />「タイトル取得」ボタンを押すと、リンク先URLのコ"
+"ンテンツのタイトルを取得できます。"
 
 #: ../help/help_menudef.php:48
 msgid "Language for menu item."
@@ -2739,6 +2748,9 @@ msgstr ""
 "ウィジェットディレクトリを再読み込みして、一覧に表示されていないウィジェット"
 "を自動的にインストールします。"
 
+#~ msgid "Definition name for menu item."
+#~ msgstr "メニュー項目の名前です。"
+
 #~ msgid "Top"
 #~ msgstr "トップ"
 
index 90f8fa8..be6b1b3 100644 (file)
@@ -56,8 +56,39 @@ function createUrl()
 function setLinkUrl(url)
 {
        $('#item_url').val(url);
+       
+       // タイトル取得ボタン制御
+       if (url == ''){
+               $("#get_title_button").prop('disabled', true);
+       } else {
+               $("#get_title_button").prop('disabled', false);
+       }
+}
+// リンク先からタイトル取得
+function getTitle()
+{
+       var url = $('#item_url').val();
+       if (url != ''){
+               // Ajaxでタイトルを取得
+               m3_ajax_request('', 'task=linkinfo&act=gettitle&url=' + url, function(request, retcode, jsondata){              // 正常終了
+                       // 取得したタイトルを設定
+                       if (jsondata.title){
+                               if (jsondata.title != '') $('#item_name').val(jsondata.title);
+                       }
+               }, function(request){           // 異常終了
+                       alert('通信に失敗しました。');
+               });
+       }
 }
 $(function(){
+       // タイトル取得ボタン制御
+       var url = $('#item_url').val();
+       if (url == ''){
+               $("#get_title_button").prop('disabled', true);
+       } else {
+               $("#get_title_button").prop('disabled', false);
+       }
+       
        // CKEditorプラグイン直接実行
        m3LoadCKTools();
 });
@@ -90,7 +121,7 @@ $(function(){
                 <option value="{VALUE}" {SELECTED}>{NAME}</option>
                 </patTemplate:tmpl>
            </select>
-           <input type="text" name="item_name" value="{SEL_ITEM_NAME}" size="40" maxlength="40" />&nbsp;&nbsp;{LANG}<br />
+           <input type="text" id="item_name" name="item_name" value="{SEL_ITEM_NAME}" size="40" maxlength="40" /><input type="button" id="get_title_button" class="button" onclick="getTitle();" value="{_LC_LABEL_GET_TITLE}" {GET_TITLE_DISABLED} />&nbsp;&nbsp;{LANG}<br />
            <patTemplate:tmpl name="input_lang" visibility="hidden">
            <input type="text" name="item_name_{ID}" value="{VALUE}" size="40" maxlength="40" />&nbsp;&nbsp;{LANG}<br />
            </patTemplate:tmpl>
index 5aea3f4..7c364b2 100644 (file)
@@ -56,8 +56,39 @@ function createUrl()
 function setLinkUrl(url)
 {
        $('#item_url').val(url);
+       
+       // タイトル取得ボタン制御
+       if (url == ''){
+               $("#get_title_button").prop('disabled', true);
+       } else {
+               $("#get_title_button").prop('disabled', false);
+       }
+}
+// リンク先からタイトル取得
+function getTitle()
+{
+       var url = $('#item_url').val();
+       if (url != ''){
+               // Ajaxでタイトルを取得
+               m3_ajax_request('', 'task=linkinfo&act=gettitle&url=' + url, function(request, retcode, jsondata){              // 正常終了
+                       // 取得したタイトルを設定
+                       if (jsondata.title){
+                               if (jsondata.title != '') $('#item_name').val(jsondata.title);
+                       }
+               }, function(request){           // 異常終了
+                       alert('通信に失敗しました。');
+               });
+       }
 }
 $(function(){
+       // タイトル取得ボタン制御
+       var url = $('#item_url').val();
+       if (url == ''){
+               $("#get_title_button").prop('disabled', true);
+       } else {
+               $("#get_title_button").prop('disabled', false);
+       }
+       
        // CKEditorプラグイン直接実行
        m3LoadCKTools();
 });
@@ -89,7 +120,7 @@ $(function(){
                 <option value="{VALUE}" {SELECTED}>{NAME}</option>
                 </patTemplate:tmpl>
            </select>
-           <input type="text" name="item_name" value="{SEL_ITEM_NAME}" size="40" maxlength="40" />&nbsp;&nbsp;{LANG}<br />
+           <input type="text" id="item_name" name="item_name" value="{SEL_ITEM_NAME}" size="40" maxlength="40" /><input type="button" id="get_title_button" class="button" onclick="getTitle();" value="{_LC_LABEL_GET_TITLE}" {GET_TITLE_DISABLED} />&nbsp;&nbsp;{LANG}<br />
            <patTemplate:tmpl name="input_lang" visibility="hidden">
            <input type="text" name="item_name_{ID}" value="{VALUE}" size="40" maxlength="40" />&nbsp;&nbsp;{LANG}<br />
            </patTemplate:tmpl>