Ejemplo n.º 1
0
 /**
  * initialise
  *
  * @return  void
  */
 protected function initialise()
 {
     Windwalker::prepareSystemPath($this->config);
     parent::initialise();
     // Start session
     Ioc::getSession()->start();
 }
Ejemplo n.º 2
0
 /**
  * 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;
 }
Ejemplo n.º 3
0
 /**
  * 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;
 }
Ejemplo n.º 4
0
 /**
  * initialise
  *
  * @return  void
  */
 protected function initialise()
 {
     Windwalker::prepareSystemPath($this->config);
     parent::initialise();
     if (!$this->config->get('system.debug')) {
         SimpleErrorHandler::registerErrorHandler();
     }
     // Start session
     Ioc::getSession();
 }
Ejemplo n.º 5
0
 /**
  * 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;
 }
Ejemplo n.º 6
0
 /**
  * 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;
 }
Ejemplo n.º 7
0
 /**
  * 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;
 }
Ejemplo n.º 8
0
 /**
  * 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();
 }