OSDN Git Service

主要コンテンツタイプ情報の取得方法を修正。
authornaoki hirata <naoki@magic3.org>
Mon, 12 Jan 2015 11:21:40 +0000 (20:21 +0900)
committernaoki hirata <naoki@magic3.org>
Mon, 12 Jan 2015 11:21:40 +0000 (20:21 +0900)
include/addons/linkinfo/linkInfo.php
include/manager/pageManager.php
widgets/admin_main/include/container/admin_mainInitwizard_contentWidgetContainer.php
widgets/admin_menu4/include/container/admin_menu4WidgetContainer.php
widgets/comment/include/container/admin_commentCommentWidgetContainer.php
widgets/comment/include/container/admin_commentConfigWidgetContainer.php
widgets/default_news/include/container/admin_default_newsNewsWidgetContainer.php

index a3621f3..0925895 100644 (file)
@@ -8,7 +8,7 @@
  *
  * @package    Magic3 Framework
  * @author     平田直毅(Naoki Hirata) <naoki@aplo.co.jp>
- * @copyright  Copyright 2006-2014 Magic3 Project.
+ * @copyright  Copyright 2006-2015 Magic3 Project.
  * @license    http://www.gnu.org/copyleft/gpl.html  GPL License
  * @version    SVN: $Id$
  * @link       http://www.magic3.org
@@ -43,14 +43,15 @@ class linkInfo
                // DBオブジェクト作成
                $this->db = new linkInfoDb();
                
