Exemple #1
0
 /**
  * Define the form fields.
  *
  * @param Form $form The Windwalker form object.
  *
  * @return  void
  */
 public function define(Form $form)
 {
     $langPrefix = WarderHelper::getPackage()->get('frontend.language.prefix', 'warder.');
     $form->add('password', new Field\PasswordField())->label(Translator::translate($langPrefix . 'user.field.password'))->set('placeholder', Translator::translate($langPrefix . 'user.field.password'));
     $form->add('password2', new Field\PasswordField())->label(Translator::translate($langPrefix . 'user.field.password.confirm'))->set('placeholder', Translator::translate($langPrefix . 'user.field.password.confirm'));
     $form->add('email', new Field\HiddenField());
     $form->add('token', new Field\HiddenField());
 }
Exemple #2
0
 /**
  * Define the form fields.
  *
  * @param Form $form The Windwalker form object.
  *
  * @return  void
  */
 public function define(Form $form)
 {
     $loginName = WarderHelper::getLoginName();
     $langPrefix = WarderHelper::getPackage()->get('frontend.language.prefix', 'warder.');
     $form->add($loginName, new Field\TextField())->label(Translator::translate($langPrefix . 'user.field.' . $loginName));
     $form->add('password', new Field\PasswordField())->label(Translator::translate($langPrefix . 'user.field.password'));
     $form->add('remember', new Field\CheckboxField())->label(Translator::translate($langPrefix . 'user.field.remember'));
 }
Exemple #3
0
 /**
  * buildInput
  *
  * @param array $attrs
  *
  * @return  string
  */
 public function buildInput($attrs)
 {
     $warder = WarderHelper::getPackage();
     $this->package = $this->get('package') ?: WarderHelper::getAdminPackage(true);
     $this->table = $this->get('table') ?: WarderTable::USERS;
     $langPrefix = $this->get('lang_prefix') ?: $warder->get('admin.language.prefix');
     $this->def('buttonText', '<i class="glyphicon glyphicon-user fa fa-user"></i> ' . Translator::translate($langPrefix . 'user.modal.field.button.select'));
     return parent::buildInput($attrs);
 }
 /**
  * prepareExecute
  *
  * @return  void
  */
 protected function prepareExecute()
 {
     if (UserHelper::isLogin()) {
         $warder = WarderHelper::getPackage();
         $this->redirect($this->router->route($warder->get('frontend.redirect.login', 'home')));
         return;
     }
     parent::prepareExecute();
 }
Exemple #5
0
 /**
  * setTitle
  *
  * @param string $title
  *
  * @return  static
  */
 public function setTitle($title = null)
 {
     $layout = $this->getLayout();
     if ($layout != 'user' && !$title) {
         $langPrefix = WarderHelper::getPackage()->get('admin.language.prefix', 'warder.');
         $title = Translator::translate($langPrefix . $layout . '.title');
     }
     return parent::setTitle($title);
 }
