/** * 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'); }
/** * 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; }