/** * @param \Janeiro\Request\AbstractRequest $request * @template User/Create.phtml */ public function createAction(AbstractRequest $request) { $username = $request->getParameter(2); $password = $request->getParameter(3) === false ? null : hash('SHA512', $request->getParameter(3)); if (false !== $username) { try { if (false !== $this->users->findOneByUsername($username)) { throw new \Exception(sprintf('User "%s" already exists!', $username)); } $this->users->create(['username' => $username, 'password' => $password]); $this->view->set('message', sprintf('User "%s" created.', $username)); } catch (\Exception $e) { $this->view->set('message', $e->getMessage()); } } else { $this->view->setTemplate('User/Index.txt'); } echo $this->view->render(); }
/** * @template Schema/Update.phtml * @return string */ public function updateAction() { $hash = hash('crc32', serialize($this->adapter->getSchema())); $hashCurrent = $hash; $this->view->set('current', $hash); do { $update = ROOT . sprintf($this->registry->get('database.schema'), $hash); if (file_exists($update)) { try { $this->adapter->getDriver()->query(file_get_contents($update)); } catch (\Exception $e) { $update = false; } } else { $update = false; } $hash = hash('crc32', serialize($this->adapter->getSchema())); } while (false !== $update && $hash !== $hashCurrent); return $this->view->set('new', $hash)->render(); }
/** * @method GET * @view \Core\Module\User\View\Session\ItemView * @param \Janeiro\Request\AbstractRequest $request * @return \Janeiro\Response */ public function showAction(AbstractRequest $request) { $this->view->set('user_session', $this->userSession->fetch($request->getParameter('id'))->current()); return new Response('application/json', json_encode($this->view->render())); }
/** * @param \Janeiro\Request\AbstractRequest * @template Index.phtml * @return string */ public function indexAction(AbstractRequest $request) { $this->view->set('locale', $request->getLanguage()); $this->view->set('hash', $this->session->getHash()); return $this->view->render(); }