Ejemplo n.º 1
0
 /**
  * @param $code  string
  * @param $value string
  */
 public function __construct($code = null, $value = null)
 {
     parent::__construct($code, $value);
     if (!isset($this->user)) {
         $this->user = User::current();
     }
 }
Ejemplo n.º 2
0
 /**
  * @param $parameters Parameters
  * @param $form       array
  * @param $files      array
  * @return mixed
  */
 public function run(Parameters $parameters, $form, $files)
 {
     $current = User::current();
     if ($current) {
         Authentication::disconnect(User::current());
     }
     $parameters = $this->getViewParameters($parameters, $form, User::class);
     if (isset($form['login']) && isset($form['password'])) {
         $user = null;
         $errors_messages = Authentication::controlRegisterFormParameters($form);
         if (!$errors_messages && empty($errors_messages)) {
             if (Authentication::controlNameNotUsed($form['login'])) {
                 $user = Authentication::register($form);
             }
         }
         if ($user) {
             $parameters[Template::TEMPLATE] = 'confirm';
             return View::run($parameters, $form, $files, User::class, 'register');
         } else {
             $parameters['errors'] = $errors_messages;
             $parameters[Template::TEMPLATE] = 'error';
             return View::run($parameters, $form, $files, User::class, 'register');
         }
     } else {
         $parameters['inputs'] = Authentication::getRegisterInputs();
         return View::run($parameters, $form, $files, User::class, 'register');
     }
 }
Ejemplo n.º 3
0
 /**
  * @param $parameters Parameters
  * @param $form       array
  * @param $files      array
  * @return mixed
  */
 public function run(Parameters $parameters, $form, $files)
 {
     $parameters = $parameters->getObjects();
     if ($user = User::current()) {
         array_unshift($parameters, $user);
         return View::run($parameters, $form, $files, get_class($user), 'display');
     } else {
         $user = new User();
         array_unshift($parameters, $user);
         return View::run($parameters, $form, $files, get_class($user), 'login');
     }
 }
Ejemplo n.º 4
0
 /**
  * @param Parameters $parameters
  * @param array                 $form
  * @param array                 $files
  * @return mixed
  */
 public function run(Parameters $parameters, $form, $files)
 {
     $parameters = $parameters->getObjects();
     $current_user = User::current();
     if (!isset($current_user)) {
         $current_user = new User();
     }
     Authentication::disconnect($current_user);
     array_unshift($parameters, $current_user);
     session_destroy();
     return View::run($parameters, $form, $files, get_class($current_user), 'disconnect');
 }
Ejemplo n.º 5
0
 /**
  * @param $parameters Parameters
  * @param $form       string[] an authentication form result with keys 'login' and 'password'
  * @param $files      array
  * @return mixed
  */
 public function run(Parameters $parameters, $form, $files)
 {
     if (isset($form['login']) && isset($form['password'])) {
         $current = User::current();
         if ($current) {
             Authentication::disconnect(User::current());
         }
         $user = Authentication::login($form['login'], $form['password']);
         if (isset($user)) {
             Authentication::authenticate($user);
             return (new Default_Controller())->run($parameters, $form, $files, get_class($user), 'authenticate');
         }
     }
     return (new Default_Controller())->run($parameters, $form, $files, User::class, 'authenticateError');
 }
Ejemplo n.º 6
0
 /**
  * Run method for a feature controller working for any class
  *
  * @param $parameters Parameters
  * @param $form       array
  * @param $files      array
  * @param $class_name string
  * @return mixed
  */
 public function run(Parameters $parameters, $form, $files, $class_name)
 {
     if (isset($form['login']) && isset($form['password'])) {
         $current = User::current();
         if ($current) {
             Authentication::disconnect(User::current());
         }
         $user = Authentication::login($form['login'], $form['password']);
         if (isset($user)) {
             Authentication::authenticate($user);
             return self::AUTH_OK . rParse(Session::sid(), '=');
         }
     }
     return self::AUTH_ERROR;
 }
Ejemplo n.º 7
0
 /**
  * @param $uri   string
  * @param $get   array
  * @param $post  array
  * @param $files array
  */
 public function checkUser(&$uri, &$get, &$post, &$files)
 {
     if (!User::current()) {
         if ($this->isBlank($uri)) {
             $uri = '/SAF/Framework/Application/blank';
         } elseif (!$this->exception($uri)) {
             $uri = '/SAF/Framework/User/login';
             $_get = [];
             if (isset($get[Parameter::AS_WIDGET])) {
                 $_get[Parameter::AS_WIDGET] = true;
             }
             if (isset($get[Parameter::IS_INCLUDED])) {
                 $_get[Parameter::IS_INCLUDED] = true;
             }
             $get = $_get;
             $post = [];
             $files = [];
         }
     }
 }
Ejemplo n.º 8
0
 /**
  * Remove current user from script and session
  *
  * Call this to disconnect user
  *
  * @param $user User
  */
 public static function disconnect(User $user)
 {
     User::current(new User());
     Session::current()->removeAny(get_class($user));
 }