Exemple #6
0
 /**
  * goToLogin
  *
  * @param   string  $return
  *
  * @return  void
  */
 public static function goToLogin($return = null)
 {
     $query = array();
     if ($return) {
         $query['return'] = base64_encode($return);
     }
     $package = WarderHelper::getPackage()->getCurrentPackage();
     $url = $package->router->route('login', $query);
     Ioc::getApplication()->redirect($url);
 }
 /**
  * getSuccessRedirect
  *
  * @param DataInterface $data
  *
  * @return  string
  */
 protected function getSuccessRedirect(DataInterface $data = null)
 {
     $return = $this->getUserState($this->getContext('return'));
     if ($return) {
         $this->removeUserState($this->getContext('return'));
         return base64_decode($return);
     } else {
         return $this->router->route(WarderHelper::getPackage()->get('frontend.redirect.login', 'home'));
     }
 }
 /**
  * prepareExecute
  *
  * @return  void
  */
 protected function prepareExecute()
 {
     if (UserHelper::isLogin()) {
         $warder = WarderHelper::getPackage();
         $this->redirect($this->router->route($warder->get('frontend.redirect.login', 'home')));
         return;
     }
     parent::prepareExecute();
     $this->data['email'] = $this->input->getEmail('email');
     $this->data['token'] = $this->input->get('token');
 }
 /**
  * doExecute
  *
  * @return  mixed
  */
 protected function doExecute()
 {
     User::logout();
     $return = $this->input->getBase64($this->package->get('admin.login.return_key', 'return'));
     if ($return) {
         $this->setRedirect(base64_decode($return));
         return true;
     }
     $this->setRedirect($this->router->route(WarderHelper::getPackage()->get('admin.redirect.logout', 'home')));
     return true;
 }
 /**
  * Define the form fields.
  *
  * @param Form $form The Windwalker form object.
  *
  * @return  void
  */
 public function define(Form $form)
 {
     $loginName = WarderHelper::getLoginName();
     $langPrefix = WarderHelper::getPackage()->get('frontend.language.prefix', 'warder.');
     $form->wrap('basic', null, function (Form $form) use($loginName, $langPrefix) {
         $form->add('name', new Field\TextField())->label(Translator::translate($langPrefix . 'user.field.name'))->required();
         if (strtolower($loginName) != 'email') {
             $form->add($loginName, new Field\TextField())->label(Translator::translate($langPrefix . 'user.field.' . $loginName))->setValidator(new UserExistsValidator($loginName))->required();
         }
         $form->add('email', new Field\EmailField())->label(Translator::translate($langPrefix . 'user.field.email'))->setValidator(new UserExistsValidator('email'))->required();
         $form->add('password', new Field\PasswordField())->label(Translator::translate($langPrefix . 'user.field.password'))->set('autocomplete', 'off');
         $form->add('password2', new Field\PasswordField())->label(Translator::translate($langPrefix . 'user.field.password.confirm'))->set('autocomplete', 'off');
     });
 }
Exemple #11
0
 /**
  * Define the form fields.
  *
  * @param Form $form The Windwalker form object.
  *
  * @return  void
  */
 protected function doDefine(Form $form)
 {
     $warder = WarderHelper::getPackage();
     $loginName = WarderHelper::getLoginName();
     $langPrefix = $warder->get('admin.language.prefix');
     /*
      * Search Control
      * -------------------------------------------------
      * Add search fields as options, by default, model will search all columns.
      * If you hop that user can choose a field to search, change "display" to true.
      */
     $this->wrap(null, 'search', function (Form $form) use($loginName, $langPrefix) {
         // Search Field
         $fieldField = $this->list('field')->label(Translator::translate('phoenix.grid.search.user.field.label'))->set('display', false)->defaultValue('*')->option(Translator::translate('phoenix.core.all'), '*');
         if ($loginName != 'email') {
             $fieldField->option(Translator::translate($langPrefix . 'user.field.' . $loginName), 'user.' . $loginName);
         }
         $fieldField->option(Translator::translate($langPrefix . 'user.field.name'), 'user.name')->option(Translator::translate($langPrefix . 'user.field.email'), 'user.email')->option(Translator::translate($langPrefix . 'user.field.id'), 'user.id');
         // Search Content
         $this->text('content')->label(Translator::translate('phoenix.grid.search.label'))->set('placeholder', Translator::translate('phoenix.grid.search.label'));
     });
     /*
      * Filter Control
      * -------------------------------------------------
      * Add filter fields to this section.
      * Remember to add onchange event => this.form.submit(); or Phoenix.post();
      *
      * You can override filter actions in UsersModel::configureFilters()
      */
     $this->wrap(null, 'filter', function (Form $form) use($loginName, $langPrefix) {
         // Activated
         $this->list('activation')->label($langPrefix . 'filter.activation.label')->option('', '')->option(Translator::translate($langPrefix . 'filter.activation.select'), '')->option(Translator::translate($langPrefix . 'filter.activation.activated'), '1')->option(Translator::translate($langPrefix . 'filter.activation.unactivated'), '0')->set('onchange', 'this.form.submit()');
         // State
         $this->list('user.blocked')->label($langPrefix . 'filter.block.label')->option('', '')->option(Translator::translate($langPrefix . 'filter.block.select'), '')->option(Translator::translate($langPrefix . 'filter.block.blocked'), '1')->option(Translator::translate($langPrefix . 'filter.block.unblocked'), '0')->set('onchange', 'this.form.submit()');
     });
     /*
      * This is batch form definition.
      * -----------------------------------------------
      * Every field is a table column.
      * For example, you can add a 'category_id' field to update item category.
      */
     $this->wrap(null, 'batch', function (Form $form) {
     });
 }
