Ejemplo n.º 1
0
 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;
 }
Ejemplo n.º 2
0
 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());
 }
Ejemplo n.º 3
0
 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;
 }
Ejemplo n.º 4
0
 protected static function fireRouteNotFound($controllerName, $actionName)
 {
     DC::getEventDispatcher()->dispatchEvent('route.notFound');
     DC::getLogger()->add('Invalid action call:' . $controllerName . '->' . $actionName . '()');
 }
Ejemplo n.º 5
0
 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();
         }
     }
 }