public static function exceptionHandler(\Exception $e) { $fullTrace = $e->getTrace(); if (is_callable(array($e, 'postAction'))) { $e->postAction($e->getMessage(), $e->getCode()); } if (!DC::getProjectConfig('devMode')) { DC::getLogger()->add('Exception: ' . $e->getMessage(), 'exception'); die; } $content = '<div style="font-size: 13px; font-family: Consolas, Menlo, Monaco, monospace;white-space: pre-wrap;">'; $htmlTrace = "<b>\nLast arguments(" . count($fullTrace[0]['args']) . "):</b>\n" . dumpAsString($fullTrace[0]['args']) . "<b>\n\nCall stack:</b>\n<table style='font-size: 13px;'>"; foreach ($fullTrace as $item) { $info = self::compileShortCallee($item); $htmlTrace .= '<tr><td style="color:#666;padding-right:10px;">' . $info['file'] . '</td><td>' . $info['call'] . '</td></tr>'; } $htmlTrace .= '</table>'; $content .= '<div style="background:#c00;color:white;font-weight:bold;padding:5px;margin-bottom: 5px; ">' . $e->getMessage() . '</div>'; $content .= $htmlTrace; $content .= '</div>'; if (DC::getRouter()->getExecutionMode() == Request::MODE_CONSOLE) { $content = strip_tags(str_replace('</td><td>', "\n", $content)) . "\n"; } echo $content; die; }
public function onEnvironmentUpdate(BaseEvent $event) { ConfigService::setConfigsPath(DC::getEnvironment()->getConfigRoot()); ConfigService::loadAllConfigs(); DC::getLogger()->setLogsPath(DC::getEnvironment()->getTmpRoot() . 'log'); DC::getAutoloader()->registerSharedPath(DC::getEnvironment()->getUserClassesRoot(), true); DC::getAutoloader()->registerSharedPath(DC::getEnvironment()->getUserClassesRoot() . 'db/bases'); DC::getAutoloader()->registerSharedPath(DC::getEnvironment()->getUserClassesRoot() . 'db/classes'); DC::getAutoloader()->registerNamespaceSharedPaths(DC::getEnvironment()->getUserClassesRoot() . 'classes/', true); FilesAbility::setBaseStoreLocation(DC::getEnvironment()->getUploadRoot()); }
public function redirectToUri($relativeUri) { $request = DC::getRouter()->getCurrentRequest(); if ($relativeUri == '/') { $relativeUri = ''; } $webRoot = DC::getRouter()->getWebRoot(); $applicationUrlPart = ($webRoot !== "/" ? $webRoot . '/' : '') . (DC::getApplication()->getName() == 'frontend' ? '' : DC::getApplication()->getName() . '/'); $fullUrl = $request->getHost() . '/' . $applicationUrlPart . $relativeUri; $fullUrl = str_replace('//', '/', $fullUrl); $response = new Response(); $response->setStatusCode(HttpStatus::HTTP_FOUND); $response->setHeader('Location', $request->getProtocol() . '://' . $fullUrl); if (headers_sent()) { DC::getLogger()->add('Cannot redirect to ' . $relativeUri); } $response->send(); die; }
protected static function fireRouteNotFound($controllerName, $actionName) { DC::getEventDispatcher()->dispatchEvent('route.notFound'); DC::getLogger()->add('Invalid action call:' . $controllerName . '->' . $actionName . '()'); }
public function boot() { $this->_eventDispatcher->dispatchEvent('kernel.boot'); if (headers_sent()) { DC::getLogger()->add('Cannot start session, headers sent', Logger::NAMESPACE_KERNEL); } else { if (empty($_SESSION)) { session_start(); } } }