/**
  * Método para las configuraciones de seguridad
  */
 public function seguridad()
 {
     if (Input::hasPost('seguridad')) {
         //var_dump(Input::Post('seguridad'));
         if (Configuracion::setConfiguracion('update', Input::post('seguridad'))) {
             DwMessage::valid('Los datos se han actualizado correctamente');
         } else {
             DwMessage::get('error_form');
         }
     }
     $configuracion = new Configuracion();
     if (!$configuracion->getInformacionConfiguracion()) {
         DwMessage::get('id_no_found');
         return DwRedirect::toRoute('module: dashboard', 'controller: index');
     }
     $this->configuracion = $configuracion;
     $this->page_module = 'Configuración de Seguridad';
 }
 /**
  * Método para cambiar clave
  */
 public function cambiar_clave()
 {
     $this->page_title = 'Cambiar clave del usuario';
     $config = new Configuracion();
     $this->configs = $config->getInformacionConfiguracion();
     //DwMessage::warning('variable $config1: '.var_dump($config->getInformacionConfiguracion()).'');
     //$diasadicional = UsuarioClave::diasadicionales();
     //DwMessage::warning('variable $diasadicional: '.$this->config->dias_caducidad_clave.'');
     //return false;
     $usuval = UsuarioClave::clave_valida(Session::get('id'));
     //$id=Session::get('id');
     //$data = Input::post('usuario_clave');
     //Load::model('sistema/usuario_clave')->cambiar_clave($id, $data['password'], $data['repassword']);
     //DwMessage::warning('variable $data: '.var_dump($data).'');
     if ($usuval != 1) {
         if (Input::hasPost('usuario_clave')) {
             try {
                 $data = Input::post('usuario_clave');
                 $id = Session::get('id');
                 if (Load::model('sistema/usuario_clave')->cambiar_clave($id, $data['password'], $data['repassword'])) {
                     Flash::success('Cambio de clave realizado exitosamente.');
                     DwAuth::logout();
                     return Router::redirect('/sistema/login/entrar');
                 } else {
                     Input::delete();
                 }
             } catch (KumbiaException $kex) {
                 Input::delete();
                 Flash::warning("Lo sentimos ha ocurrido un error:");
                 Flash::error($kex->getMessage());
             }
         } else {
             DwMessage::info('clave aun es valida');
         }
     }
     //    DwMessage::warning('Clave aun es valida');
 }
Beispiel #3
0
 /**
  * Método para crear/modificar un objeto de base de datos
  * 
  * @param string $medthod: create, update
  * @param array $data: Data para autocargar el modelo
  * @param array $otherData: Data adicional para autocargar
  * 
  * @return object ActiveRecord
  */
 public static function setClave($method, $data, $optData = null)
 {
     $obj = new UsuarioClave($data);
     if ($optData) {
         $obj->dump_result_self($optData);
     }
     if (!empty($obj->id)) {
         //Si va a actualizar
         $old = new UsuarioClave();
         $old->find_first($obj->id);
         if (!empty($obj->oldpassword)) {
             //Si cambia de claves
             if (empty($obj->password) or empty($obj->repassword)) {
                 DwMessage::error("Indica la nueva contraseña");
                 return false;
             }
             $obj->oldpassword = md5(sha1(strtoupper($obj->oldpassword)));
             if ($obj->oldpassword !== $old->password) {
                 DwMessage::error("La contraseña anterior no coincide con la registrada. Verifica los datos e intente nuevamente");
                 return false;
             }
         }
     }
     //Verifico si las contraseñas coinciden (password y repassword)
     if (!empty($obj->password) && !empty($obj->repassword) or $method == 'create') {
         if ($method == 'create' && empty($obj->password)) {
             DwMessage::error("Indica la contraseña para el inicio de sesión");
             return false;
         }
         $obj->password = md5(sha1(strtoupper($obj->password)));
         //$obj->repassword = md5(sha1($obj->repassword)); mientras luego borrar lo de abajo
         $obj->repassword = $obj->password;
         if ($obj->password !== $obj->repassword) {
             DwMessage::error('Las contraseñas no coinciden. Verifica los datos e intenta nuevamente.');
             return 'cancel';
         }
     } else {
         if (isset($obj->id)) {
             //Mantengo la contraseña anterior
             $obj->password = $old->password;
         }
     }
     $obj->fecha_inicio = date('Y-m-d');
     $configseg = new Configuracion();
     $configseg1 = $configseg->getInformacionConfiguracion();
     $nuevafecha = strtotime('+' . $configseg1->dias_caducidad_clave . ' day', strtotime($obj->fecha_inicio));
     $nuevafecha = date('Y-m-j', $nuevafecha);
     $obj->fecha_fin = $nuevafecha;
     //return DwMessage::error('La configuracion es: '.$configseg1->dias_caducidad_clave.' la fecha inicio es: '.$obj->fecha_inicio.' la fecha final es: '.$nuevafecha.'.');
     //$fecha = date('Y-m-j');
     //$nuevafecha = strtotime ( '+2 day' , strtotime ( $fecha ) ) ;
     //$nuevafecha = date ( 'Y-m-j' , $nuevafecha );
     //echo $nuevafecha;
     $rs = $obj->{$method}();
     if ($rs) {
         $method == 'create' ? DwAudit::debug("Se ha registrado el usuario {$obj->usuario_id} en el sistema") : DwAudit::debug("Se ha modificado la información del usuario {$obj->usuario_id}");
     }
     return $rs ? $obj : FALSE;
 }