private $wysiwygEditor; // 管理画面用WYSIWYGエディター
private $optionTemplateId; // 追加設定するテンプレートID
private $isContentGooglemaps; // コンテンツにGoogleマップが含むかどうか
+ private $useGooglemaps; // Googleマップを使用するかどうか
private $useBootstrap; // Bootstrapを使用するかどうか
private $isHtml5; // HTML5で出力するかどうか
const CONFIG_KEY_HEAD_TITLE_FORMAT = 'head_title_format'; // ヘッダ作成用フォーマット
const WIDGET_TITLE_START = '['; // ウィジェットのタイトルの括弧
const WIDGET_TITLE_END = ']'; // ウィジェットのタイトルの括弧
const DEFAULT_RSS_VERSION = '1.0'; // デフォルトのRSSのバージョン
+ const CF_ACCESS_IN_INTRANET = 'access_in_intranet'; // イントラネット運用かどうか
const CF_USE_LATEST_SCRIPT_LIB = 'dev_use_latest_script_lib'; // 最新のJavaScriptライブラリを使用するかどうか
const CF_GOOGLE_MAPS_KEY = 'google_maps_key'; // Googleマップ利用キー
const CF_CONFIG_WINDOW_OPEN_TYPE = 'config_window_open_type'; // ウィジェット設定画面のウィンドウ表示タイプ(0=別ウィンドウ、1=タブ)
const IWIDTET_CMD_CALC = 'calc'; // 計算
// Magic3用スクリプト
- const M3_ADMIN_SCRIPT_FILENAME = 'm3admin1.6.4.js'; // 管理機能用スクリプト(FCKEditor2.6.6、CKEditor4.0.1対応)
+ const M3_ADMIN_SCRIPT_FILENAME = 'm3admin1.6.5.js'; // 管理機能用スクリプト(FCKEditor2.6.6、CKEditor4.0.1対応)
const M3_ADMIN_WIDGET_SCRIPT_FILENAME = 'm3admin_widget1.5.3.js'; // 管理機能(ウィジェット操作)用スクリプト(Magic3 v1.15.0以降)
const M3_ADMIN_WIDGET_CSS_FILE = '/m3/widget.css'; // 管理機能(ウィジェット操作)用CSSファイル
const M3_STD_SCRIPT_FILENAME = 'm3std1.4.3.js'; // 一般、管理機能共通スクリプト
// システムDBオブジェクト取得
$this->db = $gInstanceManager->getSytemDbObject();
+ // 運用方法
+ $value = $gSystemManager->getSystemConfig(self::CF_ACCESS_IN_INTRANET); // イントラネット運用かどうか
+ if (empty($value)){ // インターネット運用
+ $this->useGooglemaps = true; // Googleマップを使用するかどうか
+ }
+
// 共通スクリプトファイル
// 「ルート/scripts」ディレクトリからの相対パスで指定する
$this->defaultScriptFiles = array(self::M3_STD_SCRIPT_FILENAME);
// 管理画面用ライブラリを追加
if ($cmd == M3_REQUEST_CMD_CONFIG_WIDGET){ // ウィジェット詳細設定画面のとき
$this->addAdminScript('', ScriptLibInfo::getWysiwygEditorLibId()); // WYSIWYGエディターを追加
- if ($this->wysiwygEditor == ScriptLibInfo::LIB_CKEDITOR){ // CKEditorの場合はGoogleマップライブラリを読み込む
+
+ // Googleマップライブラリの読み込み
+ if ($this->useGooglemaps && $this->wysiwygEditor == ScriptLibInfo::LIB_CKEDITOR){ // CKEditorの場合はGoogleマップライブラリを読み込む
$this->defaultAdminScriptFiles[] = ScriptLibInfo::getScript(ScriptLibInfo::LIB_GOOGLEMAPS);
}
} else if ($cmd == M3_REQUEST_CMD_SHOW_POSITION_WITH_WIDGET){ // 管理画面(ウィジェット付きポジション表示)のとき
$this->addScriptFile(self::M3_OPTION_SCRIPT_FILENAME); // Magic3のオプションライブラリ追加
$this->addScript('', ScriptLibInfo::LIB_JQUERY_CLUETIP);// HELP用スクリプト追加
- if ($this->wysiwygEditor == ScriptLibInfo::LIB_CKEDITOR){ // CKEditorの場合はGoogleマップライブラリを読み込む
+ // Googleマップライブラリの読み込み
+ if ($this->useGooglemaps && $this->wysiwygEditor == ScriptLibInfo::LIB_CKEDITOR){ // CKEditorの場合はGoogleマップライブラリを読み込む
$this->addScriptFile(ScriptLibInfo::getScript(ScriptLibInfo::LIB_GOOGLEMAPS));
}
}
}
}
} else { // 通常画面
- if ($this->isContentGooglemaps) $this->addScriptFile(ScriptLibInfo::getScript(ScriptLibInfo::LIB_GOOGLEMAPS)); // コンテンツにGoogleマップが含むかどうか
+ // Googleマップライブラリの読み込み
+ if ($this->useGooglemaps && $this->isContentGooglemaps) $this->addScriptFile(ScriptLibInfo::getScript(ScriptLibInfo::LIB_GOOGLEMAPS)); // コンテンツにGoogleマップが含むかどうか
$count = count($this->defaultScriptFiles);
for ($i = 0; $i < $count; $i++){
// WYSIWYGエディター
$replaceStr .= 'var M3_WYSIWYG_EDITOR = "' . $this->wysiwygEditor . '";' . M3_NL;
- // FCKEditor拡張プラグイン用の定義
- //$googleMapsKey = $this->gSystem->getSystemConfig(self::CF_GOOGLE_MAPS_KEY); // Googleマップ利用キー
- //if (!empty($googleMapsKey)) $replaceStr .= 'var M3_GOOGLE_MAPS_KEY="' . $googleMapsKey . '";' . M3_NL; // システムルートURL
-
+ // Googleマップライブラリの読み込み
+ if ($this->useGooglemaps){
+ $replaceStr .= 'var M3_USE_GOOGLEMAPS = true;' . M3_NL;
+ } else {
+ $replaceStr .= 'var M3_USE_GOOGLEMAPS = false;' . M3_NL;
+ }
+
if ($cmd == M3_REQUEST_CMD_SHOW_POSITION_WITH_WIDGET){ // ウィジェット付きポジション表示
$pageId = $gRequestManager->trimValueOf(M3_REQUEST_PARAM_DEF_PAGE_ID); // ページID
$pageSubId = $gRequestManager->trimValueOf(M3_REQUEST_PARAM_DEF_PAGE_SUB_ID);// ページサブID
--- /dev/null
+/*
+ * CKEditor(WYSIWYGエディター)の設定
+ *
+ * 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: ckconfig.js 6010 2013-05-19 11:38:31Z fishbone $
+ * @link http://www.magic3.org
+ */
+// スタイルメニューの定義
+CKEDITOR.stylesSet.add( 'default', [
+ /* Block Styles */
+
+ // These styles are already available in the "Format" combo ("format" plugin),
+ // so they are not needed here by default. You may enable them to avoid
+ // placing the "Format" combo in the toolbar, maintaining the same features.
+ /*
+ { name: 'Paragraph', element: 'p' },
+ { name: 'Heading 1', element: 'h1' },
+ { name: 'Heading 2', element: 'h2' },
+ { name: 'Heading 3', element: 'h3' },
+ { name: 'Heading 4', element: 'h4' },
+ { name: 'Heading 5', element: 'h5' },
+ { name: 'Heading 6', element: 'h6' },
+ { name: 'Preformatted Text',element: 'pre' },
+ { name: 'Address', element: 'address' },
+ */
+
+ { name: 'イタリックタイトル', element: 'h2', styles: { 'font-style': 'italic' } },
+ { name: 'サブタイトル', element: 'h3', styles: { 'color': '#aaa', 'font-style': 'italic' } },
+ {
+ name: 'グレーブロック',
+ element: 'div',
+ styles: {
+ padding: '5px 10px',
+ background: '#eee',
+ border: '1px solid #ccc'
+ }
+ },
+
+ /* Inline Styles */
+
+ // These are core styles available as toolbar buttons. You may opt enabling
+ // some of them in the Styles combo, removing them from the toolbar.
+ // (This requires the "stylescombo" plugin)
+ /*
+ { name: 'Strong', element: 'strong', overrides: 'b' },
+ { name: 'Emphasis', element: 'em' , overrides: 'i' },
+ { name: 'Underline', element: 'u' },
+ { name: 'Strikethrough', element: 'strike' },
+ { name: 'Subscript', element: 'sub' },
+ { name: 'Superscript', element: 'sup' },
+ */
+
+// { name: '黄マーカー(span)', element: 'span', styles: { 'background-color': 'Yellow' } },
+// { name: '緑マーカー(span)', element: 'span', styles: { 'background-color': 'Lime' } },
+
+ { name: '文字大(big)', element: 'big' },
+ { name: '文字小(small)', element: 'small' },
+
+// { name: 'コード(code)', element: 'code' },
+// { name: 'Keyboard Phrase', element: 'kbd' },
+// { name: 'Sample Text', element: 'samp' },
+// { name: 'Variable', element: 'var' },
+
+ { name: '削除文(del)', element: 'del' },
+ { name: '挿入文(ins)', element: 'ins' },
+
+ { name: '引用(cite)', element: 'cite' },
+ { name: '引用文(q)', element: 'q' },
+
+// { name: 'Language: RTL', element: 'span', attributes: { 'dir': 'rtl' } },
+// { name: 'Language: LTR', element: 'span', attributes: { 'dir': 'ltr' } },
+
+ /* Object Styles */
+
+ {
+ name: '画像左寄せ',
+ element: 'img',
+ attributes: { 'class': 'left' }
+ },
+
+ {
+ name: '画像右寄せ',
+ element: 'img',
+ attributes: { 'class': 'right' }
+ },
+
+ {
+ name: '簡易テーブル',
+ element: 'table',
+ attributes: {
+ cellpadding: '5',
+ cellspacing: '0',
+ border: '1',
+ bordercolor: '#ccc'
+ },
+ styles: {
+ 'border-collapse': 'collapse'
+ }
+ },
+
+ { name: '枠なしテーブル', element: 'table', styles: { 'border-style': 'hidden', 'background-color': '#E6E6FA' } }
+// { name: '四角リスト', element: 'ul', styles: { 'list-style-type': 'square' } }
+]);
+
+CKEDITOR.editorConfig = function( config ) {
+ // Define changes to default configuration here.
+ // For the complete reference:
+ // http://docs.ckeditor.com/#!/api/CKEDITOR.config
+ config.language = 'ja';
+ config.enterMode = CKEDITOR.ENTER_BR; // 改行をbrに変更
+ config.shiftEnterMode = CKEDITOR.ENTER_DIV;
+ config.autoParagraph = false;
+ config.fillEmptyBlocks = false; // 「 」が自動的に入るのを防ぐ
+ config.toolbarCanCollapse = true; // ツールバー表示制御
+
+ // ツールバーの設定
+ config.toolbar_Full = [
+ { name: 'tools', items: [ 'Maximize', 'ShowBlocks' ] },
+ { name: 'document', items: [ 'Source', 'Templates' ] },
+ { name: 'clipboard', items: [ 'Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', '-', 'Undo', 'Redo' ] },
+ { name: 'editing', items : [ 'Find','Replace','-','SelectAll' ] },
+ { name: 'insert', items: [ 'Image', 'Flash', /*'YouTube', 'Googlemaps',*/ 'Table', 'HorizontalRule' ] },
+ { name: 'colors', items : [ 'TextColor', 'BGColor' ] },
+ '/',
+ { name: 'basicstyles', items: [ 'Bold', 'Italic', 'Underline', 'Strike', '-', 'RemoveFormat' ] },
+ { name: 'paragraph', items: [ 'NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', /*'-', 'Blockquote', 'CreateDiv',*/ '-', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock' ] },
+ { name: 'links', items: [ 'Link', 'Unlink', 'Anchor' ] },
+ { name: 'styles', items: [ 'Styles', 'Format', 'FontSize' ] }
+// { name: 'others', items: [ '-' ] }
+// { name: 'about', items: [ 'About' ] }
+ ];
+ config.toolbar_Layout = [
+ { name: 'tools', items: [ 'Maximize', 'ShowBlocks' ] },
+ { name: 'document', items: [ 'Source' ] },
+ { name: 'clipboard', items: [ 'Undo', 'Redo' ] },
+ { name: 'basicstyles', items: [ 'Bold', 'Italic', 'Underline', 'Strike', '-', 'RemoveFormat' ] },
+ { name: 'paragraph', items: [ 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock' ] },
+ { name: 'styles', items: [ 'Styles', 'Format', 'FontSize' ] }
+ ];
+ config.stylesCombo_stylesSet = 'default';
+
+ // 追加プラグインの設定
+ config.extraPlugins = 'youtube,googlemaps';
+ config.removePlugins = 'iframe';
+ config.allowedContent = true; // ACF(Advanced Content Filter)を使用しない。SCRIPT,IFRAMEタグ等許可。
+// config.extraAllowedContent = 'iframe';
+// config.autoGrow_maxHeight = 800; // 指定サイズまで入力に合わせて拡大
+
+ // KCFinderの設定
+ config.filebrowserBrowseUrl = M3_ROOT_URL + '/scripts/kcfinder-2.51/browse.php?type=file';
+ config.filebrowserImageBrowseUrl = M3_ROOT_URL + '/scripts/kcfinder-2.51/browse.php?type=image';
+ //config.filebrowserImageBrowseUrl = M3_ROOT_URL + '/admin/index.php?task=filebrowser&openby=dialog&mode=image';
+ config.filebrowserFlashBrowseUrl = M3_ROOT_URL + '/scripts/kcfinder-2.51/browse.php?type=flash';
+ config.filebrowserUploadUrl = M3_ROOT_URL + '/scripts/kcfinder-2.51/upload.php?type=file';
+ config.filebrowserImageUploadUrl = M3_ROOT_URL + '/scripts/kcfinder-2.51/upload.php?type=image';
+ config.filebrowserFlashUploadUrl = M3_ROOT_URL + '/scripts/kcfinder-2.51/upload.php?type=flash';
+};
+CKEDITOR.on('dialogDefinition', function(ev){
+ var dialogName = ev.data.name;
+ var dialogDefinition = ev.data.definition;
+ var dialog = dialogDefinition.dialog;
+
+ if (dialogName == 'image' || dialogName == 'flash'){
+ dialogDefinition.removeContents('Upload'); // 「アップロード」タブ削除
+ }
+});
+CKEDITOR.on('instanceReady',function(){
+ m3AdjustParentWindow(); // フレームサイズ調整
+});
\ No newline at end of file
* @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: admin_mainConfigsysWidgetContainer.php 5966 2013-04-27 09:11:24Z fishbone $
+ * @version SVN: $Id$
* @link http://www.magic3.org
*/
require_once($gEnvManager->getCurrentWidgetContainerPath() . '/admin_mainConfigsystemBaseWidgetContainer.php');
const CF_SMARTPHONE_AUTO_REDIRECT = 'smartphone_auto_redirect'; // スマートフォンの自動遷移
const CF_SITE_SMARTPHONE_URL = 'site_smartphone_url'; // スマートフォン用サイトURL
const CF_SITE_MOBILE_URL = 'site_mobile_url'; // 携帯用サイトURL
+ const CF_ACCESS_IN_INTRANET = 'access_in_intranet'; // イントラネット運用
const CF_MULTI_DOMAIN = 'multi_domain'; // マルチドメイン運用
// const CF_USE_SITE_PC = 'use_site_pc'; // PC用サイト使用
// const CF_USE_SITE_SMARTPHONE = 'use_site_smartphone'; // スマートフォン用サイト使用
$sitePcInPublic = ($request->trimValueOf('item_site_pc_in_public') == 'on') ? 1 : 0; // PC用サイトの公開状況
$siteMobileInPublic = ($request->trimValueOf('item_site_mobile_in_public') == 'on') ? 1 : 0; // 携帯用サイトの公開状況
$siteSmartphoneInPublic = ($request->trimValueOf('item_site_smartphone_in_public') == 'on') ? 1 : 0; // スマートフォン用サイトの公開状況
+ $accessInIntranet = $request->trimCheckedValueOf('item_access_in_intranet'); // イントラネット運用
$multiDomain = ($request->trimValueOf('item_multi_domain') == 'on') ? 1 : 0;// マルチドメイン運用
$isActiveSitePc = ($request->trimValueOf('item_is_active_site_pc') == 'on') ? 1 : 0; // PC用サイト有効
$isActiveSiteSmartphone = ($request->trimValueOf('item_is_active_site_smartphone') == 'on') ? 1 : 0; // スマートフォン用サイト有効
if (!$this->db->updateSystemConfig(self::CF_SITE_SMARTPHONE_IN_PUBLIC, $siteSmartphoneInPublic)) $isErr = true;
}
if (!$isErr){
+ if (!$this->db->updateSystemConfig(self::CF_ACCESS_IN_INTRANET, $accessInIntranet)) $isErr = true;// イントラネット運用
+ }
+ if (!$isErr){
if (!$this->db->updateSystemConfig(self::CF_MULTI_DOMAIN, $multiDomain)) $isErr = true;// マルチドメイン運用
}
if (!$isErr){
$sitePcInPublic = $this->gSystem->sitePcInPublic(true/*再取得*/); // PC用サイトの公開状況
$siteMobileInPublic = $this->gSystem->siteMobileInPublic(true/*再取得*/); // 携帯用サイトの公開状況
$siteSmartphoneInPublic = $this->gSystem->siteSmartphoneInPublic(true/*再取得*/); // スマートフォン用サイトの公開状況
- $multiDomain = $this->db->getSystemConfig(self::CF_MULTI_DOMAIN);// マルチドメイン運用
-
+ $accessInIntranet = $this->db->getSystemConfig(self::CF_ACCESS_IN_INTRANET); // イントラネット運用
+ $multiDomain = $this->db->getSystemConfig(self::CF_MULTI_DOMAIN); // マルチドメイン運用
/* $isActiveSitePc = $this->db->getSystemConfig(self::CF_USE_SITE_PC); // PC用サイト使用
$isActiveSiteSmartphone = $this->db->getSystemConfig(self::CF_USE_SITE_SMARTPHONE); // スマートフォン用サイト使用
$isActiveSiteMobile = $this->db->getSystemConfig(self::CF_USE_SITE_MOBILE); // // 携帯用サイト使用
$sitePcInPublic = $this->gSystem->sitePcInPublic(true/*再取得*/); // PC用サイトの公開状況
$siteMobileInPublic = $this->gSystem->siteMobileInPublic(true/*再取得*/); // 携帯用サイトの公開状況
$siteSmartphoneInPublic = $this->gSystem->siteSmartphoneInPublic(true/*再取得*/); // スマートフォン用サイトの公開状況
+ $accessInIntranet = $this->db->getSystemConfig(self::CF_ACCESS_IN_INTRANET); // イントラネット運用
$multiDomain = $this->db->getSystemConfig(self::CF_MULTI_DOMAIN);// マルチドメイン運用
// $isActiveSitePc = $this->db->getSystemConfig(self::CF_USE_SITE_PC); // PC用サイト使用
// $isActiveSiteSmartphone = $this->db->getSystemConfig(self::CF_USE_SITE_SMARTPHONE); // スマートフォン用サイト使用
$checked = '';
if ($siteSmartphoneInPublic) $checked = 'checked';
$this->tmpl->addVar("show_site_smartphone_open", "site_smartphone_in_public", $checked);// スマートフォン用サイトの公開状況
+ $this->tmpl->addVar("_widget", "access_in_intranet", $this->convertToCheckedString($accessInIntranet));// イントラネット運用
$checked = '';
if ($multiDomain) $checked = 'checked';
$this->tmpl->addVar("_widget", "multi_domain", $checked);// マルチドメイン運用