5 * 機能:ユーザが編集不可のグローバル定義。共通クラスの取り込み用。
9 * LICENSE: This source file is licensed under the terms of the GNU General Public License.
11 * @package Magic3 Framework
12 * @author 平田直毅(Naoki Hirata) <naoki@aplo.co.jp>
13 * @copyright Copyright 2006-2017 Magic3 Project.
14 * @license http://www.gnu.org/copyleft/gpl.html GPL License
15 * @version Release 2.19.x SVN: $Id$
16 * @link http://www.magic3.org
18 if (defined("M3_SYSTEM_DEFINE_INCLUDED")) return;
19 define("M3_SYSTEM_DEFINE_INCLUDED", true);
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); // セッションのセキュリティチェックをするかどうか
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);
43 error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING ^ E_DEPRECATED);
45 define('M3_SYSTEM_DEBUG_OUT', true); // デバッグ文出力を行うかどうか
46 define('M3_SYSTEM_REALTIME_ANALYTICS', false); // 即時アクセス解析を行うかどうか
48 // ######### 別名定義 #########
49 define('M3_DS', '/'); // ディレクトリセパレータ
50 define('M3_NL', "\n"); // 改行
51 define('M3_TB', "\t"); // タブ
52 define('M3_INDENT_SPACE', ' '); // 字下げスペース
53 define('M3_ENCODING', 'UTF-8'); // 内部エンコーディング
54 define('M3_TITLE_BRACKET_START', '「'); // タイトルを括弧表記する場合の開始
55 define('M3_TITLE_BRACKET_END', '」'); // タイトルを括弧表記する場合の終了
57 // ########## システム関係 ##########
59 define('M3_SYSTEM_NAME', 'Magic3'); // システム名称
60 define('M3_SYSTEM_VERSION', '2.19.1'); // システムのバージョン
61 define('M3_SYSTEM_RELEASE_DATE', '2017/4/20'); // システムのリリース日付
62 define('M3_SYSTEM_ID', 'M3'); // コンポーネント識別用ID
63 define('M3_SYSTEM_DESCRIPTION', 'Magic3 is open source cms and web communication platform.'); // システムの説明
64 define('M3_SYSTEM_MIN_MEMORY', '16M'); // 最小メモリ使用量
65 define('M3_SYSTEM_DIR_PERMISSION', 0755); // ディレクトリアクセス権
66 define('M3_SYSTEM_FILE_PERMISSION', 0644); // ファイルアクセス権
69 define('M3_SYSTEM_INCLUDE_PATH', dirname(__FILE__)); // global.phpファイルのあるディレクトリ(基準ディレクトリ)
70 define('M3_SYSTEM_ROOT_PATH', dirname(M3_SYSTEM_INCLUDE_PATH)); // システムのルートディレクトリ
71 define('M3_SYSTEM_LIB_PATH', M3_SYSTEM_INCLUDE_PATH . '/lib'); // ライブラリパス
72 define('M3_SYSTEM_CONF_PATH', M3_SYSTEM_INCLUDE_PATH . '/conf'); // 設定ファイル用パス
73 define('M3_SYSTEM_CORE_PATH', M3_SYSTEM_INCLUDE_PATH . '/core'); // システムディレクトリパス
74 define('M3_SYSTEM_COMMON_PATH', M3_SYSTEM_INCLUDE_PATH . '/common'); // システム共通ディレクトリパス
76 define('M3_SYSTEM_ROOT_DIR_NAME', basename(M3_SYSTEM_ROOT_PATH)); // ルートディレクトリ名
77 define('M3_SYSTEM_ADMIN_DIR_NAME', 'admin'); // システム管理ディレクトリ名
78 define('M3_DIR_NAME_INCLUDE', 'include'); // プログラム格納(非公開)ディレクトリ名
79 define('M3_DIR_NAME_TEMPLATES', 'templates'); // テンプレート格納ディレクトリ名
80 define('M3_DIR_NAME_WIDGETS', 'widgets'); // ウィジェット格納ディレクトリ名
81 define('M3_DIR_NAME_SCRIPTS', 'scripts'); // スクリプト格納ディレクトリ名
82 define('M3_DIR_NAME_RESOURCE', 'resource'); // ユーザリソース格納ディレクトリ名
83 define('M3_DIR_NAME_CSS', 'css'); // CSS格納ディレクトリ名
84 define('M3_DIR_NAME_LOCALE', 'locale'); // ロケール情報格納ディレクトリ名
85 define('M3_DIR_NAME_TOOLS', 'tools'); // 管理ツール格納ディレクトリ名
86 define('M3_DIR_NAME_SERVER_TOOLS', 'stools'); // サーバ管理ツール格納ディレクトリ名
87 define('M3_DIR_NAME_ADMIN', 'admin'); // 管理用ディレクトリ名
88 define('M3_DIR_NAME_MOBILE', 'm'); // 携帯用ディレクトリ名
89 define('M3_DIR_NAME_SMARTPHONE', 's'); // スマートフォン用ディレクトリ名
90 define('M3_DIR_NAME_HOME', 'home'); // 一般ユーザ用ディレクトリ格納ディレクトリ
91 define('M3_FILENAME_INDEX', 'index.php'); // デフォルトのアクセスポイントファイル名
92 define('M3_FILENAME_SERVER_CONNECTOR', 'connector.php'); // デフォルトのサーバ接続用アクセスポイントファイル名
94 define('M3_TAG_START', '[#'); // Magic3専用タグの開始
95 define('M3_TAG_END', '#]'); // Magic3専用タグの終了
96 define('M3_TAG_MACRO_ROOT_URL', 'M3_ROOT_URL'); // アプリケーションのルートURLを示すマクロ
97 define('M3_TAG_MACRO_IMG_URL', 'M3_IMG_URL'); // 画像URLを示すマクロ
98 define('M3_TAG_MACRO_LINK_URL', 'M3_LINK_URL'); // リンク先URLを示すマクロ
99 define('M3_TAG_MACRO_WIDGET_URL', 'M3_WIDGET_URL'); // 個別のウィジェットのルートURLを示すマクロ
100 define('M3_TAG_MACRO_WIDGET_CSS_ID', 'M3_WIDGET_CSS_ID'); // 個別のウィジェットのCSS用IDを示すマクロ
101 define('M3_TAG_MACRO_EMOJI_CODE', 'M3_EMOJI'); // 絵文字コード
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データ置換キー(カラム値)
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'); // ユーザ定義マクロパターン
184 define('M3_EVENT_HOOK_TYPE_OPELOG', 'opelog'); // 運用ログ
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'); // 更新日時
191 define('M3_CONTENT_PREVIEW_ID_SEPARATOR', '-'); // プレビュー用のコンテンツID作成用セパレータ
194 define('M3_WIDGET_ID_SEPARATOR', ','); // ウィジェットIDと付加情報を連結
195 //define('M3_LANG_SEPARATOR', '|'); // 言語IDと内容を連結
196 define('M3_LANG_SEPARATOR', "\t"); // 言語IDと内容を連結
197 define('M3_MACRO_SEPARATOR', '|'); // マクロキーと値を連結(変更予定)
198 //define('M3_MACRO_SEPARATOR', "\t"); // マクロキーと値を連結
199 define('M3_MACRO_OPTION_SEPARATOR', '|'); // マクロキーとオプションを連結
202 define('M3_DEVICE_TYPE_PC', 0); // PC
203 define('M3_DEVICE_TYPE_MOBILE', 1); // 携帯
204 define('M3_DEVICE_TYPE_SMARTPHONE', 2); // スマートフォン
205 define('M3_DEVICE_TYPE_MAX_VALUE', 2); // デバイスタイプの最大値
208 define('M3_TEMPLATE_JOOMLA_10', 0); // Joomla!v1.0テンプレート
209 define('M3_TEMPLATE_JOOMLA_15', 1); // Joomla!v1.5テンプレート
210 define('M3_TEMPLATE_JOOMLA_25', 2); // Joomla!v2.5テンプレート
211 define('M3_TEMPLATE_BOOTSTRAP_30', 10); // Bootstrap v3.0テンプレート
212 define('M3_TEMPLATE_JQUERY_MOBILE_10', 20); // jQuery Mobile v1.0テンプレート
213 // テンプレート作成アプリケーションタイプ
214 define('M3_TEMPLATE_GENERATOR_ARTISTEER', 'artisteer'); // Artisteer
215 define('M3_TEMPLATE_GENERATOR_THEMLER', 'themler'); // Themler
218 define('M3_RENDER_JOOMLA_OLD', 'joomla_old'); // Joomla! 1.0テンプレート
219 define('M3_RENDER_JOOMLA_NEW', 'joomla_new'); // Joomla! 1.5以上のテンプレート
220 define('M3_RENDER_BOOTSTRAP', 'bootstrap'); // Bootstrap 3.0テンプレート
221 define('M3_RENDER_JQUERY_MOBILE', 'jquery mobile'); // jQuery Mobileテンプレート
224 define('M3_TEMPLATE_FILE_EXTENSION', '.tmpl.html'); // テンプレートファイルの拡張子(suffix)
227 define('M3_SYSTEM_TAG_CHANGE_TEMPLATE', '_sel_template'); // テンプレート選択用メニュー
230 define('M3_COOKIE_CLIENT_ID', 'CID'); // クライアントID
231 define('M3_COOKIE_EXPIRE_CLIENT_ID', 360); // クライアントIDの保存期間(日)
232 define('M3_COOKIE_LANG', 'LANG'); // 言語
233 define('M3_COOKIE_CART_ID', 'CARTID'); // EコマースカートID
234 define('M3_COOKIE_DISP_ID', 'DISPID'); // クライアント画面設定ID
235 define('M3_COOKIE_AUTO_LOGIN', 'LOGIN'); // 自動ログインID
236 define('M3_COOKIE_ADMIN_WIDGET_TOOL', 'M3WIDGETTOOL'); // (管理機能用)ウィジェットツール状態
239 define('M3_VIEW_FORMAT_DATETIME', 'Y/m/d H:i:s'); // 日時
240 define('M3_VIEW_FORMAT_DATE', 'Y/m/d'); // 日付
241 define('M3_VIEW_FORMAT_TIME', 'H:i:s'); // 時間
245 define('M3_VIEW_TYPE_DASHBOARD', 'dboard'); // ダッシュボード
246 define('M3_VIEW_TYPE_SEARCH', 'search'); // 検索結果
247 define('M3_VIEW_TYPE_COMMERCE', 'commerce'); // Eコマース
248 define('M3_VIEW_TYPE_CALENDAR', 'calendar'); // カレンダー
250 define('M3_VIEW_TYPE_MEMBER', 'member'); // 会員情報
251 define('M3_VIEW_TYPE_CONTENT', 'content'); // 汎用コンテンツ
252 define('M3_VIEW_TYPE_PRODUCT', 'product'); // 商品情報
253 define('M3_VIEW_TYPE_BBS', 'bbs'); // BBS
254 define('M3_VIEW_TYPE_BLOG', 'blog'); // ブログ
255 define('M3_VIEW_TYPE_WIKI', 'wiki'); // Wiki
256 define('M3_VIEW_TYPE_USER', 'user'); // ユーザ作成コンテンツ
257 define('M3_VIEW_TYPE_EVENT', 'event'); // イベント情報
258 define('M3_VIEW_TYPE_PHOTO', 'photo'); // フォトギャラリー
260 define('M3_VIEW_TYPE_NEWS', 'news'); // 新着情報
261 define('M3_VIEW_TYPE_COMMENT', 'comment'); // コメント
262 define('M3_VIEW_TYPE_EVENTENTRY', 'evententry'); // イベント予約
263 define('M3_VIEW_TYPE_BANNER', 'banner'); // バナー
265 define('M3_JOB_TYPE_MAIL', 'mail'); // メール配信(会員情報に付属)
268 $M3_ALL_FEATURE_TYPE = array( M3_VIEW_TYPE_DASHBOARD, // ダッシュボード
269 M3_VIEW_TYPE_SEARCH, // 検索結果
270 M3_VIEW_TYPE_COMMERCE, // Eコマース
271 M3_VIEW_TYPE_CALENDAR); // カレンダー
273 $M3_ALL_CONTENT_TYPE = array( M3_VIEW_TYPE_NEWS, // 新着情報
274 M3_VIEW_TYPE_MEMBER, // 会員情報
275 M3_VIEW_TYPE_CONTENT, // 汎用コンテンツ
276 M3_VIEW_TYPE_PRODUCT, // 商品情報
277 M3_VIEW_TYPE_BBS, // BBS
278 M3_VIEW_TYPE_BLOG, // ブログ
279 M3_VIEW_TYPE_WIKI, // Wiki
280 M3_VIEW_TYPE_USER, // ユーザ作成コンテンツ
281 M3_VIEW_TYPE_EVENT, // イベント情報
282 M3_VIEW_TYPE_EVENTENTRY, // イベント予約
283 M3_VIEW_TYPE_PHOTO); // フォトギャラリー
286 define('M3_CONTENT_KEY_MAINTENANCE', 'MAINTENANCE'); // メンテナンス画面用
287 define('M3_CONTENT_KEY_ACCESS_DENY', 'ACCESS_DENY'); // アクセス不可画面用
288 define('M3_CONTENT_KEY_PAGE_NOT_FOUND', 'PAGE_NOT_FOUND'); // ページが見つからない画面用
291 define('M3_WIDGET_TYPE_MENU', 'menu'); // メニュー
292 define('M3_WIDGET_TYPE_USER', 'user'); // ユーザ作成コンテンツ
295 define('M3_SYSTEM_WORK_DIR_PATH', '/tmp'); // 作業用ディレクトリ
296 define('M3_SYSTEM_WORK_UPLOAD_FILENAME_HEAD', 'm3_upload_'); // アップロードファイル一時退避用ファイル名ヘッダ
297 define('M3_SYSTEM_WORK_DOWNLOAD_FILENAME_HEAD', 'm3_download_'); // ダウンロードファイル一時退避用ファイル名ヘッダ
298 define('M3_SYSTEM_WORK_BACKUP_FILENAME_HEAD', 'm3_backup_'); // バックアップファイル一時退避用ファイル名ヘッダ
299 define('M3_SYSTEM_WORK_DIRNAME_HEAD', 'm3_tmp_'); // 一時ディレクトリ名ヘッダ
301 // ######### DB定義 ###########
302 define('M3_DB_PGSQL_PREFIX', 'pgsql_'); // DB区別用プレフィクス
303 define('M3_DB_MYSQL_PREFIX', 'mysql_'); // DB区別用プレフィクス
304 define('M3_DB_TYPE_PGSQL', 'pgsql'); // DB種別(PostgreSQL)
305 define('M3_DB_TYPE_MYSQL', 'mysql'); // DB種別(MySQL)
306 define('M3_TIMESTAMP_INIT_VALUE_MYSQL', '0000-00-00 00:00:00'); // Timestamp型データの初期化値
307 define('M3_TIMESTAMP_INIT_VALUE_PGSQL', '0001-01-01 00:00:00'); // Timestamp型データの初期化値
308 define('M3_DATE_INIT_VALUE_MYSQL', '0000-00-00'); // Date型データの初期化値
309 define('M3_DATE_INIT_VALUE_PGSQL', '0001-01-01'); // Date型データの初期化値
312 define('M3_TB_FIELD_SYSTEM_NAME', 'system_name'); // システム名称
313 define('M3_TB_FIELD_SYSTEM_VERSION', 'system_version'); // システムバージョン
314 define('M3_TB_FIELD_DB_VERSION', 'db_version'); // DBバージョン
315 define('M3_TB_FIELD_DB_UPDATE_DT', 'db_update_dt'); // DB更新日時
317 define('M3_TB_FIELD_SITE_TITLE', 'head_title'); // サイトのタイトル
318 define('M3_TB_FIELD_SITE_DESCRIPTION', 'head_description'); // サイトの説明
319 define('M3_TB_FIELD_SITE_KEYWORDS', 'head_keywords'); // 検索エンジン用キーワード
320 define('M3_TB_FIELD_SITE_ROBOTS', 'head_robots'); // 検索ロボットへの指示
322 define('M3_TB_FIELD_SITE_NAME', 'site_name'); // サイト名称
323 define('M3_TB_FIELD_SITE_SLOGAN', 'site_slogan'); // サイトスローガン
324 define('M3_TB_FIELD_SITE_OWNER', 'site_owner'); // サイト所有者
325 define('M3_TB_FIELD_SITE_COPYRIGHT', 'site_copyright'); // サイトコピーライト
326 define('M3_TB_FIELD_SITE_EMAIL', 'site_email'); // サイトEメール
328 // ######### HTTPリクエストパラメータ ###########
330 define('M3_REQUEST_PARAM_PAGE_SUB_ID', 'sub'); // ページサブID
331 define('M3_REQUEST_PARAM_PAGE_CONTENT_ID', 'id'); // ページコンテンツID
332 define('M3_REQUEST_PARAM_WIDGET_ID', 'widget'); // ウィジェットID
333 define('M3_REQUEST_PARAM_TEMPLATE_ID', 'template'); // テンプレートID
334 define('M3_REQUEST_PARAM_URL', 'url'); // リンク先等のURL
335 define('M3_REQUEST_PARAM_STAMP', 'stamp'); // 公開発行ID
336 define('M3_REQUEST_PARAM_OPTION', 'opt'); // 通信オプション
337 define('M3_REQUEST_PARAM_OPERATION_COMMAND', 'cmd'); // 実行処理
338 define('M3_REQUEST_PARAM_OPERATION_WIKI_COMMAND', 'wcmd'); // Wikiコマンド実行
339 define('M3_REQUEST_PARAM_OPERATION_TASK', 'task'); // 画面指定用タスク
340 define('M3_REQUEST_PARAM_OPERATION_ANCHOR', 'anchor'); // 画面指定用アンカー
341 define('M3_REQUEST_PARAM_OPERATION_ACT', 'act'); // クライアントからの実行処理
342 define('M3_REQUEST_PARAM_OPERATION_LANG', 'lang'); // 言語指定表示
343 define('M3_REQUEST_PARAM_SERIAL_NO', 'serial'); // シリアル番号
344 define('M3_REQUEST_PARAM_CONFIG_ID', 'config'); // 定義ID
345 define('M3_REQUEST_PARAM_PAGE_NO', 'page'); // ページ番号
346 define('M3_REQUEST_PARAM_LIST_NO', 'list'); // 一覧番号
347 define('M3_REQUEST_PARAM_ITEM_NO', 'no'); // 項目番号
348 define('M3_REQUEST_PARAM_OPERATION_TODO', 'todo'); // 指定ウィジェットに実行させる処理
349 define('M3_REQUEST_PARAM_FROM', 'from'); // メッセージの送信元ウィジェットID。遷移元画面。
350 define('M3_REQUEST_PARAM_VIEW_STYLE', 'style'); // 表示スタイル
351 define('M3_REQUEST_PARAM_FORWARD', 'forward'); // 画面遷移用パラメータ
352 define('M3_REQUEST_PARAM_ADMIN_KEY', 'adminkey'); // 管理者一時キー
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_BACK_URL', '_backurl'); // 戻り先URL
365 define('M3_REQUEST_PARAM_BACKUP_URL', '_backupurl'); // URL退避用(画面編集時)
366 define('M3_REQUEST_PARAM_SERVER', '_server'); // サーバ指定
367 define('M3_REQUEST_PARAM_FILE_ID', 'fileid'); // ファイルID
368 define('M3_REQUEST_PARAM_CATEGORY_ID', 'categoryid'); // カテゴリID(共通)
369 define('M3_REQUEST_PARAM_WIDTH', 'width'); // 幅
370 define('M3_REQUEST_PARAM_HEIGHT', 'height'); // 高さ
371 define('M3_REQUEST_PARAM_COMMENT_ID', 'commentid'); // コメント識別用ID
372 define('M3_REQUEST_PARAM_PLACE_ID', 'placeid'); // 場所識別用ID
373 define('M3_REQUEST_PARAM_CONTENT_ID', 'contentid'); // 汎用コンテンツID
374 define('M3_REQUEST_PARAM_CONTENT_ID_SHORT', 'cid'); // 汎用コンテンツID(略式)
375 define('M3_REQUEST_PARAM_PRODUCT_ID', 'productid'); // 製品ID
376 define('M3_REQUEST_PARAM_PRODUCT_ID_SHORT', 'pid'); // 製品ID(略式)
377 define('M3_REQUEST_PARAM_BLOG_ID', 'blogid'); // ブログID
378 define('M3_REQUEST_PARAM_BLOG_ID_SHORT', 'bid'); // ブログID(略式)
379 define('M3_REQUEST_PARAM_BLOG_ENTRY_ID', 'entryid'); // ブログ記事ID
380 define('M3_REQUEST_PARAM_BLOG_ENTRY_ID_SHORT', 'eid'); // ブログ記事ID(略式)
381 define('M3_REQUEST_PARAM_BBS_ID', 'bbsid'); // 掲示板投稿記事ID
382 define('M3_REQUEST_PARAM_BBS_ID_SHORT', 'sid'); // 掲示板投稿記事ID(略式)
383 define('M3_REQUEST_PARAM_BBS_THREAD_ID', 'threadid'); // 掲示板投稿スレッドID
384 define('M3_REQUEST_PARAM_BBS_THREAD_ID_SHORT', 'tid'); // 掲示板投稿スレッドID(略式)
385 define('M3_REQUEST_PARAM_USER_ID', 'userid'); // ユーザ作成コンテンツID
386 define('M3_REQUEST_PARAM_USER_ID_SHORT', 'uid'); // ユーザ作成コンテンツID(略式)
387 define('M3_REQUEST_PARAM_ROOM_ID', 'roomid'); // ユーザ作成コンテンツ区画ID
388 define('M3_REQUEST_PARAM_ROOM_ID_SHORT', 'rid'); // ユーザ作成コンテンツ区画ID(略式)
389 define('M3_REQUEST_PARAM_EVENT_ID', 'eventid'); // イベントID
390 define('M3_REQUEST_PARAM_EVENT_ID_SHORT', 'vid'); // イベントID(略式)
391 define('M3_REQUEST_PARAM_PHOTO_ID', 'photoid'); // 画像ID
392 define('M3_REQUEST_PARAM_PHOTO_ID_SHORT', 'hid'); // 画像ID(略式)
394 // ######### HTTPレスポンスパラメータ ###########
395 define('M3_RESPONSE_PARAM_STATUS', 'status'); // 処理実行結果
399 define('M3_REQUEST_CMD_INIT_DB', 'initdb'); // DB初期作成
400 define('M3_REQUEST_CMD_SHOW_POSITION', 'showposition'); // ウィジェット組み込み位置を表示
401 define('M3_REQUEST_CMD_SHOW_NO_POSITION', 'shownoposition'); // ウィジェット組み込み位置なしで表示
402 define('M3_REQUEST_CMD_SHOW_POSITION_WITH_WIDGET', 'showpositionwithwidget'); // ウィジェット組み込み位置を表示(ウィジェット込み)
403 define('M3_REQUEST_CMD_GET_WIDGET_INFO', 'getwidgetinfo'); // ウィジェット各種情報取得(AJAX用)
404 define('M3_REQUEST_CMD_SHOW_PHPINFO', 'showphpinfo'); // phpinfo()を表示
405 define('M3_REQUEST_CMD_FIND_WIDGET', 'findwidget'); // ウィジェットを検索し、前面表示
406 define('M3_REQUEST_CMD_SHOW_WIDGET', 'showwidget'); // ウィジェット単体表示
407 define('M3_REQUEST_CMD_DO_WIDGET', 'dowidget'); // ウィジェット単体オペレーション
408 define('M3_REQUEST_CMD_CONFIG_WIDGET', 'configwidget'); // ウィジェットの設定
409 define('M3_REQUEST_CMD_PREVIEW', 'preview'); // サイトのプレビューを表示
410 define('M3_REQUEST_CMD_LOGIN', 'login'); // ログイン
411 define('M3_REQUEST_CMD_LOGOUT', 'logout'); // ログアウト
412 define('M3_REQUEST_CMD_CHANGE_TEMPLATE', 'changetemplate'); // テンプレートの変更
413 define('M3_REQUEST_CMD_RSS', 'rss'); // RSS配信
414 define('M3_REQUEST_CMD_CSS', 'css'); // CSS生成
416 define('M3_REQUEST_VALUE_ON', 'on'); // on値
417 define('M3_REQUEST_VALUE_OFF', 'off'); // off値
419 define('M3_TODO_SEPARATOR', ';'); // TODO用セパレータ
421 // ######### セッション保存パラメータ ###########
422 define('M3_SESSION_CURRENT_TEMPLATE', '_current_template'); // 現在表示中のテンプレート
423 define('M3_SESSION_USER_INFO', '_user_info'); // 現在ログイン中のユーザ情報
424 define('M3_SESSION_POST_TICKET', '_ticket'); // POSTデータ確認用
425 define('M3_SESSION_WIDGET', '_widget_'); // 各ウィジェット用(+ウィジェットID)
426 define('M3_SESSION_USER_ENV_WIDGET', '_user_env_widget:'); // ユーザ環境マネージャーのウィジェット用パラメータ
427 define('M3_SESSION_CODE', '_session_code'); // セッションセキュリティチェック用ブラウザコード
428 define('M3_SESSION_CLIENT_IP', '_session_client_ip'); // セッションセキュリティチェック用ブラウザIP
429 define('M3_SESSION_USER_ID', '_session_user_id'); // 現在ログイン中のユーザID(Nodejs連携用)
431 // ######### システムの定義 ###########
432 define('M3_HTML_CHARSET', 'utf-8'); // キャラクターセット
433 define('M3_TIMEZONE', 'Asia/Tokyo'); // タイムゾーン
435 // ######### サイト定義の読み込み ###########
436 require_once(dirname(__FILE__) . '/siteDef.php');
438 // ######### 時刻設定 ###########
439 define('M3_MTIME', microtime(true)); // 現在のマイクロ秒タイムスタンプ
441 // ######### PHPの設定 ###########
442 if (version_compare(PHP_VERSION, '5.3.0') < 0){
443 set_magic_quotes_runtime(0);
445 date_default_timezone_set(M3_TIMEZONE); // デフォルトタイムゾーンの設定
447 // ######### グローバル変数の作成 ###########
448 $HELP = array(); // ヘルプ文字列
449 $TABLE_FIELDS = array(); // テーブルフィールド名
452 require_once(dirname(__FILE__) . '/common/m3Func.php');
454 // ######### グローバルオブジェクト(各マネージャー)の作成 ###########
455 require_once(dirname(__FILE__) . '/manager/logManager.php');
456 require_once(dirname(__FILE__) . '/manager/instanceManager.php');
457 require_once(dirname(__FILE__) . '/manager/systemManager.php');
458 require_once(dirname(__FILE__) . '/manager/envManager.php');
459 require_once(dirname(__FILE__) . '/manager/opeLogManager.php');
460 require_once(dirname(__FILE__) . '/manager/cacheManager.php');
461 require_once(dirname(__FILE__) . '/manager/launchManager.php');
462 require_once(dirname(__FILE__) . '/manager/accessManager.php');
463 require_once(dirname(__FILE__) . '/manager/configManager.php');
464 require_once(dirname(__FILE__) . '/manager/errorManager.php');
465 require_once(dirname(__FILE__) . '/manager/pageManager.php');
466 require_once(dirname(__FILE__) . '/manager/requestManager.php');
467 require_once(dirname(__FILE__) . '/manager/designManager.php');
468 require_once(dirname(__FILE__) . '/manager/dispManager.php');
471 $gLogManager = new LogManager(); // これよりロギング可能
472 $gInstanceManager = new InstanceManager();
473 $gSystemManager = new SystemManager();
474 $gEnvManager = new EnvManager(); // システムの動作環境管理
475 $gOpeLogManager = new OpeLogManager();
476 $gCacheManager = new CacheManager();
477 $gLaunchManager = new LaunchManager();
478 $gAccessManager = new AccessManager();
479 $gConfigManager = new ConfigManager();
480 $gErrorManager = new ErrorManager();
481 $gRequestManager = new RequestManager();
482 $gPageManager = new PageManager();
483 $gDesignManager = new DesignManager();
484 $gDispManager = new DispManager();
486 // ######### ライブラリ用設定 ###########
487 define('CALENDAR_FIRST_DAY_OF_WEEK', 0); // カレンダーは日曜が先頭
488 define('CALENDAR_ROOT', $gEnvManager->getLibPath() . '/Calendar-0.5.5/'); // カレンダーライブラリ