Exemple #1
0
 public function __invoke(Request $request)
 {
     global $core;
     try {
         $request->context->page = $page = $this->resolve_page($request);
         if (!$page) {
             return;
         }
         if ($page instanceof Response) {
             return $page;
         }
         return $this->resolve_response($page, $request);
     } catch (\Exception $e) {
         $code = $e->getCode();
         $pathname = \ICanBoogie\DOCUMENT_ROOT . "protected/all/templates/{$code}.html";
         if (file_exists($pathname)) {
             $request->context->page = $page = Page::from(['siteid' => $core->site_id, 'title' => I18n\t($e->getCode(), [], ['scope' => 'exception']), 'body' => I18n\t($e->getMessage(), [], ['scope' => 'exception'])]);
             $template = file_get_contents($pathname);
             $engine = $this->resolve_engine($template);
             return new Response($engine($template, $page), $code);
         }
         throw $e;
     }
 }
Exemple #2
0
 /**
  * Creates site record.
  */
 protected function process_site()
 {
     global $core;
     $site = $core->models['sites']->one;
     if (!$site) {
         $site = new Site();
     }
     $options = $core->session->install['site'];
     $site->title = $options['title'];
     $site->language = $options['language'];
     $site->timezone = $options['timezone'];
     $site->email = $core->session->install['user']['email'];
     $site->status = Site::STATUS_OK;
     $site->save();
     if (!$core->models['pages']->one) {
         $page = new Page();
         $page->title = "Home";
         $page->is_online = true;
         $page->uid = 1;
         $page->siteid = $site->siteid;
         $page->save();
     }
 }