-               $this->contentTypeArray = array(        M3_VIEW_TYPE_CONTENT,                           // 汎用コンテンツ
+/*             $this->contentTypeArray = array(        M3_VIEW_TYPE_CONTENT,                           // 汎用コンテンツ
                                                                M3_VIEW_TYPE_PRODUCT,                           // 製品
                                                                M3_VIEW_TYPE_BBS,                                       // BBS
                                                                M3_VIEW_TYPE_BLOG,                              // ブログ
                                                                M3_VIEW_TYPE_WIKI,                              // wiki
                                                                M3_VIEW_TYPE_USER,                              // ユーザ作成コンテンツ
                                                                M3_VIEW_TYPE_EVENT,                             // イベント
-                                                               M3_VIEW_TYPE_PHOTO);                            // フォトギャラリー
+                                                               M3_VIEW_TYPE_PHOTO);                            // フォトギャラリー*/
+               $this->contentTypeArray = $gPageManager->getMainContentTypes();
                $this->langId = $gEnvManager->getDefaultLanguage();
                $this->accessPointType = array( array('', 'PC用「/」'),
                                                                                array('m', '携帯用「/m」'),
index e4c749e..b7663a8 100644 (file)
@@ -80,8 +80,8 @@ class PageManager extends Core
        private $currentPageInfo;                       // 現在のページのページ情報
        private $configWidgetInfo;                      // ウィジェット設定画面のウィジェットの情報
        private $contentType = '';                              // ページのコンテンツタイプ
-       private $mainContentType;                               // 一般画面で使用する主要コンテンツタイプ
-       private $mainFeatureType;                               // 一般画面で使用する主要機能タイプ
+       private $mainContentTypeInfo;                           // 一般画面で使用する主要コンテンツタイプ
+       private $mainFeatureTypeInfo;                           // 一般画面で使用する主要機能タイプ
        private $rssVersion;                                    // RSSバージョン
        private $rssChannel;                            // RSSチャンネルデータ
        private $selectedJQueryFilename;                // 使用対象のjQueryファイル
@@ -296,19 +296,19 @@ class PageManager extends Core
                $this->rssVersion = self::DEFAULT_RSS_VERSION;                                  // RSSバージョン
                
                // 一般画面で使用する主要コンテンツタイプ
-               $this->mainContentType   = array(       array(  'name' => '新着情報',                                       'value' => M3_VIEW_TYPE_NEWS),
-                                                                                       array(  'name' => '会員情報',                                       'value' => M3_VIEW_TYPE_MEMBER),
-                                                                                       array(  'name' => '汎用コンテンツ',                              'value' => M3_VIEW_TYPE_CONTENT),
-                                                                                       array(  'name' => '製品',                                             'value' => M3_VIEW_TYPE_PRODUCT),
-                                                                                       array(  'name' => 'BBS',                                                'value' => M3_VIEW_TYPE_BBS),
-                                                                                       array(  'name' => 'ブログ',                                          'value' => M3_VIEW_TYPE_BLOG),
-                                                                                       array(  'name' => 'Wiki',                                               'value' => M3_VIEW_TYPE_WIKI),
-                                                                                       array(  'name' => 'ユーザ作成コンテンツ',             'value' => M3_VIEW_TYPE_USER),
-                                                                                       array(  'name' => 'イベント',                                       'value' => M3_VIEW_TYPE_EVENT),
-                                                                                       array(  'name' => 'フォトギャラリー',                   'value' => M3_VIEW_TYPE_PHOTO));
+               $this->mainContentTypeInfo       = array(       array(  'name' => '新着情報',                                       'value' => M3_VIEW_TYPE_NEWS),
+                                                                                               array(  'name' => '会員情報',                                       'value' => M3_VIEW_TYPE_MEMBER),
+                                                                                               array(  'name' => '汎用コンテンツ',                              'value' => M3_VIEW_TYPE_CONTENT),
+                                                                                               array(  'name' => '製品',                                             'value' => M3_VIEW_TYPE_PRODUCT),
+                                                                                               array(  'name' => 'BBS',                                                'value' => M3_VIEW_TYPE_BBS),
+                                                                                               array(  'name' => 'ブログ',                                          'value' => M3_VIEW_TYPE_BLOG),
+                                                                                               array(  'name' => 'Wiki',                                               'value' => M3_VIEW_TYPE_WIKI),
+                                                                                               array(  'name' => 'ユーザ作成コンテンツ',             'value' => M3_VIEW_TYPE_USER),
+                                                                                               array(  'name' => 'イベント情報',                                 'value' => M3_VIEW_TYPE_EVENT),
+                                                                                               array(  'name' => 'フォトギャラリー',                   'value' => M3_VIEW_TYPE_PHOTO));
                // 一般画面で使用する主要機能タイプ(「ダッシュボード」は含まない)
-               $this->mainFeatureType   = array(       array(  'name' => '検索',                                             'value' => M3_VIEW_TYPE_SEARCH),
-                                                                                       array(  'name' => 'Eコマース',                                      'value' => M3_VIEW_TYPE_COMMERCE));
+               $this->mainFeatureTypeInfo       = array(       array(  'name' => '検索',                                             'value' => M3_VIEW_TYPE_SEARCH),
+                                                                                               array(  'name' => 'Eコマース',                                      'value' => M3_VIEW_TYPE_COMMERCE));
                                                                                        
                // URLパラメータ並び順
                $this->urlParamOrder = array(
@@ -981,22 +981,42 @@ class PageManager extends Core
                return $this->contentType;
        }
        /**
+        * 一般画面で使用する主要コンテンツタイプの情報取得
+        *
+        * @return array                        コンテンツタイプの情報の連想配列
+        */
+       function getMainContentTypeInfo()
+       {
+               return $this->mainContentTypeInfo;                              // 主要コンテンツタイプ
+       }
+       /**
         * 一般画面で使用する主要コンテンツタイプを取得
         *
         * @return array                        コンテンツタイプの配列
         */
-       function getMainContentType()
+       function getMainContentTypes()
+       {
+               // 「value」値のみ取得
+               return array_map(create_function('$a', 'return $a["value"];'), $this->mainContentTypeInfo);
+       }
+       /**
+        * 一般画面で使用する主要機能タイプ情報を取得
+        *
+        * @return array                        機能タイプの情報の連想配列
+        */
+       function getMainFeatureTypeInfo()
        {
-               return $this->mainContentType;                          // 主要コンテンツタイプ
+               return $this->mainFeatureTypeInfo;                              // 主要機能タイプ
        }
        /**
         * 一般画面で使用する主要機能タイプを取得
         *
         * @return array                        機能タイプの配列
         */
-       function getMainFeatureType()
+       function getMainFeatureTypes()
        {
-               return $this->mainFeatureType;                          // 主要機能タイプ
+               // 「value」値のみ取得
+               return array_map(create_function('$a', 'return $a["value"];'), $this->mainFeatureTypeInfo);
        }
        /**
         * 管理画面用のサブメニューバーの定義を設定
index 24c4c45..ca2af72 100644 (file)
@@ -8,7 +8,7 @@
  *
  * @package    Magic3 Framework
  * @author     平田直毅(Naoki Hirata) <naoki@aplo.co.jp>
- * @copyright  Copyright 2006-2014 Magic3 Project.
+ * @copyright  Copyright 2006-2015 Magic3 Project.
  * @license    http://www.gnu.org/copyleft/gpl.html  GPL License
  * @version    SVN: $Id$
  * @link       http://www.magic3.org
@@ -32,8 +32,8 @@ class admin_mainInitwizard_contentWidgetContainer extends admin_mainInitwizardBa
                // 親クラスを呼び出す
                parent::__construct();
                
-               $this->mainContentType  = $this->gPage->getMainContentType();                   // 主要コンテンツタイプ
-               $this->mainFeatureType  = $this->gPage->getMainFeatureType();                   // 主要機能タイプ
+               $this->mainContentType  = $this->gPage->getMainContentTypeInfo();                       // 主要コンテンツタイプ
+               $this->mainFeatureType  = $this->gPage->getMainFeatureTypeInfo();                       // 主要機能タイプ
                $this->pageIdArray              = $this->gEnv->getAllDefaultPageId();           // アクセスポイント
        }
        /**
@@ -221,16 +221,9 @@ class admin_mainInitwizard_contentWidgetContainer extends admin_mainInitwizardBa
                $selectedContentType = array();
                $menuItems = array(array(), array(), array());
 
-/*             $contentType = array(   M3_VIEW_TYPE_CONTENT,                           // 汎用コンテンツ
-                                                               M3_VIEW_TYPE_PRODUCT,                           // 製品
-                                                               M3_VIEW_TYPE_BBS,                                       // BBS
-                                                               M3_VIEW_TYPE_BLOG,                              // ブログ
-                                                               M3_VIEW_TYPE_WIKI,                              // Wiki
-                                                               M3_VIEW_TYPE_USER,                              // ユーザ作成コンテンツ
-                                                               M3_VIEW_TYPE_EVENT,                             // イベント
-                                                               M3_VIEW_TYPE_PHOTO);                            // フォトギャラリー*/
                // 主要コンテンツタイプと主要機能タイプを連結
-               $contentType = array_merge(array_map(create_function('$a', 'return $a["value"];'), $this->mainContentType), array_map(create_function('$a', 'return $a["value"];'), $this->mainFeatureType));
+//             $contentType = array_merge(array_map(create_function('$a', 'return $a["value"];'), $this->mainContentType), array_map(create_function('$a', 'return $a["value"];'), $this->mainFeatureType));
+               $contentType = array_merge($this->gPage->getMainContentTypes(), $this->gPage->getMainFeatureTypes());
                $ret = $this->_mainDb->getContentWidgetOnPage($this->langId, $this->pageIdArray, $contentType, $rows);
                if ($ret){
                        $widgetInfoRows = $rows;
index 22fa3a4..0d4d805 100644 (file)
@@ -521,14 +521,15 @@ class admin_menu4WidgetContainer extends BaseAdminWidgetContainer
        {
                $menuItems = array(array(), array(), array());
                $pageIdArray = array($this->gEnv->getDefaultPageId(), $this->gEnv->getDefaultMobilePageId(), $this->gEnv->getDefaultSmartphonePageId());
-               $contentType = array(   M3_VIEW_TYPE_CONTENT,                           // 汎用コンテンツ
+/*             $contentType = array(   M3_VIEW_TYPE_CONTENT,                           // 汎用コンテンツ
                                                                M3_VIEW_TYPE_PRODUCT,                           // 製品
                                                                M3_VIEW_TYPE_BBS,                                       // BBS
                                                                M3_VIEW_TYPE_BLOG,                              // ブログ
                                                                M3_VIEW_TYPE_WIKI,                              // Wiki
                                                                M3_VIEW_TYPE_USER,                              // ユーザ作成コンテンツ
                                                                M3_VIEW_TYPE_EVENT,                             // イベント
-                                                               M3_VIEW_TYPE_PHOTO);                            // フォトギャラリー
+                                                               M3_VIEW_TYPE_PHOTO);                            // フォトギャラリー*/
+               $contentType = $this->gPage->getMainContentTypes();
                $ret = $this->db->getEditWidgetOnPage($pageIdArray, $contentType, $rows);
                if ($ret){
                        $rowCount = count($rows);
@@ -591,6 +592,18 @@ class admin_menu4WidgetContainer extends BaseAdminWidgetContainer
         */
        function createContentMenu($deviceType, $isVisibleSite)
        {
+               static $mainContentTypeArray;
+               
+               if (!isset($mainContentTypeArray)){
+                       $mainContentTypeArray = array();
+                       $mainContentTypeInfo = $this->gPage->getMainContentTypeInfo();          // 主要コンテンツタイプ情報
+                       for ($i = 0; $i < count($mainContentTypeInfo); $i++){
+                               $value = $mainContentTypeInfo[$i]['value'];
+                               $name = $mainContentTypeInfo[$i]['name'];
+                               $mainContentTypeArray[$value] = $name;
+                       }
+               }
+
                $menuTag = '';
                $menu = $this->contentMenu[$deviceType];                // コンテンツ編集メニュー
                $subMenu = $this->subContentMenu[$deviceType];  // サブコンテンツ編集メニュー
@@ -631,7 +644,8 @@ class admin_menu4WidgetContainer extends BaseAdminWidgetContainer
                                if (empty($title)){
                                        // コンテンツ単位でタイトルを取得
                                        $contentType = $menu[$i]['wd_type'];
-                                       switch ($contentType){
+                                       $title = $mainContentTypeArray[$contentType];
+/*                                     switch ($contentType){
                                                case M3_VIEW_TYPE_CONTENT:                              // 汎用コンテンツ
                                                        $title = '汎用コンテンツ';
                                                        break;
@@ -659,7 +673,7 @@ class admin_menu4WidgetContainer extends BaseAdminWidgetContainer
                                                default:
                                                        $title = '';
                                                        break;
-                                       }
+                                       }*/
                                }
                                if (empty($title)) $title = $menu[$i]['wd_name'];               // コンテンツ名が取得できないときはウィジェット名を設定
                                if (empty($title)) continue;
index 06816c7..e4b21db 100644 (file)
@@ -41,7 +41,7 @@ class admin_commentCommentWidgetContainer extends admin_commentBaseWidgetContain
                parent::__construct();
                
                // 初期設定
-               $this->contentTypeArray = array_merge(array(array('name' => '[すべて]', 'value' => '')), $this->gPage->getMainContentType());// コンテンツタイプ取得
+               $this->contentTypeArray = array_merge(array(array('name' => '[すべて]', 'value' => '')), $this->gPage->getMainContentTypeInfo());// コンテンツタイプ取得
                $this->langId = $this->gEnv->getDefaultLanguage();
                $this->statusTypeArray = array( array(  'name' => '未承認',  'value' => '0'),
                                                                                array(  'name' => '非公開',  'value' => '1'),
index 59dbd2a..48720fa 100644 (file)
@@ -40,7 +40,7 @@ class admin_commentConfigWidgetContainer extends admin_commentBaseWidgetContaine
                parent::__construct();
                
                // 初期設定
-               $this->contentTypeArray = $this->gPage->getMainContentType();// コンテンツタイプ取得
+               $this->contentTypeArray = $this->gPage->getMainContentTypeInfo();// コンテンツタイプ取得
                $this->langId = $this->gEnv->getDefaultLanguage();
        }
        /**
index ebdef4e..643b8ab 100644 (file)
@@ -457,7 +457,7 @@ class admin_default_newsNewsWidgetContainer extends admin_default_newsBaseWidget
                $contentName = self::UNKNOWN_CONTENT;
                
                // コンテンツタイプ名取得
-               $mainContentType = $this->gPage->getMainContentType();
+               $mainContentType = $this->gPage->getMainContentTypeInfo();
                for ($i = 0; $i < count($mainContentType); $i++){
                        $contentTypeRow = $mainContentType[$i];
                        if ($contentTypeRow['value'] == $contentType){