OSDN Git Service

管理画面カスタムウィザード更新。 v3.0.0
authornaoki hirata <naoki@magic3.org>
Sat, 3 Nov 2018 13:20:09 +0000 (22:20 +0900)
committernaoki hirata <naoki@magic3.org>
Sat, 3 Nov 2018 13:20:09 +0000 (22:20 +0900)
include/global.php
include/manager/pageManager.php
widgets/admin_main/include/container/admin_mainInitwizard_contentWidgetContainer.php
widgets/admin_main/include/container/admin_mainMainteBaseWidgetContainer.php
widgets/admin_main/include/db/admin_mainDb.php

index 951f41d..2e6c4ba 100644 (file)
@@ -251,14 +251,14 @@ define('M3_VIEW_TYPE_SEARCH',             'search');                              // 検索結果
 define('M3_VIEW_TYPE_COMMERCE',                'commerce');                    // Eコマース
 define('M3_VIEW_TYPE_CALENDAR',                'calendar');                    // カレンダー
 // コンテンツタイプ
-define('M3_VIEW_TYPE_MEMBER',          'member');                              // 会員情報
 define('M3_VIEW_TYPE_CONTENT',         'content');                             // 汎用コンテンツ
+define('M3_VIEW_TYPE_BLOG',                    'blog');                                // ブログ
 define('M3_VIEW_TYPE_PRODUCT',         'product');                             // 商品情報
 define('M3_VIEW_TYPE_BBS',                     'bbs');                                 // BBS
-define('M3_VIEW_TYPE_BLOG',                    'blog');                                // ブログ
 define('M3_VIEW_TYPE_WIKI',                    'wiki');                                // Wiki
 define('M3_VIEW_TYPE_EVENT',           'event');                               // イベント情報
 define('M3_VIEW_TYPE_PHOTO',           'photo');                               // フォトギャラリー
+define('M3_VIEW_TYPE_MEMBER',          'member');                              // 会員情報
 // 補助コンテンツ
 define('M3_VIEW_TYPE_NEWS',                    'news');                                // 新着情報
 define('M3_VIEW_TYPE_COMMENT',         'comment');                             // コメント
index cf2ee21..9a63bb8 100644 (file)
@@ -331,14 +331,14 @@ class PageManager extends Core
                
                // フロント画面で使用する主要コンテンツタイプ
                $this->mainContentTypeInfo       = array(
-                                                                                               array(  'name' => '会員情報',                                       'value' => M3_VIEW_TYPE_MEMBER),
                                                                                                array(  'name' => '汎用コンテンツ',                              'value' => M3_VIEW_TYPE_CONTENT),
+                                                                                               array(  'name' => 'ブログ',                                          'value' => M3_VIEW_TYPE_BLOG),
                                                                                                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_EVENT),
