OSDN Git Service

管理画面カスタムウィザード更新。
[magic3/magic3.git] / include / global.php
1 <?php
2 /**
3  * グローバル定義ファイル
4  *
5  * 機能:ユーザが編集不可のグローバル定義。共通クラスの取り込み用。
6  *
7  * PHP versions 5
8  *
9  * LICENSE: This source file is licensed under the terms of the GNU General Public License.
10  *
11  * @package    Magic3 Framework
12  * @author     平田直毅(Naoki Hirata) <naoki@aplo.co.jp>
13  * @copyright  Copyright 2006-2018 Magic3 Project.
14  * @license    http://www.gnu.org/copyleft/gpl.html  GPL License
15  * @version    Release 3.0.x SVN: $Id$
16  * @link       http://www.magic3.org
17  */
18 if (defined("M3_SYSTEM_DEFINE_INCLUDED")) return;
19 define("M3_SYSTEM_DEFINE_INCLUDED", true);
20
21 // ######### PHPバージョンチェック #########
22 if (version_compare(PHP_VERSION, '5.3.0') < 0) die("PHP version error: ver=" . PHP_VERSION . ". Magic3 can move above version 5.3.0.");
23 // ######### システム起動状況 #########
24 define('M3_SYSTEM',                     true);
25 define('M3_SYSTEM_DEMO',        false);         // システム起動モード、デモモードフラグ
26 define('M3_SYSTEM_DEBUG',       false);         // システム起動モード、デバッグモードフラグ
27 define('M3_SESSION_DB',         false);         // セッションの保存先にDBを使用するかどうか
28 // ######### システム処理モード #########
29 define('M3_DB_MULTIBYTE_SCRIPT',                false);         // マルチバイト対応でのSQLスクリプトファイルの読み込み
30 define('M3_DB_ERROR_OUTPUT_STATEMENT',  false);         // エラーメッセージにクエリー文字列を出力するかどうか
31 define('M3_PERMIT_REINSTALL',                   false);         // 再インストール許可するかどうか
32 define('M3_SESSION_SECURITY_CHECK',             true);          // セッションのセキュリティチェックをするかどうか
33
34 // ######### 出力の制御 #########
35 ini_set('display_errors', '1');         // コメントをはずすと画面にエラー出力する(以下はエラーレベルの設定)
36 if (version_compare(PHP_VERSION, '5.4.0') < 0){
37 error_reporting(E_ALL ^ E_NOTICE);                      // E_NOTICE 以外の全てのエラーを表示する(PHP5.3以下初期設定値)
38 } else if (version_compare(PHP_VERSION, '5.6.0') < 0){
39 error_reporting(E_ALL & ~E_STRICT & ~E_NOTICE); // E_STRICT,E_NOTICE 以外の全てのエラーを表示する(PHP5.4以上初期設定値)
40 } else if (version_compare(PHP_VERSION, '7.0.0') < 0){
41 error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED);
42 } else {                // PHP7以降はE_STRICTが廃止
43 //error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING ^ E_DEPRECATED);
44 error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING);
45 }
46 define('M3_SYSTEM_DEBUG_OUT', true);                    // デバッグ文出力を行うかどうか
47 define('M3_SYSTEM_REALTIME_ANALYTICS', false);  // 即時アクセス解析を行うかどうか
48
49 // ######### 別名定義 #########
50 define('M3_DS', '/');                           // ディレクトリセパレータ
51 define('M3_NL', "\n");                          // 改行
52 define('M3_TB', "\t");                          // タブ
53 define('M3_INDENT_SPACE', '    ');      // 字下げスペース
54 define('M3_ENCODING',   'UTF-8');       // 内部エンコーディング
55 define('M3_TITLE_BRACKET_START',        '「');                                 // タイトルを括弧表記する場合の開始
56 define('M3_TITLE_BRACKET_END',          '」');                                 // タイトルを括弧表記する場合の終了
57
58 // ########## システム関係 ##########
59 // システム基本情報
60 define('M3_SYSTEM_NAME',                        'Magic3');              // システム名称
61 define('M3_SYSTEM_VERSION',                     '3.0.0');               // システムのバージョン
62 define('M3_SYSTEM_RELEASE_DATE',        '2018/11/1');   // システムのリリース日付
63 define('M3_SYSTEM_ID',                          'M3');                  // コンポーネント識別用ID
64 define('M3_SYSTEM_DESCRIPTION',         'Magic3 is open source cms and web communication platform.');           // システムの説明
65 define('M3_SYSTEM_MIN_MEMORY',          '16M');                 // 最小メモリ使用量
66 define('M3_SYSTEM_DIR_PERMISSION',      0755);                          // ディレクトリアクセス権
67 define('M3_SYSTEM_FILE_PERMISSION',     0644);                          // ファイルアクセス権
68
69 // ディレクトリ定義
70 define('M3_SYSTEM_INCLUDE_PATH',        dirname(__FILE__));                                             // global.phpファイルのあるディレクトリ(基準ディレクトリ)
71 define('M3_SYSTEM_ROOT_PATH',           dirname(M3_SYSTEM_INCLUDE_PATH));               // システムのルートディレクトリ
72 define('M3_SYSTEM_LIB_PATH',            M3_SYSTEM_INCLUDE_PATH . '/lib');               // ライブラリパス
73 define('M3_SYSTEM_CONF_PATH',           M3_SYSTEM_INCLUDE_PATH . '/conf');              // 設定ファイル用パス
74 define('M3_SYSTEM_CORE_PATH',           M3_SYSTEM_INCLUDE_PATH . '/core');              // システムディレクトリパス
75 define('M3_SYSTEM_COMMON_PATH',         M3_SYSTEM_INCLUDE_PATH . '/common');    // システム共通ディレクトリパス
76 // ファイル、ディレクトリ名
77 define('M3_SYSTEM_ROOT_DIR_NAME',       basename(M3_SYSTEM_ROOT_PATH));                 // ルートディレクトリ名
78 define('M3_SYSTEM_ADMIN_DIR_NAME',      'admin');                                                               // システム管理ディレクトリ名
79 define('M3_DIR_NAME_INCLUDE',           'include');                                                             // プログラム格納(非公開)ディレクトリ名
80 define('M3_DIR_NAME_TEMPLATES',         'templates');                                                   // テンプレート格納ディレクトリ名
81 define('M3_DIR_NAME_WIDGETS',           'widgets');                                                             // ウィジェット格納ディレクトリ名
82 define('M3_DIR_NAME_SCRIPTS',           'scripts');                                                             // スクリプト格納ディレクトリ名
83 define('M3_DIR_NAME_RESOURCE',          'resource');                                                    // ユーザリソース格納ディレクトリ名
84 define('M3_DIR_NAME_CSS',                       'css');                                                                 // CSS格納ディレクトリ名
85 define('M3_DIR_NAME_LOCALE',            'locale');                                                              // ロケール情報格納ディレクトリ名
86 define('M3_DIR_NAME_TOOLS',                     'tools');                                                               // 管理ツール格納ディレクトリ名
87 define('M3_DIR_NAME_SERVER_TOOLS',      'stools');                                                              // サーバ管理ツール格納ディレクトリ名
88 define('M3_DIR_NAME_ADMIN',                     'admin');                                                               // 管理用ディレクトリ名
89 define('M3_DIR_NAME_MOBILE',            'm');                                                                   // 携帯用ディレクトリ名
90 define('M3_DIR_NAME_SMARTPHONE',        's');                                                                   // スマートフォン用ディレクトリ名
91 define('M3_DIR_NAME_HOME',                      'home');                                                                // 一般ユーザ用ディレクトリ格納ディレクトリ
92 define('M3_FILENAME_INDEX',                     'index.php');                                                   // デフォルトのアクセスポイントファイル名
93 define('M3_FILENAME_SERVER_CONNECTOR',          'connector.php');                               // デフォルトのサーバ接続用アクセスポイントファイル名
94 // Magic3専用タグ
95 define('M3_TAG_START',                          '[#');                                                                  // Magic3専用タグの開始
96 define('M3_TAG_END',                            '#]');                                                                  // Magic3専用タグの終了
97 define('M3_TAG_MACRO_ROOT_URL',         'M3_ROOT_URL');                                                 // アプリケーションのルートURLを示すマクロ
98 define('M3_TAG_MACRO_IMG_URL',          'M3_IMG_URL');                                                  // 画像URLを示すマクロ
99 define('M3_TAG_MACRO_LINK_URL',         'M3_LINK_URL');                                                 // リンク先URLを示すマクロ
100 define('M3_TAG_MACRO_WIDGET_URL',       'M3_WIDGET_URL');                                               // 個別のウィジェットのルートURLを示すマクロ
101 define('M3_TAG_MACRO_WIDGET_CSS_ID',    'M3_WIDGET_CSS_ID');                            // 個別のウィジェットのCSS用IDを示すマクロ
102 define('M3_TAG_MACRO_SEPARATOR',        'M3_$');                                                                // テキストデータセパレータ
103 define('M3_TAG_MACRO_SITE_KEY',         'SITE_');                                                               // サイト定義置換キー
104 define('M3_TAG_MACRO_CUSTOM_KEY',       'CUSTOM_KEY_');                                                 // 汎用置換キー
105 define('M3_TAG_MACRO_ITEM_KEY',         'ITEM_KEY_');                                                   // 汎用置換キー
106 define('M3_TAG_MACRO_CONTENT_KEY',      'CT_');                                                                 // コンテンツマクロ置換キー
107 define('M3_TAG_MACRO_COMMENT_KEY',      'CM_');                                                                 // コメントマクロ置換キー
108 define('M3_TAG_MACRO_USER_KEY',         'USER_');                                                               // ユーザ定義置換キー
109 define('M3_TAG_MACRO_DEFAULT',          'DEFAULT');                                                             // システムデフォルト値に置換
110 define('M3_TAG_MACRO_ITEM',                     'ITEM');                                                                // 項目置換キー
111 define('M3_TAG_MACRO_TITLE',            'TITLE');                                                               // タイトル置換キー
112 define('M3_TAG_MACRO_NOTITLE',          'NOTITLE');                                                             // タイトル置換キー(タイトルなしの場合)
113 define('M3_TAG_MACRO_BODY',                     'BODY');                                                                // 本文置換キー
114 define('M3_TAG_MACRO_RESULT',           'RESULT');                                                              // 結果置換キー
115 define('M3_TAG_MACRO_DATE',                     'DATE');                                                                // 日付置換キー
116 define('M3_TAG_MACRO_MESSAGE',          'MESSAGE');                                                             // メッセージ置換キー
117 define('M3_TAG_MACRO_MARK',                     'MARK');                                                                // マーク置換キー
118 define('M3_TAG_MACRO_IMAGE',            'IMAGE');                                                               // サムネール画像置換キー
119 define('M3_TAG_MACRO_AVATAR',           'AVATAR');                                                              // アバター置換キー
120 define('M3_TAG_MACRO_URL',                      'URL');                                                                 // URL置換キー
121 define('M3_TAG_MACRO_ACCOUNT',          'ACCOUNT');                                                             // アカウント置換キー
122 define('M3_TAG_MACRO_PASSWORD',         'PASSWORD');                                                    // パスワード置換キー
123 define('M3_TAG_MACRO_UPDATES',          'UPDATES');                                                             // 更新情報置換キー
124 define('M3_TAG_MACRO_FILES',            'FILES');                                                               // 添付ファイル置換キー
125 define('M3_TAG_MACRO_PAGES',            'PAGES');                                                               // ページリンク置換キー
126 define('M3_TAG_MACRO_LINKS',            'LINKS');                                                               // 関連リンク置換キー
127 define('M3_TAG_MACRO_CATEGORY',         'CATEGORY');                                                    // カテゴリーリンク置換キー
128 define('M3_TAG_MACRO_BLOG_LINK',        'BLOG_LINK');                                                   // ブログリンク置換キー
129 define('M3_TAG_MACRO_COMMENT_LINK',     'COMMENT_LINK');                                                // コメントリンク置換キー
130 define('M3_TAG_MACRO_DETAIL_LINK',      'DETAIL_LINK');                                                 // 詳細画面へのリンク置換キー
131 define('M3_TAG_MACRO_PERMALINK',        'PERMALINK');                                                   // パーマリンク置換キー
132 define('M3_TAG_MACRO_RATE',                     'RATE');                                                                // 評価機能置換キー
133 define('M3_TAG_MACRO_BUTTON',           'BUTTON');                                                              // ボタン置換キー
134 define('M3_TAG_MACRO_WIDGET',           'WIDGET');                                                              // ウィジェット埋め込みキー
135 define('M3_TAG_MACRO_TOOLBAR',          'TOOLBAR');                                                             // ツールバー置換キー
136 define('M3_TAG_MACRO_OPTIONAL',         'OPTIONAL');                                                    // 任意オプション置換キー
137 define('M3_TAG_MACRO_SITE_NAME',                'SITE_NAME');                                           // サイト情報置換キー(サイト名)
138 define('M3_TAG_MACRO_SITE_URL',                 'SITE_URL');                                            // サイト情報置換キー(URL)
139 define('M3_TAG_MACRO_SITE_DESCRIPTION', 'SITE_DESCRIPTION');                            // サイト情報置換キー(簡易説明)
140 define('M3_TAG_MACRO_SITE_IMAGE',               'SITE_IMAGE');                                          // サイト情報置換キー(画像)
141 define('M3_TAG_MACRO_CONTENT_BREAK',                    'CT_BREAK');                                    // コンテンツ置換キー(コンテンツ区切り)
142 define('M3_TAG_MACRO_CONTENT_ID',                               'CT_ID');                                               // コンテンツ置換キー(コンテンツID)
143 define('M3_TAG_MACRO_CONTENT_BLOG_ID',                  'CT_BLOG_ID');                                  // コンテンツ置換キー(ブログID)
144 define('M3_TAG_MACRO_CONTENT_NOW',                              'CT_NOW');                                              // コンテンツ置換キー(表示時日時)
145 define('M3_TAG_MACRO_CONTENT_DATE',                             'CT_DATE');                                             // コンテンツ置換キー(登録日)
146 define('M3_TAG_MACRO_CONTENT_TIME',                             'CT_TIME');                                             // コンテンツ置換キー(登録時)
147 define('M3_TAG_MACRO_CONTENT_CREATE_DT',                'CT_CREATE_DT');                                // コンテンツ置換キー(作成日時)
148 define('M3_TAG_MACRO_CONTENT_UPDATE_DT',                'CT_UPDATE_DT');                                // コンテンツ置換キー(更新日時)
149 define('M3_TAG_MACRO_CONTENT_REGIST_DT',                'CT_REGIST_DT');                                // コンテンツ置換キー(登録日時)
150 define('M3_TAG_MACRO_CONTENT_START_DT',                 'CT_START_DT');                                 // コンテンツ置換キー(公開開始日時)
151 define('M3_TAG_MACRO_CONTENT_END_DT',                   'CT_END_DT');                                   // コンテンツ置換キー(公開終了日時)
152 define('M3_TAG_MACRO_CONTENT_START_TIME',               'CT_START_TIME');                               // コンテンツ置換キー(公開開始時間)
153 define('M3_TAG_MACRO_CONTENT_END_TIME',                 'CT_END_TIME');                                 // コンテンツ置換キー(公開終了時間)
154 define('M3_TAG_MACRO_CONTENT_AUTHOR',                   'CT_AUTHOR');                                   // コンテンツ置換キー(著者)
155 define('M3_TAG_MACRO_CONTENT_TITLE',                    'CT_TITLE');                                    // コンテンツ置換キー(タイトル)
156 define('M3_TAG_MACRO_CONTENT_BLOG_TITLE',               'CT_BLOG_TITLE');                               // コンテンツ置換キー(ブログタイトル)
157 define('M3_TAG_MACRO_CONTENT_SUMMARY',                  'CT_SUMMARY');                                  // コンテンツ置換キー(概要)
158 define('M3_TAG_MACRO_CONTENT_DESCRIPTION',              'CT_DESCRIPTION');                              // コンテンツ置換キー(説明(テキストのみ))
159 define('M3_TAG_MACRO_CONTENT_URL',                              'CT_URL');                                              // コンテンツ置換キー(URL)
160 define('M3_TAG_MACRO_CONTENT_INFO_URL',                 'CT_INFO_URL');                                 // コンテンツ置換キー(その他の情報URL)
161 define('M3_TAG_MACRO_CONTENT_IMAGE',                    'CT_IMAGE');                                    // コンテンツ置換キー(画像)
162 define('M3_TAG_MACRO_CONTENT_PLACE',                    'CT_PLACE');                                    // コンテンツ置換キー(場所)
163 define('M3_TAG_MACRO_CONTENT_LOCATION',                 'CT_LOCATION');                                 // コンテンツ置換キー(緯度経度)
164 define('M3_TAG_MACRO_CONTENT_CONTACT',                  'CT_CONTACT');                                  // コンテンツ置換キー(連絡先)
165 define('M3_TAG_MACRO_CONTENT_CAMERA',                   'CT_CAMERA');                                   // コンテンツ置換キー(カメラ)
166 define('M3_TAG_MACRO_CONTENT_QUOTA',                    'CT_QUOTA');                                    // コンテンツ置換キー(定員)
167 define('M3_TAG_MACRO_CONTENT_ENTRY_COUNT',              'CT_ENTRY_COUNT');                              // コンテンツ置換キー(登録数)
168 define('M3_TAG_MACRO_CONTENT_VIEW_COUNT',               'CT_VIEW_COUNT');                               // コンテンツ置換キー(閲覧数)
169 define('M3_TAG_MACRO_CONTENT_CATEGORY',                 'CT_CATEGORY');                                 // コンテンツ置換キー(カテゴリー)
170 define('M3_TAG_MACRO_CONTENT_KEYWORD',                  'CT_KEYWORD');                                  // コンテンツ置換キー(検索キーワード)
171 define('M3_TAG_MACRO_CONTENT_MEMBER_NAME',              'CT_MEMBER_NAME');                              // コンテンツ置換キー(会員名)
172 define('M3_TAG_MACRO_CONTENT_MEMBER_ACCOUNT',   'CT_MEMBER_ACCOUNT');                   // コンテンツ置換キー(会員アカウント)
173 define('M3_TAG_MACRO_CONTENT_MEMBER_EMAIL',             'CT_MEMBER_EMAIL');                             // コンテンツ置換キー(会員Eメール)
174 define('M3_TAG_MACRO_COMMENT_DATE',                             'CM_DATE');                                             // コメント置換キー(登録日)
175 define('M3_TAG_MACRO_COMMENT_TIME',                             'CM_TIME');                                             // コメント置換キー(登録時)
176 define('M3_TAG_MACRO_COMMENT_AUTHOR',                   'CM_AUTHOR');                                   // コメント置換キー(著者)
177 define('M3_TAG_MACRO_DB_COLUMN',                                'DB_COLUMN');                                   // DBデータ置換キー(カラム値)
178
179 // 解析用
180 define('M3_PATTERN_TAG_MACRO',                          '/' . preg_quote(M3_TAG_START) . '([A-Z0-9_]+)\|?(.*?)' . preg_quote(M3_TAG_END) . '/u');                                                       // システムマクロパターン
181 define('M3_PATTERN_TAG_MACRO_USER_KEY',         '/' . preg_quote(M3_TAG_START . M3_TAG_MACRO_USER_KEY) . '([A-Z0-9_]+)\|?(.*?)' . preg_quote(M3_TAG_END) . '/u');       // ユーザ定義マクロパターン
182
183 // イベントフックタイプ
184 define('M3_EVENT_HOOK_TYPE_OPELOG',                     'opelog');                                              // 運用ログ
185 // イベントフック用パラメータ
186 define('M3_EVENT_HOOK_PARAM_CONTENT_TYPE',      'content_type');                                // コンテンツタイプ
187 define('M3_EVENT_HOOK_PARAM_CONTENT_ID',        'content_id');                                  // コンテンツID
188 define('M3_EVENT_HOOK_PARAM_UPDATE_DT',         'update_dt');                                   // 更新日時
189
190 // ID作成用
191 define('M3_CONTENT_PREVIEW_ID_SEPARATOR',       '-');                                                                   // プレビュー用のコンテンツID作成用セパレータ
192
193 // データ作成用
194 define('M3_USER_ID_SEPARATOR',                  ',');                                                                   // ユーザID区切り用セパレータ
195 define('M3_WIDGET_ID_SEPARATOR',                ',');                                                                   // ウィジェットIDと付加情報を連結
196 //define('M3_LANG_SEPARATOR',                           '|');                                                                   // 言語IDと内容を連結
197 define('M3_LANG_SEPARATOR',                             "\t");                                                                  // 言語IDと内容を連結
198 define('M3_MACRO_SEPARATOR',                    '|');                                                                   // マクロキーと値を連結(変更予定)
199 //define('M3_MACRO_SEPARATOR',                  "\t");                                                                  // マクロキーと値を連結
200 define('M3_MACRO_OPTION_SEPARATOR',             '|');                                                                   // マクロキーとオプションを連結
201 define('M3_USER_TYPE_OPTION_SEPARATOR', ';');                                                                   // ユーザタイプオプション用セパレータ
202
203 // デバイスタイプ
204 define('M3_DEVICE_TYPE_PC',                             0);             // PC
205 define('M3_DEVICE_TYPE_MOBILE',                 1);             // 携帯
206 define('M3_DEVICE_TYPE_SMARTPHONE',             2);             // スマートフォン
207 define('M3_DEVICE_TYPE_MAX_VALUE',              2);             // デバイスタイプの最大値
208
209 // テンプレートタイプ
210 define('M3_TEMPLATE_JOOMLA_10',                 0);             // Joomla!v1.0テンプレート
211 define('M3_TEMPLATE_JOOMLA_15',                 1);             // Joomla!v1.5テンプレート
212 define('M3_TEMPLATE_JOOMLA_25',                 2);             // Joomla!v2.5テンプレート
213 define('M3_TEMPLATE_BOOTSTRAP_30',              10);            // Bootstrap v3.0テンプレート
214 // テンプレート作成アプリケーションタイプ
215 define('M3_TEMPLATE_GENERATOR_ARTISTEER',       'artisteer');   // Artisteer
216 define('M3_TEMPLATE_GENERATOR_THEMLER',         'themler');             // Themler
217
218 // 描画出力タイプ
219 define('M3_RENDER_JOOMLA_OLD',          'joomla_old');          // Joomla! 1.0テンプレート
220 define('M3_RENDER_JOOMLA_NEW',          'joomla_new');          // Joomla! 1.5以上のテンプレート
221 define('M3_RENDER_BOOTSTRAP',           'bootstrap');           // Bootstrap 3.0テンプレート
222 define('M3_RENDER_WORDPRESS',           'wordpress');           // WordPressテンプレート
223         
224 // ファイル拡張子
225 define('M3_TEMPLATE_FILE_EXTENSION', '.tmpl.html');             // テンプレートファイルの拡張子(suffix)
226
227 // システムに関係するHTMLタグ名
228 define('M3_SYSTEM_TAG_CHANGE_TEMPLATE', '_sel_template');               // テンプレート選択用メニュー
229
230 // クッキー保存値
231 define('M3_COOKIE_CLIENT_ID',                   'CID');                         // クライアントID
232 define('M3_COOKIE_EXPIRE_CLIENT_ID',    360);                           // クライアントIDの保存期間(日)
233 define('M3_COOKIE_LANG',                                'LANG');                        // 言語
234 define('M3_COOKIE_CART_ID',                             'CARTID');                      // EコマースカートID
235 define('M3_COOKIE_DISP_ID',                             'DISPID');                      // クライアント画面設定ID
236 define('M3_COOKIE_AUTO_LOGIN',                  'LOGIN');                       // 自動ログインID
237 define('M3_COOKIE_ADMIN_WIDGET_TOOL',   'M3WIDGETTOOL');                        // (管理機能用)ウィジェットツール状態
238
239 // 表示データフォーマット
240 define('M3_VIEW_FORMAT_DATETIME',               'Y/m/d H:i:s');         // 日時
241 define('M3_VIEW_FORMAT_DATE',                   'Y/m/d');                       // 日付
242 define('M3_VIEW_FORMAT_TIME',                   'H:i:s');                       // 時間
243
244 // 機能別ページサブID
245 define('M3_PAGE_SUB_ID_PREFIX_LANDING_PAGE',    'lp_');         // ランディングページ用
246
247 // 表示データタイプ
248 // 機能タイプ
249 define('M3_VIEW_TYPE_DASHBOARD',        'dboard');                              // ダッシュボード
250 define('M3_VIEW_TYPE_SEARCH',           'search');                              // 検索結果
251 define('M3_VIEW_TYPE_COMMERCE',         'commerce');                    // Eコマース
252 define('M3_VIEW_TYPE_CALENDAR',         'calendar');                    // カレンダー
253 // コンテンツタイプ
254 define('M3_VIEW_TYPE_CONTENT',          'content');                             // 汎用コンテンツ
255 define('M3_VIEW_TYPE_BLOG',                     'blog');                                // ブログ
256 define('M3_VIEW_TYPE_PRODUCT',          'product');                             // 商品情報
257 define('M3_VIEW_TYPE_BBS',                      'bbs');                                 // BBS
258 define('M3_VIEW_TYPE_WIKI',                     'wiki');                                // Wiki
259 define('M3_VIEW_TYPE_EVENT',            'event');                               // イベント情報
260 define('M3_VIEW_TYPE_PHOTO',            'photo');                               // フォトギャラリー
261 define('M3_VIEW_TYPE_MEMBER',           'member');                              // 会員情報
262 // 補助コンテンツ
263 define('M3_VIEW_TYPE_NEWS',                     'news');                                // 新着情報
264 define('M3_VIEW_TYPE_COMMENT',          'comment');                             // コメント
265 define('M3_VIEW_TYPE_EVENTENTRY',       'evententry');                  // イベント予約
266 define('M3_VIEW_TYPE_BANNER',           'banner');                              // バナー
267 // ジョブタイプ
268 define('M3_JOB_TYPE_MAIL',                      'mail');                                // メール配信(会員情報に付属)
269
270 // すべての機能タイプ
271 $M3_ALL_FEATURE_TYPE    = array(        M3_VIEW_TYPE_DASHBOARD,                 // ダッシュボード
272                                                                         M3_VIEW_TYPE_SEARCH,                    // 検索結果
273                                                                         M3_VIEW_TYPE_COMMERCE,                  // Eコマース
274                                                                         M3_VIEW_TYPE_CALENDAR);                 // カレンダー
275 // すべてのコンテンツタイプ
276 $M3_ALL_CONTENT_TYPE    = array(        M3_VIEW_TYPE_NEWS,                              // 新着情報
277                                                                         M3_VIEW_TYPE_MEMBER,                    // 会員情報
278                                                                         M3_VIEW_TYPE_CONTENT,                   // 汎用コンテンツ
279                                                                         M3_VIEW_TYPE_PRODUCT,                   // 商品情報
280                                                                         M3_VIEW_TYPE_BBS,                               // BBS
281                                                                         M3_VIEW_TYPE_BLOG,                              // ブログ
282                                                                         M3_VIEW_TYPE_WIKI,                              // Wiki
283                                                                         M3_VIEW_TYPE_EVENT,                             // イベント情報
284                                                                         M3_VIEW_TYPE_EVENTENTRY,                // イベント予約
285                                                                         M3_VIEW_TYPE_PHOTO);                    // フォトギャラリー
286
287 // コンテンツ取得用キー
288 define('M3_CONTENT_KEY_MAINTENANCE',    'MAINTENANCE');                         // メンテナンス画面用
289 define('M3_CONTENT_KEY_ACCESS_DENY',    'ACCESS_DENY');                         // アクセス不可画面用
290 define('M3_CONTENT_KEY_PAGE_NOT_FOUND', 'PAGE_NOT_FOUND');                              // ページが見つからない画面用
291
292 // ウィジェットタイプ
293 define('M3_WIDGET_TYPE_MENU',   'menu');                                // メニュー
294
295 // 作業用
296 define('M3_SYSTEM_WORK_DIR_PATH',                               '/tmp');                        // 作業用ディレクトリ
297 define('M3_SYSTEM_WORK_UPLOAD_FILENAME_HEAD',   'm3_upload_');          // アップロードファイル一時退避用ファイル名ヘッダ
298 define('M3_SYSTEM_WORK_DOWNLOAD_FILENAME_HEAD', 'm3_download_');        // ダウンロードファイル一時退避用ファイル名ヘッダ
299 define('M3_SYSTEM_WORK_BACKUP_FILENAME_HEAD',   'm3_backup_');          // バックアップファイル一時退避用ファイル名ヘッダ
300 define('M3_SYSTEM_WORK_DIRNAME_HEAD',                   'm3_tmp_');                     // 一時ディレクトリ名ヘッダ
301
302 // ######### DB定義 ###########
303 define('M3_DB_PGSQL_PREFIX',    'pgsql_');                              // DB区別用プレフィクス
304 define('M3_DB_MYSQL_PREFIX',    'mysql_');                              // DB区別用プレフィクス
305 define('M3_DB_TYPE_PGSQL',              'pgsql');                               // DB種別(PostgreSQL)
306 define('M3_DB_TYPE_MYSQL',              'mysql');                               // DB種別(MySQL)
307 define('M3_TIMESTAMP_INIT_VALUE_MYSQL',         '0000-00-00 00:00:00'); // Timestamp型データの初期化値
308 define('M3_TIMESTAMP_INIT_VALUE_PGSQL',         '0001-01-01 00:00:00'); // Timestamp型データの初期化値
309 define('M3_DATE_INIT_VALUE_MYSQL',                      '0000-00-00');                  // Date型データの初期化値
310 define('M3_DATE_INIT_VALUE_PGSQL',                      '0001-01-01');                  // Date型データの初期化値
311
312 // DBフィールド定義
313 define('M3_TB_FIELD_SYSTEM_NAME',               'system_name');                         // システム名称
314 define('M3_TB_FIELD_SYSTEM_VERSION',    'system_version');                      // システムバージョン
315 define('M3_TB_FIELD_DB_VERSION',                'db_version');                          // DBバージョン
316 define('M3_TB_FIELD_DB_UPDATE_DT',              'db_update_dt');                                // DB更新日時
317 // HTMLヘッダに出力する項目
318 define('M3_TB_FIELD_SITE_TITLE',                'head_title');                          // サイトのタイトル
319 define('M3_TB_FIELD_SITE_DESCRIPTION',  'head_description');            // サイトの説明
320 define('M3_TB_FIELD_SITE_KEYWORDS',             'head_keywords');                       // 検索エンジン用キーワード
321 define('M3_TB_FIELD_SITE_ROBOTS',               'head_robots');                         // 検索ロボットへの指示
322 // サイト定義
323 define('M3_TB_FIELD_SITE_NAME',                 'site_name');                           // サイト名称
324 define('M3_TB_FIELD_SITE_SLOGAN',               'site_slogan');                         // サイトスローガン
325 define('M3_TB_FIELD_SITE_OWNER',                'site_owner');                          // サイト所有者
326 define('M3_TB_FIELD_SITE_COPYRIGHT',    'site_copyright');                      // サイトコピーライト
327 define('M3_TB_FIELD_SITE_EMAIL',                'site_email');                          // サイトEメール
328
329 // ######### HTTPリクエストパラメータ ###########
330 // キー
331 define('M3_REQUEST_PARAM_PAGE_SUB_ID',                  'sub');                         // ページサブID
332 define('M3_REQUEST_PARAM_PAGE_CONTENT_ID',              'id');                          // ページコンテンツID
333 define('M3_REQUEST_PARAM_WIDGET_ID',                            'widget');                      // ウィジェットID
334 define('M3_REQUEST_PARAM_TEMPLATE_ID',                          'template');            // テンプレートID
335 define('M3_REQUEST_PARAM_URL',                                          'url');                         // リンク先等のURL
336 define('M3_REQUEST_PARAM_STAMP',                                        'stamp');                       // 公開発行ID
337 define('M3_REQUEST_PARAM_OPTION',                                       'opt');                         // 通信オプション
338 define('M3_REQUEST_PARAM_OPERATION_COMMAND',            'cmd');                         // 実行処理
339 define('M3_REQUEST_PARAM_OPERATION_WIKI_COMMAND',       'wcmd');                        // Wikiコマンド実行
340 define('M3_REQUEST_PARAM_OPERATION_TASK',                       'task');                        // 画面指定用タスク
341 define('M3_REQUEST_PARAM_OPERATION_ANCHOR',                     'anchor');                      // 画面指定用アンカー
342 define('M3_REQUEST_PARAM_OPERATION_ACT',                        'act');                         // クライアントからの実行処理
343 define('M3_REQUEST_PARAM_OPERATION_LANG',                       'lang');                        // 言語指定表示
344 define('M3_REQUEST_PARAM_SERIAL_NO',                            'serial');                      // シリアル番号
345 define('M3_REQUEST_PARAM_CONFIG_ID',                            'config');                      // 定義ID
346 define('M3_REQUEST_PARAM_PAGE_NO',                              'page');                        // ページ番号
347 define('M3_REQUEST_PARAM_LIST_NO',                              'list');                        // 一覧番号
348 define('M3_REQUEST_PARAM_ITEM_NO',                              'no');                          // 項目番号
349 define('M3_REQUEST_PARAM_OPERATION_TODO',               'todo');                        // 指定ウィジェットに実行させる処理
350 define('M3_REQUEST_PARAM_FROM',                                         'from');                        // メッセージの送信元ウィジェットID。遷移元画面。
351 define('M3_REQUEST_PARAM_VIEW_STYLE',                           'style');                       // 表示スタイル
352 define('M3_REQUEST_PARAM_FORWARD',                                      'forward');                     // 画面遷移用パラメータ
353 define('M3_REQUEST_PARAM_OPEN_BY',                                      'openby');                      // ウィンドウの開き方
354 define('M3_REQUEST_PARAM_SHOW_HEADER',                          'head');                        // ヘッダ部表示制御
355 define('M3_REQUEST_PARAM_SHOW_FOOTER',                          'foot');                        // フッタ部表示制御
356 define('M3_REQUEST_PARAM_SHOW_MENU',                            'menu');                        // メニュー部表示制御
357 define('M3_REQUEST_PARAM_KEYWORD',                                      'keyword');                     // 検索キーワード
358 define('M3_REQUEST_PARAM_HISTORY',                                      'history');                     // 履歴インデックスNo
359 define('M3_REQUEST_PARAM_DEF_PAGE_ID',                  '_page');                       // ページID(画面編集用)
360 define('M3_REQUEST_PARAM_DEF_PAGE_SUB_ID',              '_sub');                        // ページサブID(画面編集用)
361 define('M3_REQUEST_PARAM_PAGE_DEF_SERIAL',                      '_defserial');          // ページ定義のレコードシリアル番号(設定画面起動時)
362 define('M3_REQUEST_PARAM_PAGE_DEF_CONFIG_ID',           '_defconfig');          // ページ定義のウィジェット定義ID(設定画面起動時)
363 define('M3_REQUEST_PARAM_FORM_ID',                                      '_formid');                     // フォーム識別用
364 define('M3_REQUEST_PARAM_TOKEN',                                        '_token');                      // POSTデータトークン認証用
365 define('M3_REQUEST_PARAM_BACK_URL',                                     '_backurl');            // 戻り先URL
366 define('M3_REQUEST_PARAM_BACKUP_URL',                           '_backupurl');          // URL退避用(画面編集時)
367 define('M3_REQUEST_PARAM_SERVER',                                       '_server');                     // サーバ指定
368 define('M3_REQUEST_PARAM_USER_ID',                              'userid');                      // ユーザID
369 define('M3_REQUEST_PARAM_FILE_ID',                              'fileid');                      // ファイルID
370 define('M3_REQUEST_PARAM_CATEGORY_ID',                  'categoryid');          // カテゴリID
371 define('M3_REQUEST_PARAM_YEAR',                                 'year');                        // 年
372 define('M3_REQUEST_PARAM_MONTH',                                'month');                       // 月
373 define('M3_REQUEST_PARAM_DAY',                                  'day');                         // 日
374 define('M3_REQUEST_PARAM_WIDTH',                                'width');                       // 幅
375 define('M3_REQUEST_PARAM_HEIGHT',                               'height');                      // 高さ
376 define('M3_REQUEST_PARAM_COMMENT_ID',                           'commentid');           // コメント識別用ID
377 define('M3_REQUEST_PARAM_PLACE_ID',                             'placeid');                     // 場所識別用ID
378 define('M3_REQUEST_PARAM_CONTENT_ID',                           'contentid');           // 汎用コンテンツID
379 define('M3_REQUEST_PARAM_CONTENT_ID_SHORT',             'cid');                         // 汎用コンテンツID(略式)
380 define('M3_REQUEST_PARAM_PRODUCT_ID',                           'productid');           // 製品ID
381 define('M3_REQUEST_PARAM_PRODUCT_ID_SHORT',             'pid');                         // 製品ID(略式)
382 define('M3_REQUEST_PARAM_BLOG_ID',                              'blogid');                      // ブログID
383 define('M3_REQUEST_PARAM_BLOG_ID_SHORT',                'bid');                         // ブログID(略式)
384 define('M3_REQUEST_PARAM_BLOG_ENTRY_ID',                'entryid');                     // ブログ記事ID
385 define('M3_REQUEST_PARAM_BLOG_ENTRY_ID_SHORT',      'eid');                             // ブログ記事ID(略式)
386 define('M3_REQUEST_PARAM_BBS_ID',                               'bbsid');                       // 掲示板投稿記事ID
387 define('M3_REQUEST_PARAM_BBS_ID_SHORT',                 'sid');                         // 掲示板投稿記事ID(略式)
388 define('M3_REQUEST_PARAM_BBS_THREAD_ID',                'threadid');            // 掲示板投稿スレッドID
389 define('M3_REQUEST_PARAM_BBS_THREAD_ID_SHORT',      'tid');                             // 掲示板投稿スレッドID(略式)
390 define('M3_REQUEST_PARAM_EVENT_ID',                             'eventid');                     // イベントID
391 define('M3_REQUEST_PARAM_EVENT_ID_SHORT',               'vid');                         // イベントID(略式)
392 define('M3_REQUEST_PARAM_PHOTO_ID',                             'photoid');                     // 画像ID
393 define('M3_REQUEST_PARAM_PHOTO_ID_SHORT',               'hid');                         // 画像ID(略式)
394
395 // ######### HTTPレスポンスパラメータ ###########
396 define('M3_RESPONSE_PARAM_STATUS',                              'status');                      // 処理実行結果
397
398 // 値
399 // 実行オペレーション
400 define('M3_REQUEST_CMD_INIT_DB',                                'initdb');                              // DB初期作成
401 define('M3_REQUEST_CMD_SHOW_POSITION',                  'showposition');                // ウィジェット組み込み位置を表示
402 define('M3_REQUEST_CMD_SHOW_NO_POSITION',               'shownoposition');              // ウィジェット組み込み位置なしで表示
403 define('M3_REQUEST_CMD_SHOW_POSITION_WITH_WIDGET',  'showpositionwithwidget');          // ウィジェット組み込み位置を表示(ウィジェット込み)
404 define('M3_REQUEST_CMD_GET_WIDGET_INFO',                        'getwidgetinfo');               // ウィジェット各種情報取得(AJAX用)
405 define('M3_REQUEST_CMD_SHOW_PHPINFO',                           'showphpinfo');                 // phpinfo()を表示
406 define('M3_REQUEST_CMD_FIND_WIDGET',                            'findwidget');                  // ウィジェットを検索し、前面表示
407 define('M3_REQUEST_CMD_SHOW_WIDGET',                            'showwidget');                  // ウィジェット単体表示
408 define('M3_REQUEST_CMD_DO_WIDGET',                              'dowidget');                    // ウィジェット単体オペレーション
409 define('M3_REQUEST_CMD_CONFIG_WIDGET',                  'configwidget');                // ウィジェットの設定
410 define('M3_REQUEST_CMD_CONFIG_TEMPLATE',                'configtemplate');              // テンプレートの設定
411 define('M3_REQUEST_CMD_PREVIEW',                                'preview');                             // サイトのプレビューを表示
412 define('M3_REQUEST_CMD_LOGIN',                                  'login');                               // ログイン
413 define('M3_REQUEST_CMD_LOGOUT',                                 'logout');                              // ログアウト
414 define('M3_REQUEST_CMD_CHANGE_TEMPLATE',                        'changetemplate');              // テンプレートの変更
415 define('M3_REQUEST_CMD_RSS',                                            'rss');                                 // RSS配信
416 define('M3_REQUEST_CMD_CSS',                                            'css');                                 // CSS生成
417 // 共通
418 define('M3_REQUEST_VALUE_ON',                                           'on');                                  // on値
419 define('M3_REQUEST_VALUE_OFF',                                          'off');                                 // off値
420 // セパレータ
421 define('M3_TODO_SEPARATOR',                                                     ';');                                   // TODO用セパレータ
422
423 // ######### セッション保存パラメータ ###########
424 define('M3_SESSION_CURRENT_TEMPLATE',           '_current_template');                   // 現在表示中のテンプレート
425 define('M3_SESSION_USER_INFO',                  '_user_info');                                  // 現在ログイン中のユーザ情報
426 define('M3_SESSION_POST_TICKET',                '_ticket');                                             // POSTデータ確認用
427 define('M3_SESSION_POST_TOKEN',                 '_token');                                              // POSTデータトークン認証用
428 define('M3_SESSION_WIDGET',                             '_widget_');                                    // 各ウィジェット用(+ウィジェットID)
429 define('M3_SESSION_USER_ENV_WIDGET',            '_user_env_widget:');                   // ユーザ環境マネージャーのウィジェット用パラメータ
430 define('M3_SESSION_ACCESS_KEY',                 '_access_key:');                                // アクセス制御キー
431 define('M3_SESSION_CODE',                               '_session_code');                               // セッションセキュリティチェック用ブラウザコード
432 define('M3_SESSION_CLIENT_IP',                  '_session_client_ip');                  // セッションセキュリティチェック用ブラウザIP
433 define('M3_SESSION_USER_ID',                            '_session_user_id');                    // 現在ログイン中のユーザID(Nodejs連携用)
434 // Magic3以外のセッション
435 define('M3_WC_SESSION',                                 'woocommerce_session');                 // WooCommerce用
436
437 // ######### システムの定義 ###########
438 define('M3_HTML_CHARSET',       'utf-8');                               // キャラクターセット
439 define('M3_TIMEZONE',           'Asia/Tokyo');                  // タイムゾーン
440
441 // ######### サイト定義の読み込み ###########
442 require_once(dirname(__FILE__) . '/siteDef.php');
443
444 // ######### 時刻設定 ###########
445 define('M3_MTIME', microtime(true));                                    // 現在のマイクロ秒タイムスタンプ
446
447 // ######### PHPの設定 ###########
448 if (version_compare(PHP_VERSION, '5.3.0') < 0){
449         set_magic_quotes_runtime(0);
450 }
451 date_default_timezone_set(M3_TIMEZONE); // デフォルトタイムゾーンの設定
452
453 // ######### グローバル変数の作成 ###########
454 $HELP = array();                        // ヘルプ文字列
455 $TABLE_FIELDS = array();        // テーブルフィールド名
456
457 // 共通関数
458 require_once(dirname(__FILE__) . '/common/m3Func.php');
459
460 // ######### グローバルオブジェクト(各マネージャー)の作成 ###########
461 require_once(dirname(__FILE__) . '/manager/logManager.php');
462 require_once(dirname(__FILE__) . '/manager/instanceManager.php');
463 require_once(dirname(__FILE__) . '/manager/systemManager.php');
464 require_once(dirname(__FILE__) . '/manager/envManager.php');
465 require_once(dirname(__FILE__) . '/manager/opeLogManager.php');
466 require_once(dirname(__FILE__) . '/manager/cacheManager.php');
467 require_once(dirname(__FILE__) . '/manager/launchManager.php');
468 require_once(dirname(__FILE__) . '/manager/accessManager.php');
469 require_once(dirname(__FILE__) . '/manager/configManager.php');
470 require_once(dirname(__FILE__) . '/manager/errorManager.php');
471 require_once(dirname(__FILE__) . '/manager/pageManager.php');
472 require_once(dirname(__FILE__) . '/manager/requestManager.php');
473 require_once(dirname(__FILE__) . '/manager/designManager.php');
474 require_once(dirname(__FILE__) . '/manager/dispManager.php');
475
476 // マネージャーの作成、初期化
477 $gLogManager            = new LogManager();             // これよりロギング可能
478 $gInstanceManager       = new InstanceManager();
479 $gSystemManager         = new SystemManager();
480 $gEnvManager            = new EnvManager();             // システムの動作環境管理
481 $gOpeLogManager         = new OpeLogManager();
482 $gCacheManager          = new CacheManager();
483 $gLaunchManager         = new LaunchManager();
484 $gAccessManager         = new AccessManager();
485 $gConfigManager         = new ConfigManager();
486 $gErrorManager          = new ErrorManager();
487 $gRequestManager        = new RequestManager();
488 $gPageManager           = new PageManager();
489 $gDesignManager         = new DesignManager();
490 $gDispManager           = new DispManager();
491
492 // ######### ライブラリ用設定 ###########
493 define('CALENDAR_FIRST_DAY_OF_WEEK', 0);        // カレンダーは日曜が先頭
494 define('CALENDAR_ROOT', $gEnvManager->getLibPath() . '/Calendar-0.5.5/');               // カレンダーライブラリ
495 ?>