Пример #1
0
 public function valid()
 {
     $default = \Kodazzi\Tools\RegularExpression::get('username');
     if ($this->pattern) {
         $default = $this->pattern;
     }
     if (preg_match('/' . $default . '/', $this->value)) {
         return true;
     }
     return false;
 }
Пример #2
0
 public function valid()
 {
     // Permite que el password tenga letras en minusculas, mayusculas y numeros.
     $default = \Kodazzi\Tools\RegularExpression::get('password');
     if ($this->pattern) {
         $default = $this->pattern;
     }
     if (preg_match('/' . $default . '/', $this->value)) {
         $this->value = \Service::get('session')->encript($this->value);
         return true;
     }
     return false;
 }
Пример #3
0
 public function modifyPasswordAction()
 {
     $token = $this->getRequest()->get('token');
     $max_hours = 1;
     $status = 1;
     $post = $this->getPOST();
     $errors = array();
     $User = null;
     if (preg_match('/^[a-zA-Z0-9]+$/', $token)) {
         $ModelUser = $this->getDB()->model($this->model);
         $User = $ModelUser->fetch(array('token_forgotten' => $token, 'status' => 1));
         if ($User) {
             $diff = \Kodazzi\Tools\Date::diff($User->token_forgotten_created, $this->getTimestamp(), 'h');
             // SI es mayor o igual a uno o es mejor que cero dias dice que ha expirado.
             if ($diff >= $max_hours || $diff < 0) {
                 // Error 2: Token ha expirado.
                 $status = 2;
             }
         } else {
             // Error 2: Token no valido.
             $status = 5;
         }
     }
     if ($status === 1 && count($post) && array_key_exists('modify', $post) && array_key_exists('password', $post['modify']) && array_key_exists('confirmation_password', $post['modify'])) {
         $password = $post['modify']['password'];
         $confirmation_password = $post['modify']['confirmation_password'];
         if ($password != '' && $confirmation_password != '') {
             if ($password != $confirmation_password) {
                 $errors['password'] = '******';
                 $errors['confirmation_password'] = '******';
             } else {
                 if (!\Kodazzi\Tools\RegularExpression::isValidPassword($password)) {
                     $errors['password'] = '******';
                 }
             }
         } else {
             if ($password == '') {
                 $errors['password'] = '******';
             }
             if ($confirmation_password == '') {
                 $errors['confirmation_password'] = '******';
             }
         }
         if (count($errors) == 0) {
             $result = $ModelUser->update(array('password' => $this->getSession()->encript($password), 'token_forgotten' => null, 'token_forgotten_created' => null), array('id' => $User->id, 'status' => 1));
             if ((int) $result == 1) {
                 // Status 5: Clave modificada correctamente.
                 $status = 4;
             }
         }
     }
     return $this->render('Dinnovos\\Amazonas:Admin/Session:modify_password', array('status' => $status, 'max_hours' => $max_hours, 'errors' => $errors));
 }