-                                                                                               array(  'name' => 'フォトギャラリー',                   'value' => M3_VIEW_TYPE_PHOTO)
+                                                                                               array(  'name' => 'フォトギャラリー',                   'value' => M3_VIEW_TYPE_PHOTO),
+                                                                                               array(  'name' => '会員情報',                                       'value' => M3_VIEW_TYPE_MEMBER)
                                                                                        );
                // フロント画面で使用する補助コンテンツタイプ(ページ属性に対応しない)
                $this->subContentTypeInfo        = array(       array(  'name' => '新着情報',                                       'value' => M3_VIEW_TYPE_NEWS),
index 35801e3..eeff2b9 100644 (file)
@@ -8,7 +8,7 @@
  *
  * @package    Magic3 Framework
  * @author     平田直毅(Naoki Hirata) <naoki@aplo.co.jp>
- * @copyright  Copyright 2006-2015 Magic3 Project.
+ * @copyright  Copyright 2006-2018 Magic3 Project.
  * @license    http://www.gnu.org/copyleft/gpl.html  GPL License
  * @version    SVN: $Id$
  * @link       http://www.magic3.org
@@ -81,6 +81,21 @@ class admin_mainInitwizard_contentWidgetContainer extends admin_mainInitwizardBa
                                        $itemValue = ($request->trimValueOf($itemName) == 'on') ? 1 : 0;
                                        $contentType = $listedItem[$i];
                                        
+                                       // ウィジェットカテゴリーメニューの表示制御。一旦非表示にする。
+                                       switch ($contentType){
+                                       case M3_VIEW_TYPE_BBS:                  // BBS
+                                       case M3_VIEW_TYPE_WIKI:                 // Wiki
+                                       case M3_VIEW_TYPE_EVENT:                        // イベント情報
+                                       case M3_VIEW_TYPE_PHOTO:                        // フォトギャラリー
+                                       case M3_VIEW_TYPE_MEMBER:                       // 会員情報
+                                               $this->_mainDb->updateWidgetCategoryVisible($contentType, false);
+                                               break;
+                                       case M3_VIEW_TYPE_PRODUCT:              // 製品
+                                       case M3_VIEW_TYPE_COMMERCE:                     // Eコマース
+                                               $this->_mainDb->updateWidgetCategoryVisible(M3_VIEW_TYPE_COMMERCE, false);
+                                               break;
+                                       }
+                                       
                                        // コンテンツの表示可否によってウィジェットを配置
                                        if ($itemValue){
                                                // 表示に変更された場合のみウィジェットを配置
@@ -109,6 +124,21 @@ class admin_mainInitwizard_contentWidgetContainer extends admin_mainInitwizardBa
                                                                $this->updatePageActive($pageSubId, true);      // ページ有効
                                                        }
                                                }
+                                               
+                                               // ウィジェットカテゴリーメニューの表示制御。チェックが入ったカテゴリーのみ表示させる。
+                                               switch ($contentType){
+                                               case M3_VIEW_TYPE_BBS:                  // BBS
+                                               case M3_VIEW_TYPE_WIKI:                 // Wiki
+                                               case M3_VIEW_TYPE_EVENT:                        // イベント情報
+                                               case M3_VIEW_TYPE_PHOTO:                        // フォトギャラリー
+                                               case M3_VIEW_TYPE_MEMBER:                       // 会員情報
+                                                       $this->_mainDb->updateWidgetCategoryVisible($contentType, true);
+                                                       break;
+                                               case M3_VIEW_TYPE_PRODUCT:              // 製品
+                                               case M3_VIEW_TYPE_COMMERCE:                     // Eコマース
+                                                       $this->_mainDb->updateWidgetCategoryVisible(M3_VIEW_TYPE_COMMERCE, true);
+                                                       break;
+                                               }
                                        } else {
                                                // 変更状況に関わらず処理を行う
                                                // 非選択のコンテンツタイプのウィジェットはページから削除
index aaa9bf7..a433519 100644 (file)
@@ -355,6 +355,7 @@ class admin_mainMainteBaseWidgetContainer extends admin_mainBaseWidgetContainer
                                                                                                'task'          => self::TASK_EDITMENU,
                                                                                                'url'           => '',
                                                                                                'tagid'         => '',
+                                                                                               'visible'       => false,                                       // 暫定非表示
                                                                                                'active'        => (
                                                                                                                                        $task == self::TASK_EDITMENU            // 管理メニュー編集
                                                                                                                                )
index 527ff34..291c3da 100644 (file)
@@ -586,6 +586,27 @@ class admin_mainDb extends BaseDb
                return $ret;
        }
        /**
+        * ウィジェットカテゴリーの表示状態を更新
+        *
+        * @param string $id            ウィジェットID
+        * @param bool   $vislble       表示状態
+        * @return                                      true = 正常、false=異常
+        */
+       function updateWidgetCategoryVisible($id, $vislble)
+       {
+               // トランザクションスタート
+               $this->startTransaction();
+
+               $queryStr  = 'UPDATE _widget_category ';
+               $queryStr .=   'SET wt_visible = ? ';
+               $queryStr .=   'WHERE wt_id = ?';
+               $ret = $this->execStatement($queryStr, array(intval($vislble), $id));
+               
+               // トランザクション終了
+               $ret = $this->endTransaction();
+               return $ret;
+       }
+       /**
         * フロント画面のアクセスポイントのリストを取得
         *
         * @param function $callback                    コールバック関数