setRouter(new Qri_Controller_Router()); $controller->setControllerDirectory($controller_dir); // 認証プラグイン設定 $noAuthList = array('Login_Index', 'Login_Auth', 'Login_EasyAuth', 'Login_AnnouncementDetail', 'User_RegistrationForm', 'User_RegistrationConfirm', 'User_RegistrationDone', 'User_PasswordForm', 'User_PasswordDone', 'Index_Use' ); $auth = new Qri_Controller_Plugin_Authentication(); $auth->setNoAuthList($noAuthList); $controller->registerPlugin($auth); // Smartyプラグイン $controller->registerPlugin(new Qri_Controller_Plugin_Smarty()); // リクエストパラメータインジェクション $controller->registerPlugin(new Qri_Controller_Plugin_InjectionRequest()); // 二重投稿プラグイン設定 $token = new Qri_Controller_Plugin_SubmitToken(); $checkList = array( 'Schedule_RegistrationDone', 'Schedule_ModificationDone', 'Schedule_DeletionDone', 'User_RegistrationDone', 'User_ModificationDone', 'Diary_RegistrationDone', 'Diary_ModificationDone', 'Diary_DeletionDone', 'Diary_CategoryRegistrationDone', 'Diary_CategoryModificationDone', 'Diary_CategoryDeletionDone', 'Finance_RegistrationDone', 'Finance_ModificationDone', 'Finance_DeletionDone', 'Finance_BudgetDone', 'Finance_ItemRegistrationDone', 'Finance_ItemModificationDone', 'Finance_ItemDeletionDone', 'Photo_RegistrationDone', 'Photo_ModificationDone', 'Photo_DeletionDone', 'Photo_CategoryRegistrationDone', 'Photo_CategoryModificationDone', 'Photo_CategoryDeletionDone', 'File_RegistrationDone', 'File_ModificationDone', 'File_DeletionDone', 'File_CategoryRegistrationDone', 'File_CategoryModificationDone', 'File_CategoryDeletionDone', 'Bookmark_RegistrationDone', 'Bookmark_ModificationDone', 'Bookmark_DeletionDone', 'User_PasswordDone', 'User_EasyLoginDone', ); $token->setCheckList($checkList); $controller->registerPlugin($token); try{ // アクション実行 $controller->dispatch(); }catch(Exception $e){ // ログ出力文字生成 $error_log = "[" . date("Y/m/d H:i:s") . "] ErrorStart ----------------------------------------------------------" . "\r\n"; $error_log .= "【ErrorInfo】\r\n"; $error_log .= "Code : " . $e->getCode() . "\r\n"; $error_log .= "Message : " . $e->getMessage() . "\r\n"; $error_log .= "File : " . $e->getFile() . "[" . $e->getLine() . "]" . "\r\n"; $error_log .= "Trace : \r\n"; $error_log .= $e->getTraceAsString() . "\r\n\r\n"; $error_log .= "\r\n"; $error_log .= "【RequestParameter】\r\n"; $request_list = array_keys($_REQUEST); for ($i = 0 ; $i < count($request_list) ; $i++) { if (is_array($_REQUEST[$request_list[$i]])) { $error_log .= "{$request_list[$i]} = ".join(",", $_REQUEST[$request_list[$i]])."\r\n"; } else { $error_log .= "{$request_list[$i]} = {$_REQUEST[$request_list[$i]]}\r\n"; } } $error_log .= "\r\n"; $error_log .= "【SessionParameter】\r\n"; $session_list = array_keys($_SESSION); for ($i = 0 ; $i < count($session_list) ; $i++) { if (is_array($_SESSION[$session_list[$i]])) { $error_log .= "{$session_list[$i]} = ".join(",", $_SESSION[$session_list[$i]])."\r\n"; } else { $error_log .= "{$session_list[$i]} = {$_SESSION[$session_list[$i]]}\r\n"; } } $error_log .= "\r\n"; $error_log .= "【ServerParameter】\r\n"; $server_list = array_keys($_SERVER); for ($i = 0 ; $i < count($server_list) ; $i++) { if (is_array($_SERVER[$server_list[$i]])) { $error_log .= "{$server_list[$i]} = ".join(",", $_SERVER[$server_list[$i]])."\r\n"; } else { $error_log .= "{$server_list[$i]} = {$_SERVER[$server_list[$i]]}\r\n"; } } $error_log .= "ErrorEnd ----------------------------------------------------------------------------------" . "\r\n"; // メール送信 $to = $GLOBALS['_QRI_MAIL_TO_DEVELOPER_']; $from = $GLOBALS['_QRI_MAIL_FROM_OPERATION_']; $body = " e-Broad ストレージでエラーが発生しました。 {$error_log} "; $mailer = new Qri_Mail(); $mailer->send( $to, $from, "[e-Broadストレージ]システムエラー", $body); // エラーページ表示 $smarty = Zend::registry(SmartyRegisterName); print $smarty->render("Error/fatal_error.tpl"); }