Exemple #12
0
 /**
  * Define the form fields.
  *
  * @param Form $form The Windwalker form object.
  *
  * @return  void
  */
 public function define(Form $form)
 {
     $warder = WarderHelper::getPackage();
     $loginName = WarderHelper::getLoginName();
     $langPrefix = $warder->get('admin.language.prefix', 'warder.');
     // Basic fieldset
     $form->wrap('basic', null, function (Form $form) use($loginName, $langPrefix) {
         // Name
         $form->add('name', new Field\TextField())->label(Translator::translate($langPrefix . 'user.field.name'))->required(true);
         if ($loginName != 'email') {
             // Name
             $form->add($loginName, new Field\TextField())->label(Translator::translate($langPrefix . 'user.field.' . $loginName))->required(true);
         }
         // Email
         $form->add('email', new Field\EmailField())->label(Translator::translate($langPrefix . 'user.field.email'))->required();
         // Password
         $form->add('password', new Field\PasswordField())->label(Translator::translate($langPrefix . 'user.field.password'));
         // Password
         $form->add('password2', new Field\PasswordField())->label(Translator::translate($langPrefix . 'user.field.password.confirm'));
     });
     // Created fieldset
     $form->wrap('created', null, function (Form $form) use($langPrefix) {
         if (class_exists(SingleImageDragField::class)) {
             // Avatar
             $form->add('avatar', new SingleImageDragField())->label(Translator::translate($langPrefix . 'user.field.avatar'))->set('default_image', AvatarUploadHelper::getDefaultImage());
         }
         // Blocked
         $form->add('blocked', new Field\RadioField())->label(Translator::translate($langPrefix . 'user.field.name'))->set('class', 'btn-group')->set('default', 0)->option(Translator::translate($langPrefix . 'user.field.blocked.block'), 1)->option(Translator::translate($langPrefix . 'user.field.blocked.unblock'), 0);
         // ID
         $form->add('id', new Field\TextField())->label(Translator::translate($langPrefix . 'user.field.id'))->readonly();
         // Registered
         $form->add('registered', new CalendarField())->label(Translator::translate($langPrefix . 'user.field.registered'))->disabled();
         // Last Login
         $form->add('last_login', new CalendarField())->label(Translator::translate($langPrefix . 'user.field.last.login'))->disabled();
         // Last Reset
         //			$form->add('last_reset', new CalendarField)
         //				->label(Translator::translate($langPrefix . 'user.field.last.reset'))
         //				->set('readonly', true);
     });
 }
Exemple #13
0
 /**
  * buildInput
  *
  * @param array $attrs
  *
  * @return  mixed|void
  */
 public function buildInput($attrs)
 {
     $warder = WarderHelper::getPackage();
     $this->table = $warder->get('table.users', 'username');
     return parent::buildInput($attrs);
 }
 /**
  * getHomeRedirect
  *
  * @return  string
  */
 protected function getHomeRedirect()
 {
     return $this->router->route(WarderHelper::getPackage()->get('frontend.redirect.login', 'home'));
 }
Exemple #15
0
 /**
  * WarderMethod constructor.
  *
  * @param AbstractPackage $package
  */
 public function __construct(AbstractPackage $package = null)
 {
     $this->package = $package ?: WarderHelper::getPackage();
 }
Exemple #16
0
 /**
  * onViewBeforeRender
  *
  * @param Event $event
  *
  * @return  void
  */
 public function onViewBeforeRender(Event $event)
 {
     $view = $event['view'];
     if (!$view instanceof HtmlView) {
         return;
     }
     /**
      * @var HtmlView $view
      * @var BladeRenderer $renderer
      */
     $name = $view->getName();
     $renderer = $view->getRenderer();
     $app = $view->getPackage()->app;
     // Prepare View data
     if ($this->warder->isFrontend()) {
         // Extends
         $view['warder'] = new Data(['extends' => $this->warder->get('frontend.view.extends', '_global.html'), 'langPrefix' => $this->warder->get('frontend.language.prefix', 'warder.'), 'package' => WarderHelper::getPackage()]);
         // Paths
         $renderer->addPath(WARDER_SOURCE . '/Templates/' . $name . '/' . $app->get('language.locale'), PriorityQueue::LOW - 25);
         $renderer->addPath(WARDER_SOURCE . '/Templates/' . $name . '/' . $app->get('language.default'), PriorityQueue::LOW - 25);
         $renderer->addPath(WARDER_SOURCE . '/Templates/' . $name, PriorityQueue::LOW - 25);
     } elseif ($this->warder->isAdmin()) {
         // Extends
         $view['warder'] = new Data(['extends' => $this->warder->get('admin.view.extends', '_global.html'), 'langPrefix' => $this->warder->get('admin.language.prefix', 'warder.'), 'package' => WarderHelper::getPackage()]);
         // Paths
         $renderer->addPath(WARDER_SOURCE_ADMIN . '/Templates/' . $name . '/' . $app->get('language.locale'), PriorityQueue::LOW - 25);
         $renderer->addPath(WARDER_SOURCE_ADMIN . '/Templates/' . $name . '/' . $app->get('language.default'), PriorityQueue::LOW - 25);
         $renderer->addPath(WARDER_SOURCE_ADMIN . '/Templates/' . $name, PriorityQueue::LOW - 25);
     }
 }
