/** * Page を初期化する. * LC_Page_Adminクラス内でエラーページを表示しようとした際に無限ループに陥るのを防ぐため, * ここでは, parent::init() を行わない.(フロントのエラー画面出力と同様の仕様) * * @return void */ public function init() { SC_Helper_HandleError_Ex::$under_error_handling = true; $this->template = LOGIN_FRAME; $this->tpl_mainpage = 'login_error.tpl'; $this->tpl_title = 'ログインエラー'; // ディスプレイクラス生成 $this->objDisplay = new SC_Display_Ex(); // transformでフックしている場合に, 再度エラーが発生するため, コールバックを無効化. $objHelperPlugin = SC_Helper_Plugin_Ex::getSingletonInstance($this->plugin_activate_flg); $objHelperPlugin->arrRegistedPluginActions = array(); // キャッシュから店舗情報取得(DBへの接続は行わない) $this->arrSiteInfo = SC_Helper_DB_Ex::sfGetBasisDataCache(false); }
/** * エラー画面を表示する * * @param string|null $errstr エラーメッセージ * @return void */ public static function displaySystemError($errstr = null) { SC_Helper_HandleError_Ex::$under_error_handling = true; ob_clean(); // 絵文字変換・除去フィルターが有効か評価する。 $loaded_ob_emoji = false; $arrObs = ob_get_status(true); foreach ($arrObs as $arrOb) { if ($arrOb['name'] === 'SC_MobileEmoji::handler') { $loaded_ob_emoji = true; break; } } // 絵文字変換・除去フィルターが無効で、利用できる場合、有効にする。 if (!$loaded_ob_emoji && class_exists('SC_MobileEmoji')) { ob_start(array('SC_MobileEmoji', 'handler')); } require_once CLASS_EX_REALDIR . 'page_extends/error/LC_Page_Error_SystemError_Ex.php'; $objPage = new LC_Page_Error_SystemError_Ex(); $objPage->init(); if (isset($errstr)) { $objPage->addDebugMsg($errstr); } $objPage->process(); }