/** * initialise * * @return void */ protected function initialise() { Windwalker::prepareSystemPath($this->config); parent::initialise(); // Start session Ioc::getSession()->start(); }
/** * Execute the controller. * * @return mixed Return executed result. * * @throws \LogicException * @throws \RuntimeException */ public function execute() { if (UserHelper::isLogin()) { Ioc::getApplication()->redirect(Router::build('admin:dashboard')); } $model = new LoginModel(); $session = Ioc::getSession(); $user = $this->input->getVar('user'); $result = $model->login($user['username'], $user['password']); $package = $this->getPackage(); $redirect = $session->get('login.redirect.url'); if ($result) { $url = $redirect ? base64_decode($redirect) : $package->get('redirect.login'); $msg = Language::translate('Login Success'); } else { $router = Ioc::getRouter(); $url = $router->build($this->package->getRoutingPrefix() . ':login'); $msg = Language::translate('Login Fail'); } $uri = new Uri($url); if (!$uri->getScheme()) { $url = $this->app->get('uri.base.full') . $url; } $session->remove('login.redirect.url'); $this->setRedirect($url, $msg); return true; }
/** * Execute the controller. * * @throws \Exception * @return mixed Return executed result. */ public function execute() { $user = $this->input->getVar('registration'); $user = new Data($user); $session = Ioc::getSession(); $session['register.form.data'] = $user; $trans = Ioc::getDatabase()->getTransaction()->start(); try { $this->validate($user); // User $user = $this->createUser($user); // Blog $blogCtrl = $this->createBlog($user); // Articles $this->createDefaultArticle($blogCtrl); } catch (ValidFailException $e) { $trans->rollback(); $this->setRedirect(Router::buildHttp('user:registration'), $e->getMessage(), 'danger'); return false; } catch (\Exception $e) { $trans->rollback(); if (WINDWALKER_DEBUG) { throw $e; } $this->setRedirect(Router::buildHttp('user:registration'), 'Register fail', 'danger'); return false; } $trans->commit(); $session->remove('register.form.data'); // OK let's login User::makeUserLogin($user->id); $this->setRedirect(Router::buildHttp('user:login'), 'Register success.', 'success'); return true; }
/** * initialise * * @return void */ protected function initialise() { Windwalker::prepareSystemPath($this->config); parent::initialise(); if (!$this->config->get('system.debug')) { SimpleErrorHandler::registerErrorHandler(); } // Start session Ioc::getSession(); }
/** * checkLogin * * @return boolean */ public static function checkLogin() { if (User::get()->notNull()) { return true; } $session = Ioc::getSession(); $current = Ioc::getConfig()->get('uri.current'); $current = base64_encode($current); $session->set('login.redirect.url', $current); Ioc::getApplication()->redirect(Router::buildHttp('user:login')); return true; }
/** * getBlog * * @return Data */ public static function get() { if (static::$blog) { return static::$blog; } $session = Ioc::getSession(); $blogId = $session->get('current.blog'); $blogModel = new BlogModel(); $user = User::get(); if ($user->isNull()) { throw new \RuntimeException('No user'); } $blog = $blogModel->getCurrentBlog($user->id, $blogId); $blog->params = json_decode($blog->params); $session->set('current.blog', $blog->id); return static::$blog = $blog; }
/** * Execute the controller. * * @throws \Exception * @return mixed Return executed result. */ public function execute() { $session = Ioc::getSession(); $user = $this->input->getVar('user', array()); $user = new Data($user); $user->id = User::get()->id; $user->username = User::get()->username; // Store Session $temp = clone $user; unset($temp->password); unset($temp->password2); $session->set('profile.edit.data', $temp); try { if (!$this->validate($user)) { return false; } $record = new Record('users'); $record->load($user->id); $record->bind($user); $record->check()->store(true); } catch (ValidFailException $e) { $this->setRedirect(Router::buildHttp('admin:profile', ['id' => $user->id ?: '']), $e->getMessage(), 'danger'); return true; } catch (\Exception $e) { if (WINDWALKER_DEBUG) { throw $e; } $this->setRedirect(Router::buildHttp('admin:profile', ['id' => $user->id ?: '']), 'Save fail', 'danger'); return true; } // Save success, reset user session unset($user->password); unset($user->password2); $session->set('user', $user); $session->remove('profile.edit.data'); $this->setRedirect(Router::buildHttp('admin:profile'), 'Save Success', 'success'); return true; }
/** * doExecute * * @return string */ protected function doExecute() { $type = $this->input->get('type', 'post'); $session = Ioc::getSession(); $currentPage = $session->get($type . '.current.page', 1); if ($currentPage != 1 && !$this->input->getInt('page')) { $this->setRedirect(Router::buildHttp('admin:' . $type . 's', ['page' => $currentPage])); return true; } $view = new PostsHtmlView($this->data); $model = new PostsModel(); $model['blog.id'] = $this->data['blog']->id; $model['post.type'] = $type; $model['list.page'] = $page = $this->input->getInt('page', 1); $model['list.limit'] = 10; $model['list.start'] = ($model['list.page'] - 1) * $model['list.limit']; $model['list.search'] = $this->input->getString('q'); $model['list.ordering'] = 'post.id desc'; $view->set('items', $model->getItems()); $view->set('pagination', $model->getPagination()->build()); $view->set('type', $type); $session->set($type . '.current.page', $page); return $view->render(); }