Exemple #17
0
 /**
  * onUserAuthorisation
  *
  * @param Event $event
  *
  * @return  void
  */
 public function onUserAuthorisation(Event $event)
 {
     $user = $event['user'];
     $langPrefix = WarderHelper::getPackage()->get('admin.language.prefix', 'warder.');
     if ($user->activation) {
         throw new AuthenticateFailException(Translator::translate($langPrefix . 'login.message.inactivated'));
     }
     if ($user->blocked) {
         throw new AuthenticateFailException(Translator::translate($langPrefix . 'login.message.blocked'));
     }
 }
 /**
  * prepareExecute
  *
  * @return  void
  */
 protected function prepareExecute()
 {
     if (UserHelper::isLogin()) {
         $warder = WarderHelper::getPackage();
         $this->redirect($this->router->route($warder->get('frontend.redirect.login', 'home')));
         return;
     }
     parent::prepareExecute();
     $this->token = UserHelper::getToken($this->data['email']);
     $this->data['activation'] = UserHelper::hashPassword($this->token);
 }
 /**
  * Define the form fields.
  *
  * @param Form $form The Windwalker form object.
  *
  * @return  void
  */
 public function define(Form $form)
 {
     $langPrefix = WarderHelper::getPackage()->get('frontend.language.prefix', 'warder.');
     $form->add('email', new Field\EmailField())->label(Translator::translate($langPrefix . '.user.field.email'))->set('placeholder', Translator::translate($langPrefix . '.user.field.email'))->required();
     $form->add('token', new Field\TextField())->label(Translator::translate($langPrefix . 'user.field.token'))->set('placeholder', Translator::translate($langPrefix . 'user.field.token'))->required();
 }
Exemple #20
0
 /**
  * WarderMethod constructor.
  *
  * @param AbstractPackage $warder
  */
 public function __construct(AbstractPackage $warder = null)
 {
     $this->warder = $warder ?: WarderHelper::getPackage();
 }
Exemple #21
0
 /**
  * login
  *
  * @param string $account
  * @param string $password
  * @param bool   $remember
  * @param array  $options
  *
  * @return bool
  * @throws ValidateFailException
  */
 public function login($account, $password, $remember = false, $options = array())
 {
     $loginName = WarderHelper::getLoginName();
     $credential = new Credential();
     $credential->{$loginName} = $account;
     $credential->password = $password;
     if (isset($options['provider'])) {
         $credential->_provider = $options['provider'];
     }
     try {
         $result = User::login($credential, (bool) $remember, $options);
     } catch (AuthenticateFailException $e) {
         $langPrefix = WarderHelper::getPackage()->get('admin.language.prefix', 'warder.');
         switch (array_values($e->getMessages())[0]) {
             case Authentication::USER_NOT_FOUND:
                 $message = Translator::translate($langPrefix . 'login.message.user.not.found');
                 break;
             case Authentication::EMPTY_CREDENTIAL:
                 $message = Translator::translate($langPrefix . 'login.message.empty.credential');
                 break;
             case Authentication::INVALID_CREDENTIAL:
                 $message = Translator::translate($langPrefix . 'login.message.invalid.credential');
                 break;
             case Authentication::INVALID_PASSWORD:
                 $message = Translator::translate($langPrefix . 'login.message.invalid.password');
                 break;
             case Authentication::INVALID_USERNAME:
                 $message = Translator::translate($langPrefix . 'login.message.invalid.username');
                 break;
             default:
                 $message = $e->getMessage();
         }
         throw new ValidateFailException($message);
     }
     return $result;
 }