public function solicitarPassword() { $response = array(); $params = $this->input->post(); $usuario = $this->_usuario_model->getByRut($params['usuario']); if ($usuario) { $this->load->library(array("core/sistema/sistema_base", "Cadenas")); $nueva_pass = Cadenas::cadenaAleatorea(); if (!filter_var($usuario->usu_c_email, FILTER_VALIDATE_EMAIL) === false) { $sistema = new Sistema_base(); $data = array("usu_c_clave" => sha1($nueva_pass)); if ($this->_usuario_model->update($data, $usuario->usu_ia_id)) { $to = trim($usuario->usu_c_email); $this->load->model("sendmail_model", "_sendmail"); $subject = 'Solicitud Nueva Password'; $msg = '<h4>Módulo ' . $sistema->getSistema() . '</h4>'; $msg .= 'Estimado/a ' . $usuario->usu_c_nombre . ' ' . $usuario->usu_c_apellido_paterno . ' ' . $usuario->usu_c_apellido_materno . ':<br/><br/>'; $msg .= 'Ud. ha solicitado una nueva contraseña, la cual es: <strong>' . $nueva_pass . '</strong><br/>'; $msg .= 'Su login de usuario es: <strong>' . $usuario->usu_c_login . '</strong><br/>'; $msg .= '<p>' . date('d/m/Y') . '</p>'; $email = explode("@", $to); $mitad_email = ceil(strlen($email[0]) / 2); $x = ""; for ($i = 0; $i < $mitad_email; $i++) { $x .= "X"; } $correo = substr_replace($email[0], $x, 0, $mitad_email); if ($this->_sendmail->emailSend($to, null, null, $subject, $msg, false)) { $json['mensaje'] = "Una nueva contraseña ha sido enviada a su correo " . $correo . "@" . $email[1]; } else { $json['mensaje'] = "Se ha generado la nueva contraseña, pero no ha podido ser enviada a su correo. Intentar nuevamente o contactarse a la Mesa de Ayuda 2571581/Anexo (321581)"; } $json['estado'] = true; } else { $json['estado'] = false; $json['mensaje'] = "No se ha podido generar nueva contraseña. Intente nuevamente"; } } else { $data = array("usu_c_clave" => sha1($nueva_pass)); if ($this->_usuario_model->update($data, $usuario->usu_ia_id)) { $json['mensaje'] = "El rut ingresado no cuenta con correo electrónico asociado y debe contactar a la Mesa de Ayuda 2571581/Anexo (321581)"; $json['estado'] = true; } else { $json['estado'] = false; $json['mensaje'] = "No se ha podido generar nueva contraseña. Intente nuevamente"; } } } else { $json['estado'] = false; $json['mensaje'] = "No se encuentra usuario con rut ingresado"; } echo json_encode($json); }
/** * Guardar */ public function save() { $this->load->library(array("mantenedor/usuario/mantenedor_usuario_validar", "form/form_utilitario_select")); $this->load->model('usuario_hospitales_model'); $params = $this->input->post(null, true); $correcto = $this->mantenedor_usuario_validar->esValido($params); if ($correcto) { $data = array("usu_c_rut" => $params["rut"], "usu_c_nombre" => $params["nombre"], "usu_c_apellido_paterno" => $params["apellido_paterno"], "usu_c_apellido_materno" => $params["apellido_materno"], "bo_nacional" => $params["nacional"], "usu_c_email" => $params["email"], "usu_c_telefono" => $params["telefono_fijo"], "usu_c_celular" => $params["telefono_celular"], "crg_ia_id" => $params["cargo"], "est_ia_id" => $params["activo"]); $usuario = $this->usuario_model->getById($params["id"]); if (!is_null($usuario)) { $this->usuario_model->update($data, $usuario->usu_ia_id); $id_usuario = $usuario->usu_ia_id; if ($params["nacional"] == 1) { $lista_regiones = $this->form_utilitario_select->populateMultiselect($this->region_model->listar(), "reg_ia_id"); $this->usuario_region_model->query()->insertOneToMany("id_usuario", "id_region", $id_usuario, $lista_regiones); $lista_oficinas = $this->form_utilitario_select->populateMultiselect($this->oficina_model->listar(), "ofi_ia_id"); $this->usuario_oficina_model->query()->insertOneToMany("usu_ia_id", "ofi_ia_id", $id_usuario, $lista_oficinas); } else { $this->usuario_region_model->query()->insertOneToMany("id_usuario", "id_region", $id_usuario, $params["region"]); $this->usuario_oficina_model->query()->insertOneToMany("usu_ia_id", "ofi_ia_id", $id_usuario, $params['oficinas']); } $this->usuario_rol_model->query()->insertOneToMany("usu_ia_id", "rol_ia_id", $id_usuario, $params["roles"]); $this->usuario_laboratorio_model->query()->insertOneToMany("id_usuario", "id_laboratorio", $id_usuario, $params["laboratorio"]); /* registrar hospital asociado */ if (isset($params['hospital']) and $params['hospital'] > 0) { $arr = array('id_usuario' => $id_usuario, 'id_hospital' => $params['hospital']); $this->usuario_hospitales_model->insert($arr); } $respuesta = array("correcto" => $correcto, "error" => $this->mantenedor_usuario_validar->getErrores()); } else { $valida_rut = $this->usuario_model->getByRut($params["rut"]); if (!$valida_rut) { $data["usu_c_login"] = $this->_getLogin(str_replace(" ", ".", strtolower(substr(trim($params["nombre"]), 0, 1) . "." . trim($params["apellido_paterno"])))); $rut = explode("-", $params["rut"]); $data["usu_c_clave"] = sha1(substr($rut[0], strlen($rut[0]) - 4, 4)); $id_usuario = $this->usuario_model->insert($data); if ($params["nacional"] == 1) { $lista_regiones = $this->form_utilitario_select->populateMultiselect($this->region_model->listar(), "reg_ia_id"); $this->usuario_region_model->query()->insertOneToMany("id_usuario", "id_region", $id_usuario, $lista_regiones); $lista_oficinas = $this->form_utilitario_select->populateMultiselect($this->oficina_model->listar(), "ofi_ia_id"); $this->usuario_oficina_model->query()->insertOneToMany("usu_ia_id", "ofi_ia_id", $id_usuario, $lista_oficinas); } else { $this->usuario_region_model->query()->insertOneToMany("id_usuario", "id_region", $id_usuario, $params["region"]); $this->usuario_oficina_model->query()->insertOneToMany("usu_ia_id", "ofi_ia_id", $id_usuario, $params['oficinas']); } $this->usuario_rol_model->query()->insertOneToMany("usu_ia_id", "rol_ia_id", $id_usuario, $params["roles"]); $this->usuario_laboratorio_model->query()->insertOneToMany("id_usuario", "id_laboratorio", $id_usuario, $params["laboratorio"]); /* registrar hospital asociado */ if (isset($params['hospital']) and $params['hospital'] > 0) { $arr = array('id_usuario' => $id_usuario, 'id_hospital' => $params['hospital']); $this->usuario_hospitales_model->insert($arr); } $respuesta = array("correcto" => $correcto, "error" => $this->mantenedor_usuario_validar->getErrores()); } else { $respuesta = array("correcto" => false, "error" => array("rut" => "Ya existe un usuario con el mismo rut")); } } } else { $respuesta = array("correcto" => $correcto, "error" => $this->mantenedor_usuario_validar->getErrores()); } echo json_encode($respuesta); }