Beispiel #1
0
 /**
  * Método para abrir y cerrar sesión
  * @param type $opt
  * @return boolean
  */
 public static function setSession($opt = 'open', $user = NULL, $pass = NULL, $mode = NULL)
 {
     if ($opt == 'close') {
         $usuario = Session::get('id');
         if (DwAuth::logout()) {
             //Registro la salida
             Acceso::setAcceso(Acceso::SALIDA, $usuario);
             return true;
         }
         DwMessage::error(DwAuth::getError());
     } else {
         if ($opt == 'open') {
             if (DwAuth::isLogged()) {
                 return true;
             } else {
                 if (DwForm::isValidToken()) {
                     if (DwAuth::login(array('login' => $user), array('password' => sha1($pass)), $mode)) {
                         $usuario = self::getUsuarioLogueado();
                         if ($usuario->id != 2 && $usuario->estado_usuario != EstadoUsuario::ACTIVO) {
                             DwAuth::logout();
                             DwMessage::error('Lo sentimos pero tu cuenta se encuentra inactiva. <br />Si esta información es incorrecta contacta al administrador del sistema.');
                             return false;
                         }
                         Session::set('nombre', $usuario->nombre);
                         Session::set('apellido', $usuario->apellido);
                         Session::set('foto', $usuario->fotografia);
                         Session::set("ip", DwUtils::getIp());
                         Session::set('perfil', $usuario->perfil);
                         Session::set('tema', $usuario->tema);
                         Session::set('app_ajax', $usuario->app_ajax);
                         //Registro el acceso
                         Acceso::setAcceso(Acceso::ENTRADA, $usuario->id);
                         DwMessage::info("¡ Bienvenido <strong>{$usuario->login}</strong> !.");
                         return true;
                     } else {
                         DwMessage::error(DwAuth::getError());
                     }
                 } else {
                     DwMessage::info('La llave de acceso ha caducado. <br />Por favor ' . Html::link('sistema/login/entrar/', 'recarga la página <b>aquí</b>'));
                 }
             }
         } else {
             DwMessage::error('No se ha podido establecer la sesión actual.');
         }
     }
     return false;
 }
Beispiel #2
0
 /**
  * Método para abrir y cerrar sesión
  * @param type $opt
  * @return boolean
  */
 public static function setSession($opt = 'open', $user = NULL, $pass = NULL, $mode = NULL)
 {
     if ($opt == 'close') {
         //Cerrar Sesión
         $usuario = Session::get('id');
         if (DwAuth::logout()) {
             //Registro la salida
             Acceso::setAcceso(Acceso::SALIDA, $usuario);
             return TRUE;
         }
         Flash::error(DwAuth::getError());
     } else {
         if ($opt == 'open') {
             //Abrir Sesión
             if (DwAuth::isLogged()) {
                 return TRUE;
             } else {
                 if (DwForm::isValidToken()) {
                     //Si el formulario es válido
                     if (DwAuth::login(array('login' => $user), array('password' => $pass), $mode)) {
                         $usuario = self::getUsuarioLogueado();
                         if ($usuario->perfil_id != Perfil::SUPER_USUARIO && $usuario->estado_usuario != EstadoUsuario::ACTIVO) {
                             DwAuth::logout();
                             Flash::error('Lo sentimos pero tu cuenta se encuentra inactiva. <br />Si esta información es incorrecta contacta al administrador del sistema.');
                             return false;
                         }
                         Session::set("ip", DwUtils::getIp());
                         Session::set('perfil', $usuario->perfil);
                         //Registro el acceso
                         Acceso::setAcceso(Acceso::ENTRADA, $usuario->id);
                         Flash::info("¡ Bienvenido <strong>{$usuario->login}</strong> !.");
                         return TRUE;
                     } else {
                         Flash::error(DwAuth::getError());
                     }
                 } else {
                     Flash::info('La llave de acceso ha caducado. <br />Por favor ' . Html::link('sistema/login/entrar/', 'recarga la página <b>aquí</b>'));
                 }
             }
         } else {
             Flash::error('No se ha podido establecer la sesión actual.');
         }
     }
     return FALSE;
 }
