Example #1
0
 protected function processTemplate($tableName, $table, $template)
 {
     Template::init();
     Template::addFunction('getNamespace', function ($model) {
         return $this->getNamespace($model);
     });
     foreach ($table['columns'] as &$column) {
         if (isset($column['validate_int']) && $column['validate_int']) {
             $column['param_type'] = 'int';
         }
         if (isset($column['validate_string']) && $column['validate_string']) {
             $column['param_type'] = 'string';
         }
         if (isset($column['validate_float']) && $column['validate_float']) {
             $column['param_type'] = 'float';
         }
         if (isset($column['validate_date']) && $column['validate_date']) {
             $column['param_type'] = null;
         }
     }
     $template = new Template($template, 'db');
     $template->itemNamespace = $this->getNamespace($table['php_name']);
     $template->name = $tableName;
     $template->table = $table;
     $template->counts = $this->counts;
     return $template->render();
 }
Example #2
0
 public function getWidget(&$widgets)
 {
     // Recently active users:
     /** @var \Octo\System\Store\UserStore $store */
     $store = Store::get('User');
     $view = new Template('Dashboard/recent-users', 'admin');
     $view->users = $store->getRecentUsers();
     $widgets[] = ['order' => 1, 'html' => $view->render()];
 }
Example #3
0
 public function render($item)
 {
     if (!is_null($item)) {
         $parts = explode('\\', get_class($item));
         $class = array_pop($parts);
         $view = new Template('Search/Type/' . $class);
         $view->result = $item;
         return $view->render();
     }
 }
Example #4
0
 public function resetPassword($memberId)
 {
     $view = new Template('Member/forgot-password');
     $member = Store::get('Contact')->getById($memberId);
     $key = $this->getParam('k', null);
     if (is_null($member) || $key != $this->getResetKey($member)) {
         $this->response->setResponseCode(401);
         $view->errorMessage = 'Invalid password reset request.';
         return $view->render();
     }
     $view->text = '<strong>Please enter a new password below.</strong><br><br>';
     $view->form = $this->resetPasswordForm($memberId, $key);
     if ($this->request->getMethod() == 'POST') {
         $member->setPasswordHash(password_hash($this->getParam('password'), PASSWORD_DEFAULT));
         Store::get('Contact')->save($member);
         Member::getInstance()->login($member);
         $this->response->setResponseCode(302);
         $this->response->setHeader('Location', $this->config->get('site.url'));
         return;
     }
     return $view->render();
 }
Example #5
0
 public function templateLoaded(Template &$template)
 {
     $config = Config::getInstance();
     $template->set('now', new DateTime());
     $template->set('config', $config);
     $template->set('adminUri', $config->get('site.full_admin_url'));
     if (isset($_SESSION) && is_array($_SESSION)) {
         $template->set('session', $_SESSION);
     }
     if (!empty($_SESSION['user'])) {
         $template->set('user', $_SESSION['user']);
     }
     try {
         $template->set('settings', Setting::getAllAsArray());
     } catch (\Exception $ex) {
     }
 }
Example #6
0
 /**
  * Handle HTTP error
  *
  * @param $code
  * @return mixed
  */
 protected function handleHttpError($code)
 {
     try {
         $template = new Template('Error/' . $code);
         $content = $template->render();
         $content = str_replace('{!@octo.meta}', '<title>Error</title>', $content);
         $this->response->setContent($content);
     } catch (\Exception $ex) {
     }
     /*
     if (Template::exists('Error/' . $code)) {
     
         $this->response->setResponseCode($code);
     
         $template = Template::load('Error/' . $code);
         $blockManager = new BlockManager();
         $blockManager->setRequest($this->request);
         $blockManager->setResponse($this->response);
         $blockManager->attachToTemplate($template);
     
         $content = $template->render();
         $content = str_replace('{!@octo.meta}', '<title>Error</title>', $content);
         $this->response->setContent($content);
     }
     */
     return $this->response;
 }
Example #7
0
 /**
  * Handle HTTP error
  *
  * @param $code
  * @return mixed
  */
 protected function handleHttpError($code)
 {
     try {
         $template = new Template('Error/' . $code);
         $template->set('page', ['title' => 'Error ' . $code . ' - ' . Response::$codes[$code]]);
         $content = $template->render();
         $this->response->setResponseCode($code);
         $this->response->setContent($content);
     } catch (\Exception $ex) {
     }
     return $this->response;
 }