OSDN Git Service

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