Beispiel #3
0
 /**
  * Método para abrir y cerrar sesión
  * @param type $opt
  * @return boolean
  */
 public static function setSession($opt = 'open', $user = NULL, $pass = NULL, $mode = NULL)
 {
     if ($opt == 'close') {
         $usuario = Session::get('id');
         if (DwAuth::logout()) {
             //Registro la salida
             Acceso::setAcceso(Acceso::SALIDA, $usuario);
             return true;
         }
         DwMessage::error(DwAuth::getError());
     } else {
         if ($opt == 'open') {
             if (DwAuth::isLogged()) {
                 return true;
             } else {
                 if (DwForm::isValidToken()) {
                     if (DwAuth::login(array('login' => strtoupper($user)), array('password' => sha1(strtoupper($pass))), $mode)) {
                         $usuario = self::getUsuarioLogueado();
                         $usuval = UsuarioClave::clave_valida($usuario->id);
                         $usuintentos = self::usuario_intentos($usuario->id);
                         if ($usuario->estatus != 1) {
                             DwAuth::logout();
                             DwMessage::error('Lo sentimos pero tu cuenta se encuentra inactiva. <br />Si esta información es incorrecta contacta al administrador del sistema.');
                             return false;
                         }
                         if ($usuintentos == 2) {
                             // DwAuth::logout();
                             //Session::set('perfil_id', '8');
                             //Session::set('tema', 'default');
                             //Session::set('nombre1', $usuario->nombre1);
                             //Session::set('apellido1', $usuario->apellido1);
                             //return DwRedirect::to('sistema/usuario_clave/cambiar_clave');
                             //DwMessage::error('usuintentos. '.$usuintentos.'<br />Si esta información es incorrecta contacta al administrador del sistema.');
                         }
                         if ($usuval != 1) {
                             // DwAuth::logout();
                             Session::set('perfil_id', '8');
                             Session::set('tema', 'default');
                             Session::set('nombres', $usuario->nombres);
                             Session::set('apellidos', $usuario->apellidos);
                             return DwRedirect::to('sistema/usuario_clave/cambiar_clave');
                         }
                         Session::set('nombres', $usuario->nombres);
                         Session::set('apellidos', $usuario->apellidos);
                         Session::set('ip', DwUtils::getIp());
                         Session::set('perfil', $usuario->perfil);
                         Session::set('tema', $usuario->tema);
                         Session::set('app_ajax', $usuario->app_ajax);
                         //Registro el acceso
                         Acceso::setAcceso(Acceso::ENTRADA, $usuario->id);
                         DwMessage::info("¡ Bienvenido <strong>{$usuario->nombres} {$usuario->apellidos}</strong> !.");
                         return true;
                     } else {
                         DwMessage::error(DwAuth::getError());
                     }
                 } else {
                     DwMessage::info('La llave de acceso ha caducado. <br />Por favor ' . Html::link('sistema/login/entrar/', 'recarga la página <b>aquí</b>'));
                 }
             }
         } else {
             DwMessage::error('No se ha podido establecer la sesión actual.');
         }
     }
     return false;
 }
Beispiel #4
0
 /**
  * Método para setear el stilo del formulario
  */
 public static function setStyleForm($style = 'form-vertical')
 {
     self::$_style = $style;
     //Valido si se muestra el label o el help block según el tipo de formulario
     self::$_show_label = (self::$_style == 'form-search' or self::$_style == 'form-inline') ? FALSE : TRUE;
     self::$_help_block = self::$_style == 'form-search' ? FALSE : TRUE;
 }
