OSDN Git Service

リンク用URL作成機能の汎用コンテンツ取得処理を更新。
authornaoki hirata <naoki@magic3.org>
Mon, 4 Nov 2013 10:36:17 +0000 (19:36 +0900)
committernaoki hirata <naoki@magic3.org>
Mon, 4 Nov 2013 10:36:17 +0000 (19:36 +0900)
include/sql/update/2013101024_to_2013110301.sql [new file with mode: 0644]
widgets/admin_main/include/container/admin_mainLinkinfoWidgetContainer.php
widgets/admin_main/include/db/admin_mainDb.php

diff --git a/include/sql/update/2013101024_to_2013110301.sql b/include/sql/update/2013101024_to_2013110301.sql
new file mode 100644 (file)
index 0000000..a9fae1d
--- /dev/null
@@ -0,0 +1,29 @@
+-- *
+-- * バージョンアップ用スクリプト
+-- *
+-- * PHP versions 5
+-- *
+-- * LICENSE: This source file is licensed under the terms of the GNU General Public License.
+-- *
+-- * @package    Magic3 Framework
+-- * @author     平田直毅(Naoki Hirata) <naoki@aplo.co.jp>
+-- * @copyright  Copyright 2006-2013 Magic3 Project.
+-- * @license    http://www.gnu.org/copyleft/gpl.html  GPL License
+-- * @version    SVN: $Id$
+-- * @link       http://www.magic3.org
+-- *
+-- --------------------------------------------------------------------------------------------------
+-- バージョンアップ用スクリプト
+-- --------------------------------------------------------------------------------------------------
+
+-- *** システムベーステーブル ***
+-- メニューIDマスター
+DELETE FROM _menu_id WHERE mn_id = 'm_main_menu';
+INSERT INTO _menu_id
+(mn_id,         mn_name,          mn_description, mn_device_type, mn_sort_order) VALUES
+('m_main_menu', 'メインメニュー(携帯用)', '',             1,              10);
+
+-- ウィジェット情報マスター
+ALTER TABLE _widgets ADD wd_content_info         VARCHAR(20)    DEFAULT ''                    NOT NULL;      -- コンテンツ情報
+
+-- *** システム標準テーブル ***
index 894f860..b322f88 100644 (file)
@@ -124,8 +124,10 @@ class admin_mainLinkinfoWidgetContainer extends admin_mainBaseWidgetContainer
                                                default:
                                                        $contentType = '';
                                                        break;
-                                               case 'm':                       // 携帯用
-                                                       $contentType = 'mobile';
+                                               case 'm':                       // 携帯用。コンテンツタイプが携帯専用とPC共通がある。
+                                                       $contentType = 'mobile';        // デフォルトの汎用コンテンツタイプ
+                                                       $contentTypeList = $this->getContentTypeList($accessPoint);
+                                                       if (count($contentTypeList) > 0) $contentType = $contentTypeList[0][2];
                                                        break;
                                                case 's':                       // スマートフォン用
                                                        $contentType = 'smartphone';
@@ -284,7 +286,9 @@ class admin_mainLinkinfoWidgetContainer extends admin_mainBaseWidgetContainer
                $contentType = $contentTypeArray[$i];
                
                for ($i = 0; $i < count($contentType); $i++){
-                       $contentTypeList[] = array($contentType[$i]['wd_type'], $contentType[$i]['ls_value']);
+                       $contentTitle = $this->getCurrentLangString($contentType[$i]['wd_content_name']);
+                       if (empty($contentTitle)) $contentTitle = $contentType[$i]['ls_value'];
+                       $contentTypeList[] = array($contentType[$i]['wd_type'], $contentTitle, $contentType[$i]['wd_content_info']);
                }
                return $contentTypeList;
        }
index 5d3755e..2e56322 100644 (file)
@@ -3229,7 +3229,7 @@ class admin_mainDb extends BaseDb
                $caseStr .= 'END AS contentno';
                $contentStr = rtrim($contentStr, ', ');
                
-               $queryStr  = 'SELECT DISTINCT pd_id, wd_id, wd_name, wd_type, wd_content_name, ls_value, ' . $caseStr . ' FROM _page_def ';
+               $queryStr  = 'SELECT DISTINCT pd_id, wd_id, wd_name, wd_type, wd_content_info, wd_content_name, ls_value, ' . $caseStr . ' FROM _page_def ';
                $queryStr .=   'LEFT JOIN _widgets ON pd_widget_id = wd_id AND wd_deleted = false ';
                $queryStr .=   'LEFT JOIN _page_id ON pd_sub_id = pg_id AND pg_type = 1 ';// ページサブID
                $queryStr .=   'LEFT JOIN _language_string ON wd_type = ls_id AND ls_type = 2 AND ls_language_id = ? '; // コンテンツ種別名
@@ -3239,9 +3239,9 @@ class admin_mainDb extends BaseDb
                $queryStr .=   'AND wd_deleted = false ';                       // ウィジェットは削除されていない
                $queryStr .=   'AND wd_active = true ';                         // 一般ユーザが実行可能かどうか
                $queryStr .=   'AND (pd_sub_id = \'\' OR pg_active = true) ';           // ページ共通ウィジェットか公開中のページ上のウィジェット
-               $queryStr .=   'AND wd_edit_content = true ';
-//             $queryStr .=   'AND wd_type in (' . $contentStr . ') ';
-               $queryStr .=   'AND wd_type != \'\' ';
+//             $queryStr .=   'AND wd_edit_content = true ';                   // ##### メインウィジェットに限定しない #####
+               $queryStr .=   'AND wd_type in (' . $contentStr . ') '; // ##### パラメータのコンテンツタイプに限定 #####
+//             $queryStr .=   'AND wd_type != \'\' ';
 //             $queryStr .=   'AND wd_use_instance_def = false ';              // インスタンス定義を使用しないウィジェットをメインコンテンツ編集ウィジェットとする
                $queryStr .= 'ORDER BY pageno, contentno';
                $retValue = $this->selectRecords($queryStr, array($langId, $setId), $rows);