Beispiel #5
0
 /**
  * Método que utiliza los atributos de un input o form para aplicar parámetros por defecto
  * @param type $attrs
  * @param type $type
  * @return string
  */
 protected static function _getAttrsClass($attrs, $type)
 {
     if ($type == 'form' or $type == 'form-multipart') {
         $formAjax = APP_AJAX && Session::get('app_ajax') ? TRUE : FALSE;
         if (isset($attrs['class'])) {
             if (preg_match("/\\bno-ajax\\b/i", $attrs['class'])) {
                 $formAjax = false;
             }
             //Verifico si está definida la clase dw-form
             if (!preg_match("/\\bdw-form\\b/i", $attrs['class'])) {
                 $attrs['class'] = 'dw-form ' . $attrs['class'];
             }
             //Verifico si está definida la clase para ajax, pero si no se encuentra el aplicativo para ajax
             if (preg_match("/\\bjs-remote\\b/i", $attrs['class']) && !$formAjax) {
                 $formAjax = TRUE;
             }
             //Verifico si el aplicativo está con ajax
             if ($formAjax) {
                 //Verifico si está definida la clase para ajax
                 if (!preg_match("/\\bjs-remote\\b/i", $attrs['class'])) {
                     $attrs['class'] = 'js-remote ' . $attrs['class'];
                 }
                 if (!preg_match("/\\bdw-no-validate\\b/i", $attrs['class'])) {
                     $attrs['class'] = 'dw-validate ' . $attrs['class'];
                 }
             }
         } else {
             //Asigno que pertenece a la clase dw-form y si utiliza ajax
             $attrs['class'] = $formAjax ? 'dw-form dw-validate js-remote' : 'dw-form';
         }
         if ($formAjax && !isset($attrs['data-to'])) {
             //Si es un form con ajax verifico si está definido el data-div
             $attrs['data-to'] = 'dw-shell-content';
         }
         if (!isset($attrs['id'])) {
             //Verifico si está definido el id
             $attrs['id'] = 'form-' . self::$_form;
         }
         if (!isset($attrs['name'])) {
             //Verifico si está definido el name
             $attrs['name'] = $attrs['id'];
         }
         self::$_style = isset($attrs['style-form']) ? $attrs['style-form'] : 'form-vertical';
         self::$_show_label = (self::$_style == 'form-search' or self::$_style == 'form-inline') ? false : true;
         self::$_help_block = self::$_style == 'form-search' ? false : true;
         self::$_name['id'] = $attrs['id'];
         self::$_name['name'] = $attrs['name'];
         //asigno el estilo al formulario
         $attrs['class'] = $attrs['class'] . ' ' . self::$_style;
         self::$_form++;
     } else {
         if (isset($attrs['class'])) {
             //Verifico las clases segun el tipo text, select, textarea, file, numeric, date
             if (!preg_match("/\\b{$type}\\b/i", $attrs['class'])) {
                 $attrs['class'] = $type . ' ' . $attrs['class'];
             }
             //Verifico si está la clase field
             if (!preg_match("/\\bfield\\b/i", $attrs['class'])) {
                 $attrs['class'] = 'field ' . $attrs['class'];
             }
             //Verifico si el campo es moneda
             if (preg_match("/\\binput-money\\b/i", $attrs['class'])) {
                 //@see var.js
                 $attrs['onkeyup'] = 'jsMiles(this,this.value.charAt(this.value.length-1))';
             }
         } else {
             //Si no está definida las clases las asigno según el tipo
             $attrs['class'] = $type != 'checkbox' && $type != 'radio' ? "field {$type} input-full " : "field {$type} ";
         }
         //Verifico si se utiliza la mayúscula solo para los text y textarea
         if ($type == 'text' && $type == 'textarea') {
             if (!preg_match("/\\binput-lower\\b/i", $attrs['class']) or preg_match("/\\binput-upper\\b/i", $attrs['class'])) {
                 $attrs['onchange'] = !isset($attrs['onchange']) ? 'this.value=this.value.toUpperCase()' : rtrim($attrs['onchange'], ';') . '; this.value=this.value.toUpperCase()';
             }
         }
         //Reviso si es readonly
         if (preg_match("/\\breadonly\\b/i", $attrs['class'])) {
             $attrs['readonly'] = 'readonly';
         }
         //Reviso si esta deshabilitado
         if (preg_match("/\\bdisabled\\b/i", $attrs['class'])) {
             $attrs['disabled'] = 'disabled';
         }
         //Verifico si es requerido
         if (preg_match("/\\binput-required\\b/i", $attrs['class'])) {
             $attrs['required'] = 'required';
         }
         //Verifico el data-action del input (cuando utiliza ajax)
         if (isset($attrs['data-action'])) {
             $attrs['data-action'] = PUBLIC_PATH . trim($attrs['data-action'], '/') . '/';
         }
     }
     return $attrs;
 }