Untitled
unknown
plain_text
3 years ago
82 kB
5
Indexable
<?php class Usuarios extends MY_Controller { public function index() { redirect($this->router->class.'/listar'); } public function login() { delete_cookie('GRUPO_EMPRESARIAL_EXTERNO'); if( $this->nativesession->get('usuario_logado') ){ redirect(); } else { //Fixando grupo empresarial de acordo com o servidor cliente J&O //Caso não se encaixe em nenhum servidor pré-definido, assume que o Elo está rodando via Cloud J&O, então exige código empresarial switch( gethostname() ){ case 'SRV-ELORP-01': $this->nativesession->set('grupo_empresarial_fixo', 1); break; case 'elo-php-2': default: $this->nativesession->set('grupo_empresarial_fixo', 0); break; } $this->load->view('usuarios/login'); } } public function login_etapa1() { if( $this->input->post() || $this->nativesession->get('codigo_usuario') ){ if( $this->nativesession->get('codigo_usuario') ){ $usuario = strip_tags( mb_strtoupper($this->nativesession->get('codigo_usuario')) ); $senha = $this->nativesession->get('senha_usuario'); $grupo = limpar_campo($this->nativesession->get('codigo_grupo_login')); $this->nativesession->delete('codigo_usuario'); $this->nativesession->delete('senha_usuario'); $this->nativesession->delete('codigo_grupo_login'); } else { $usuario = strip_tags( mb_strtoupper($this->input->post('usuario')) ); $senha = $this->input->post('senha'); $grupo = $this->nativesession->get('grupo_empresarial_fixo') != 0 ? $this->nativesession->get('grupo_empresarial_fixo') : limpar_campo($this->input->post('codigo_grupo_login')); } if( !validar_recaptcha( $this->input->post('g-recaptcha-response') ) ){ flashdata('alert-error', 'Marque a opção Eu não sou um robô'); redirect('usuarios/login'); } else { $obj = new Grupo_Empresarial(); $objGrupo = $obj->buscar_por_codigo_ativos($grupo); if ( $objGrupo->result_count() == 1 ) { $obj = new Usuario(); $data['usuario'] = $obj->login(trim($usuario), criptografar($senha), $grupo); if ($data['usuario']->result_count() == 1) { $cookie = array( 'name' => 'GRUPO_EMPRESARIAL', 'value' => serialize($grupo), 'expire' => 5184000 ); set_cookie($cookie); $obj2 = new Empresa_Usuario(); $data['empresas'] = $obj2->listar_por_usuario($data['usuario']->CD_USUARIO); if ($data['empresas']->result_count() == 1) { //Usuário pertence a somente uma empresa $retornoHorario = explode(";", (new Usuario())->verificar_permissao(conectar_oracle(), $data['usuario']->CD_EMPRESA, $data['usuario']->CD_USUARIO)); $this->nativesession->set('empreendimentos_codigos', 0); if ($retornoHorario[0] == 'S') { $obj3 = new Empresa(); $empresa = $obj3->buscar_por_id($data['empresas']->CD_EMPRESA); if ($empresa->AO_POSSUI_UNIDADE_NEGOCIO == 'S') { $objEUsuario = new Empresa_Usuario(); $unidadeNegocio = $objEUsuario->listar_unidade_negocio($data['usuario']->CD_USUARIO, $empresa->CD_EMPRESA); } else { $unidadeNegocio = null; } $imagem = file_exists("assets/upload/{$data['usuario']->CD_GRUPO_EMPRESARIAL}/usuarios/{$data['usuario']->CD_USUARIO}.jpg") ? base_url("assets/upload/{$data['usuario']->CD_GRUPO_EMPRESARIAL}/usuarios/" . buscar_thumb($data['usuario']->CD_USUARIO . '.jpg')) : base_url('assets/img/avatar.jpg'); login_usuario($data['usuario']->CD_USUARIO, $data['usuario']->DS_USUARIO, $empresa->NO_EMPRESA, $empresa->CD_EMPRESA, $imagem, buscar_permissoes($data['usuario']->CODPERFIL), $data['usuario']->CODPERFIL, $empresa->TX_CAMINHO_GRAVACAO_GED, $empresa->CD_GRUPO_EMPRESARIAL, $data['usuario']->CD_USUARIO_CADASTRO, $empresa->AO_POSSUI_VENDA_TITULO_CAP, $data['usuario']->AO_OBSERVADOR_OCORRENCIAS, $data['usuario']->AO_ACEITA_NOTIFICACOES_POPUP, $empresa->AO_POSSUI_UNIDADE_NEGOCIO, $unidadeNegocio, false, $empresa->TX_CAMINHO_MODELO_DOCTOS, $empresa->TP_PLANO_ASSIST_FUNERAL, $empresa->TX_LOGO, $empresa->TP_AMBIENTE_INSTALACAO_ELO, $data['usuario']->TP_AREA_PREFERENCIA_USUARIO, $empresa->AO_REC_ATEND_DIR_PLANO_GER_OS, $empresa->TP_METODO_INTEGRACAO_GED, $data['usuario']->AO_ADMINISTRADOR, $data['usuario']->AO_USUARIO_REC_NOTIF_SMS_RESP, $empresa->AO_POSSUI_PROD_COM_EST_UNIFIC, $empresa->URL_SERVIDOR_PAINEIS, $empresa->AO_OBRIGA_INF_LOC_VENDA_PLFUN, $empresa->AO_VENDA_CONS_PLANO_TAB_SEG, $empresa->TP_PASTA_CONTRATO_GED, $empresa->NO_FANTASIA, $empresa->NR_MAX_IMPRESSOES_TICKETS, $data['usuario']->AO_CONCEDE_DESCONTO_VENDAS, $data['usuario']->TX_EMAIL, $empresa->TP_RAMO_EMPRESARIAL_ATIVIDADE, $empresa->CD_EMPRESA_CLINICA); flashdata('alert-success', 'Bem vindo(a): ' . $data['usuario']->DS_USUARIO); if ( $data['usuario']->AO_OBRIGA_TROCA_SENHA == 'S' ) { redirect ( $this->router->class . '/trocar_senha_usuario/' . $data['usuario']->CD_USUARIO ); } if ($this->nativesession->get('usuario_url_redirecionar')) { $url = $this->nativesession->get('usuario_url_redirecionar'); $this->nativesession->delete('usuario_url_redirecionar'); redirect($url); } else { redirect(); } } else if ($retornoHorario[0] == 'N') { flashdata('alert-danger', utf8_decode($retornoHorario[1])); redirect($this->router->class . '/login'); } else { flashdata('alert-danger', 'O usuário não possui permissão de acesso nesse horário!'); redirect($this->router->class . '/login'); } } else if (!$data['empresas']->result_count()) { //Usuário não pertence a nenhuma empresa flashdata('alert-danger', 'O usuário não possui acesso a nenhum empreendimento.'); redirect($this->router->class . '/login'); } else { //Usuário pertence a mais de um empreendimento flashdata('alert-success', 'Bem vindo(a): ' . $data['usuario']->DS_USUARIO); $this->load->view('usuarios/login', $data); } } else { $this->session->set_flashdata('usuario', strip_tags($this->input->post('usuario'))); flashdata('alert-error', 'Usuário não encontrado!'); redirect($this->router->class . '/login'); } } else { $this->session->set_flashdata('usuario', strip_tags($this->input->post('usuario'))); flashdata('alert-error', 'Grupo empresarial não encontrado ou inativo!'); redirect($this->router->class . '/login'); } } } else { redirect($this->router->class.'/login'); } } public function login_etapa2() { if( $this->input->post() && $this->input->post('verificacao') == criptografar($this->input->post('codigo_usuario').'verificacao_seg') ){ //Verifica se o usuário não alterou o código do usuário no formulário, impedindo que ele logue em outros empreendimentos $obj = new Empresa(); $empresa = $obj->buscar_por_id( $this->input->post('empreendimento') ); $obj2 = new Usuario(); $u = $obj2->buscar_por_codigo( $this->input->post('codigo_usuario'), $this->input->post('grupo_usuario') ); $imagem = file_exists("assets/upload/{$u->CD_GRUPO_EMPRESARIAL}/usuarios/{$u->CD_USUARIO}.jpg") ? base_url("assets/upload/{$this->nativesession->get('usuario_grupo_empresarial')}/{$this->nativesession->get('usuario_cd_empresa')}/usuarios/" . buscar_thumb("$u->CD_USUARIO.jpg")) : base_url('assets/img/avatar.jpg'); if ( $empresa->AO_POSSUI_UNIDADE_NEGOCIO == 'S' ) { $objEUsuario = new Empresa_Usuario(); $unidadeNegocio = $objEUsuario->listar_unidade_negocio( $u->CD_USUARIO, $empresa->CD_EMPRESA ); } else { $unidadeNegocio = null; } $retornoHorario = explode(";", (new Usuario())->verificar_permissao(conectar_oracle(), $u->CD_EMPRESA, $u->CD_USUARIO) ); if ( $retornoHorario[0] == 'S') { login_usuario($this->input->post('codigo_usuario'), $this->input->post('nome_usuario'), $empresa->NO_EMPRESA, $empresa->CD_EMPRESA, $imagem, buscar_permissoes($u->CODPERFIL), $u->CODPERFIL, $empresa->TX_CAMINHO_GRAVACAO_GED, $empresa->CD_GRUPO_EMPRESARIAL, $u->CD_USUARIO_CADASTRO, $empresa->AO_POSSUI_VENDA_TITULO_CAP, $u->AO_OBSERVADOR_OCORRENCIAS, $u->AO_ACEITA_NOTIFICACOES_POPUP, $empresa->AO_POSSUI_UNIDADE_NEGOCIO, $unidadeNegocio, false, $empresa->TX_CAMINHO_MODELO_DOCTOS, $empresa->TP_PLANO_ASSIST_FUNERAL, $empresa->TX_LOGO, $empresa->TP_AMBIENTE_INSTALACAO_ELO, $u->TP_AREA_PREFERENCIA_USUARIO, $empresa->AO_REC_ATEND_DIR_PLANO_GER_OS, $empresa->TP_METODO_INTEGRACAO_GED, $u->AO_ADMINISTRADOR, $u->AO_USUARIO_REC_NOTIF_SMS_RESP, $empresa->AO_POSSUI_PROD_COM_EST_UNIFIC, $empresa->URL_SERVIDOR_PAINEIS, $empresa->AO_OBRIGA_INF_LOC_VENDA_PLFUN, $empresa->AO_VENDA_CONS_PLANO_TAB_SEG, $empresa->TP_PASTA_CONTRATO_GED, $empresa->NO_FANTASIA, $empresa->NR_MAX_IMPRESSOES_TICKETS, $u->AO_CONCEDE_DESCONTO_VENDAS, $u->TX_EMAIL, $empresa->TP_RAMO_EMPRESARIAL_ATIVIDADE, $empresa->CD_EMPRESA_CLINICA); $obj2 = new Empresa_Usuario(); $data['empresas'] = $obj2->listar_por_usuario($this->input->post('codigo_usuario')); //Deixa em sessão os empreendimentos do usuário, para facilmente logar nos outros empreendimentos $cd_empresas = array(); $no_empresas = array(); $tp_empresas = array(); foreach( $data['empresas'] AS $empresa ){ array_push($cd_empresas, $empresa->CD_EMPRESA); array_push($no_empresas, $empresa->NO_EMPRESA); array_push($tp_empresas, $empresa->TP_RAMO_EMPRESARIAL); } $this->nativesession->set('empreendimentos_codigos', $cd_empresas); $this->nativesession->set('empreendimentos_nomes', $no_empresas); $this->nativesession->set('empreendimentos_tipos', $tp_empresas); flashdata('alert-success', 'Bem vindo(a): ' . $this->input->post('nome_usuario')); if ( $u->AO_OBRIGA_TROCA_SENHA == 'S' ) { $data['usuario'] = $u; redirect ( $this->router->class . '/trocar_senha_usuario/' . $u->CD_USUARIO ); } if( $this->nativesession->get('usuario_url_redirecionar') ){ $url = $this->nativesession->get('usuario_url_redirecionar'); $this->nativesession->delete('usuario_url_redirecionar'); redirect( $url ); } else { redirect(); } } else if ($retornoHorario[0] == 'N'){ flashdata('alert-danger', utf8_encode($retornoHorario[1])); redirect($this->router->class.'/login'); } else { flashdata('alert-danger', 'O usuário não possui permissão de acesso nesse horário!'); redirect($this->router->class.'/login'); } } else { redirect($this->router->class.'/login'); } } public function trocar_senha_usuario() { if ( $this->uri->segment(3) ) { $cd = $this->uri->segment(3); if ( $cd == $this->nativesession->get('usuario_cd')) { $data['usuario'] = (new Usuario())->buscar_por_codigo($cd, $this->nativesession->get('usuario_grupo_empresarial')); $this->load->view('estrutura/topo_min'); $this->load->view($this->router->class .'/trocar_senha', $data); $this->load->view('estrutura/rodape'); } else { redirect(); } } else { redirect(); } } public function trocar_senha() { if ( $this->input->post() ) { $cd = $this->input->get('cd'); if ( $cd == $this->nativesession->get('usuario_cd')) { $senha = $this->input->post('senha') ? criptografar($this->input->post('senha')) : ''; $trocar_senha = 'N'; $obj = new Usuario(); $obj->atualizar_senha($cd, $senha, $trocar_senha, $this->nativesession->get('usuario_cd_empresa'), $this->nativesession->get('usuario_cd'), $this->dados_globais['stamp']); flashdata('alert-success', 'Bem vindo(a): ' . $this->nativesession->get('usuario_nome')); redirect(); } } } public function download_arquivo() { $usuario = $this->input->get('usuario'); $arquivo = $this->input->get('arquivo'); $base = $this->nativesession->get('caminho_ged').'/usuarios'; $local_file = "$base/$usuario/$arquivo"; $download_file = $arquivo; if ( $this->nativesession->get('metodo_integracao_ged') != 'LO') { $obj = new API_Dropbox(); $obj->getToken(); header('Location: ' . $obj->getTmpLink( "/$local_file" )); } else { // set the download rate limit (=> 20,5 kb/s) $download_rate = 200.5; if (file_exists($local_file) && is_file($local_file)) { header('Cache-control: private'); header('Content-Type: application/octet-stream'); header('Content-Length: ' . filesize($local_file)); header('Content-Disposition: filename=' . $download_file); flush(); $file = fopen($local_file, "r"); while (!feof($file)) { // send the current file part to the browser print fread($file, round($download_rate * 1024)); // flush the content to the browser flush(); // sleep one second sleep(1); } fclose($file); } else { die('Arquivo não existente'); } } } public function login_biometria() { if( !$this->nativesession->get('usuario_logado') ) { $grupo = 1; $hash = mb_strtolower( $this->uri->segment(3) ); $hash_usuario_biometria = substr(substr($hash, 32, 64), 0, 32); $hash_dia_biometria = substr($hash, 96, 128); $hash_dia_php = md5( date('d') ); $obj = new Usuario(); $u = $obj->buscar_por_hash($hash_usuario_biometria, $grupo); if( $hash_dia_biometria == $hash_dia_php ){ if( $u->result_count() == 1 ){ $imagem = file_exists("assets/upload/{$this->nativesession->get('usuario_grupo_empresarial')}/usuarios/{$u->CD_USUARIO}.jpg") ? base_url("assets/upload/{$this->nativesession->get('usuario_grupo_empresarial')}/usuarios/" . buscar_thumb( "{$u->CD_USUARIO}.jpg") ) : base_url('assets/img/avatar.jpg'); //Empresa virá fixa junto com a digital $obj2 = new Empresa(); $emp = $obj2->buscar_por_id(2); login_usuario($u->CD_USUARIO, $u->DS_USUARIO, $emp->NO_EMPRESA, $emp->CD_EMPRESA, $imagem, buscar_permissoes($u->CODPERFIL), $u->CODPERFIL, $emp->TX_CAMINHO_GRAVACAO_GED, $emp->CD_GRUPO_EMPRESARIAL, $u->CD_USUARIO_CADASTRO, $emp->AO_POSSUI_VENDA_TITULO_CAP, $u->AO_OBSERVADOR_OCORRENCIAS, $u->AO_ACEITA_NOTIFICACOES_POPUP, $emp->AO_POSSUI_UNIDADE_NEGOCIO, null, true, $emp->TX_CAMINHO_MODELO_DOCTOS, $emp->TP_PLANO_ASSIST_FUNERAL, $emp->TX_LOGO, $emp->TP_AMBIENTE_INSTALACAO_ELO, $u->TP_AREA_PREFERENCIA_USUARIO, $emp->AO_REC_ATEND_DIR_PLANO_GER_OS, $emp->TP_METODO_INTEGRACAO_GED, $u->AO_ADMINISTRADOR, $u->AO_USUARIO_REC_NOTIF_SMS_RESP, $emp->AO_POSSUI_PROD_COM_EST_UNIFIC, $emp->URL_SERVIDOR_PAINEIS, $emp->AO_OBRIGA_INF_LOC_VENDA_PLFUN, $emp->AO_VENDA_CONS_PLANO_TAB_SEG, $emp->TP_PASTA_CONTRATO_GED, $emp->NO_FANTASIA, $emp->NR_MAX_IMPRESSOES_TICKETS, $u->AO_CONCEDE_DESCONTO_VENDAS, $u->TX_EMAIL, $emp->TP_RAMO_EMPRESARIAL_ATIVIDADE, $emp->CD_EMPRESA_CLINICA); redirect('esteira_servicos'); } else { flashdata('alert-error', 'Usuário não encontrado!'); } } else { flashdata('alert-error', 'Não foi possível verificar o usuário!'); } redirect(); } else { flashdata('alert-error', 'Usuário já está logado!'); redirect('esteira_servicos'); } } public function trocar_empreendimento_logado() { autorizar_documentacao(false, $this->nativesession->get('usuario_cd'), $this->nativesession->get('usuario_cd_empresa'), $this->nativesession->get('usuario_grupo_empresarial')); $obj = new Empresa_Usuario(); $resultado = $obj->verificar_usuario_pertence_empresa( $this->nativesession->get('usuario_cd'), $this->uri->segment(3) ); if( $resultado->result_count() == 1 ){//Se usuário pertence ao empreendimento informado $obj = new Empresa(); $e = $obj->buscar_por_id( $this->uri->segment(3) ); if ( $e->AO_POSSUI_UNIDADE_NEGOCIO == 'S' ) { $objEUsuario = new Empresa_Usuario(); $unidadeNegocio = $objEUsuario->listar_unidade_negocio( $this->nativesession->get('usuario_cd'), $e->CD_EMPRESA ); } else { $unidadeNegocio = null; } $u = (new Usuario())->buscar_por_codigo($this->nativesession->get('usuario_cd'), $this->nativesession->get('usuario_grupo_empresarial')); $imagem = file_exists("assets/upload/{$e->CD_GRUPO_EMPRESARIAL}/usuarios/{$u->CD_USUARIO}.jpg") ? base_url("assets/upload/{$e->CD_GRUPO_EMPRESARIAL}/usuarios/" . buscar_thumb( "{$u->CD_USUARIO}.jpg") ) : base_url('assets/img/avatar.jpg'); if ( $e->AO_POSSUI_UNIDADE_NEGOCIO == 'S' ) { $objEUsuario = new Empresa_Usuario(); $idUnidadeNegocio = $objEUsuario->listar_unidade_negocio( $u->CD_USUARIO, $e->CD_EMPRESA ); } else { $idUnidadeNegocio = null; } $this->nativesession->set('possui_unidade_negocio', $e->AO_POSSUI_UNIDADE_NEGOCIO == 'S' ? 'S' : 'N'); $this->nativesession->set('unidade_negocio', $idUnidadeNegocio); $this->nativesession->set('usuario_empresa', $e->NO_EMPRESA); $this->nativesession->set('usuario_empresa_fantasia', $e->NO_FANTASIA); $this->nativesession->set('metodo_integracao_ged', $e->TP_METODO_INTEGRACAO_GED); $this->nativesession->set('tipo_plano_assistencial', $e->TP_PLANO_ASSIST_FUNERAL); $this->nativesession->set('usuario_cd_empresa', $this->uri->segment(3)); $this->nativesession->set('usuario_cd_empresa_clinica', $e->CD_EMPRESA_CLINICA); $this->nativesession->set('usuario_troco_premiado', $e->AO_POSSUI_VENDA_TITULO_CAP); $grupo_empresarial = $this->nativesession->get('usuario_grupo_empresarial'); $codigo_empresa = $e->CD_EMPRESA; $caminho_ged = $e->TX_CAMINHO_GRAVACAO_GED; $this->nativesession->set('caminho_ged', $e->TP_METODO_INTEGRACAO_GED != 'LO' ? "$grupo_empresarial/$codigo_empresa/$caminho_ged" : "$caminho_ged" ); $this->nativesession->set('caminho_documentos_preenchidos', $e->TX_CAMINHO_MODELO_DOCTOS ); $this->nativesession->set('usuario_empresa_logo', empty($e->TX_LOGO) || !file_exists("assets/upload/{$this->nativesession->get('usuario_grupo_empresarial')}/{$e->CD_EMPRESA}/empresas/{$e->TX_LOGO}") ? base_url('assets/img/logo.png') : base_url("assets/upload/{$this->nativesession->get('usuario_grupo_empresarial')}/{$e->CD_EMPRESA}/empresas/{$e->TX_LOGO}")); $this->nativesession->set('usuario_imagem', $imagem); $this->nativesession->set('usuario_recebe_notificacao_popup', $u->AO_ACEITA_NOTIFICACOES_POPUP); $this->nativesession->set('responde_sms', $u->AO_USUARIO_REC_NOTIF_SMS_RESP); $this->nativesession->set('usuario_area_preferencia', $u->TP_AREA_PREFERENCIA_USUARIO); $this->nativesession->set('recebe_diariamente_atendimentos', $e->AO_REC_ATEND_DIR_PLANO_GER_OS); $this->nativesession->set('tipo_plano_assistencial', $e->TP_PLANO_ASSIST_FUNERAL); $this->nativesession->set('estoque_unificado', $e->AO_POSSUI_PROD_COM_EST_UNIFIC); $this->nativesession->set('obriga_local_venda', $e->AO_OBRIGA_INF_LOC_VENDA_PLFUN); $this->nativesession->set('tipo_pasta_ged', $e->TP_PASTA_CONTRATO_GED); $this->nativesession->set('ramo_empresarial', $e->TP_RAMO_EMPRESARIAL_ATIVIDADE); // clinica $this->nativesession->set('usuario_prestador', (new Prestador_Servico())->buscar_por_usuario($u->CD_USUARIO, $e->CD_EMPRESA)); // paineis $this->nativesession->set('url_painel', $e->URL_SERVIDOR_PAINEIS); autorizar_documentacao(true, $this->nativesession->get('usuario_cd'), $e->CD_EMPRESA, $e->CD_GRUPO_EMPRESARIAL); salvar_login_usuario(); flashdata('alert-success', 'Logado agora no empreendimento '.$e->NO_EMPRESA); } else { flashdata('alert-error', 'Você não tem permissão!'); } if( $_SERVER['HTTP_REFERER'] && $_SERVER['HTTP_REFERER'] != null ){ redirect( $_SERVER['HTTP_REFERER'] ); } else { redirect(); } } public function logout() { salvar_usuario_deslogado(); autorizar_documentacao(false, $this->nativesession->get('usuario_cd'), $this->nativesession->get('usuario_cd_empresa'), $this->nativesession->get('usuario_grupo_empresarial')); $login_esteira = $this->nativesession->get('login_via_esteira_servicos'); deletar_sessoes_usuario(); deletar_cookies_usuarios(); if ($this->uri->segment(3) == 'sessao') { flashdata('alert-danger', 'Sua sessão expirou, faça o login novamente!'); } else if( $this->uri->segment(3) == 'token' ){ flashdata('alert-danger', 'Seu usuário está logado em outro local, faça o login novamente!'); } else { flashdata('alert-success', !$login_esteira ? 'Deslogado com sucesso!' : 'Operação realizada com sucesso!'); } redirect($this->router->class.'/login'); } public function cadastrar() { $obj = new Grupo_Empresarial(); $data['grupo'] = $obj->buscar_por_codigo( $this->nativesession->get('usuario_grupo_empresarial') ); $obj = new Departamento(); $data['departamentos'] = $obj->listar(); $obj = new Perfil(); $data['perfils'] = $obj->listar(null, $this->nativesession->get('usuario_grupo_empresarial')); $obj = new Empresa(); $data['empresas'] = $obj->buscar_por_grupo( $this->nativesession->get('usuario_grupo_empresarial') ); $data['linhas'] = (new Usuario_Acesso())->listar($this->uri->segment(3)); $data['empresa2'] = $obj->buscar_por_id($this->nativesession->get('usuario_cd_empresa')); $obj = new Local_Venda(); $data['locaisVenda'] = $obj->listar_por_grupo( $this->nativesession->get('usuario_grupo_empresarial') ); $obj = new Tipo_Documento_Escaneado(); $data['tipos_documentos'] = $obj->listar(); $this->load->view('estrutura/topo'); $this->load->view($this->router->class.'/cadastrar', $data); $this->load->view('estrutura/rodape'); } public function editar() { $obj = new Usuario(); $data['objeto'] = $obj->buscar_por_codigo( $this->uri->segment(3), $this->nativesession->get('usuario_grupo_empresarial') ); if( !in_array('USUARIOS', $this->nativesession->get('usuario_permissoes')) ){ //Se usuário não possui permissão de USUÁRIOS, deixa ele editar somente seu próprio cadastro if( $this->nativesession->get('usuario_cd') != $this->uri->segment(3) ){ flashdata('alert-danger', 'Você não tem permissão para realizar esta ação!'); redirect(); } } $chat = new Chat_Usuario(); $data['participante'] = $chat->buscar_por_codigo($this->uri->segment(3)); if( $data['objeto']->result_count() ){ $obj = new Grupo_Empresarial(); $data['grupo'] = $obj->buscar_por_codigo( $this->nativesession->get('usuario_grupo_empresarial') ); $obj = new Departamento(); $data['departamentos'] = $obj->listar(); $data['linhas'] = (new Usuario_Acesso())->listar($this->uri->segment(3)); $obj = new Perfil(); $data['perfils'] = $obj->listar(null, $this->nativesession->get('usuario_grupo_empresarial')); $obj = new Profissao(); $data['cargo'] = $obj->buscar_por_codigo( $data['objeto']->CD_CARGO ); $obj = new Empresa_Usuario(); $data['empresas'] = $obj->buscar_por_usuario( $data['objeto']->CD_USUARIO ); $obj = new Empresa(); $data['empresasLista'] = $obj->buscar_por_grupo( $this->nativesession->get('usuario_grupo_empresarial') ); $data['empresa2'] = $obj->buscar_por_id($this->nativesession->get('usuario_cd_empresa')); $obj = new Local_Venda(); $data['locaisVenda'] = $obj->listar_por_grupo( $this->nativesession->get('usuario_grupo_empresarial') ); $obj = new Usuario_Local_Venda(); $data['unidadesComerciaisUsuario'] = $obj->listar($this->uri->segment(3)); $obj = new Tipo_Documento_Escaneado(); $data['tipos_documentos'] = $obj->listar(); $obj = new Ged_Usuario(); $data['arquivos'] = $obj->buscar_por_usuario( $this->uri->segment(3) ); $obj = new Usuario_BI_Personalizado(); $data['bi_lista'] = $obj->buscar_por_usuario($this->uri->segment(3)); $this->load->view('estrutura/topo'); $this->load->view($this->router->class.'/editar', $data); $this->load->view('estrutura/rodape'); } else { flashdata('alert-danger', 'Objeto não encontrado!'); redirect($this->router->class.'/listar'); } } //Edição de perfil para usuários do Perfil de Acesso diferentes de 1 e 2 public function editar_perfil() { $obj = new Usuario(); $data['objeto'] = $obj->buscar_por_codigo($this->uri->segment(3), $this->nativesession->get('usuario_grupo_empresarial')); if (!in_array('USUARIOS', $this->nativesession->get('usuario_permissoes'))) { //Se usuário não possui permissão de USUÁRIOS, deixa ele editar somente seu próprio cadastro if ($this->nativesession->get('usuario_cd') != $this->uri->segment(3)) { flashdata('alert-danger', 'Você não tem permissão para realizar esta ação!'); redirect(); } } if ($data['objeto']->result_count()) { $obj = new Grupo_Empresarial(); $data['grupo'] = $obj->buscar_por_codigo($this->nativesession->get('usuario_grupo_empresarial')); $this->load->view('estrutura/topo'); $this->load->view($this->router->class . '/editar_perfil', $data); $this->load->view('estrutura/rodape'); } else { flashdata('alert-danger', 'Objeto não encontrado!'); redirect($this->router->class . '/listar'); } } public function listar() { $pagina = $this->input->get('p') ? $this->input->get('p') : 1; $status = $this->input->get('status') ? mb_strtoupper( $this->input->get('status') ): 'A'; $obj = new Usuario(); $data['objetos'] = $this->input->get('t') == 1 ? $obj->listar_todos($this->nativesession->get('usuario_grupo_empresarial'), $status) : $obj->listar_paginado( mb_strtoupper( $this->input->get('busca') ), limpar_campo($this->input->get('departamento')), $this->nativesession->get('usuario_grupo_empresarial'), $status, $pagina ); $usuarios = $obj->contar_usuarios( conectar_oracle(), $this->nativesession->get('usuario_grupo_empresarial') ); $u = explode(';', $usuarios); $data['ativos'] = $u[0]; $data['inativos'] = $u[1]; $obj = new Departamento(); $data['departamentos'] = $obj->listar(); $this->load->view('estrutura/topo'); $this->load->view('impressao/topo'); $this->load->view($this->router->class.'/listar', $data); $this->load->view('estrutura/paginacao'); $this->load->view('impressao/rodape'); $this->load->view('estrutura/rodape'); } public function vincular_perfil() { $obj = new Perfil(); $data['perfils'] = $obj->listar(null, $this->nativesession->get('usuario_grupo_empresarial')); $this->load->view('estrutura/topo'); $this->load->view($this->router->class.'/vincular_perfil', $data); $this->load->view('estrutura/rodape'); } public function salvar_vinculo_perfil() { if ( $this->input->post() ) { $perfil = $this->input->post('codigo_perfil'); $dados = ''; foreach ($this->input->post('titulo') as $i=>$titulo) { $link = $this->input->post('link')[$i]; if ( !empty($titulo) && !empty($link) ) $dados .= "$titulo;$link|"; } $obj = new Link_Usuario(); $r = explode(";", $obj->atualizar_impressao_associado(conectar_oracle(), $this->nativesession->get('usuario_cd_empresa'), $perfil, $dados)); if ($r[0] == 'S') { flashdata('alert-success', 'Operação realizada com sucesso!'); } else { flashdata('alert-danger', 'Ocorreu um problema ao realizar a operação! <br>' . $r[1]); } redirect($this->router->class . '/vincular_perfil'); } } public function cadastrar_link_util() { $this->load->view('estrutura/topo'); $this->load->view($this->router->class.'/cadastrar_link_util'); $this->load->view('estrutura/rodape'); } public function editar_link_util() { $obj = new Link_Usuario(); $data['objeto'] = $obj->buscar_por_codigo( $this->uri->segment(3), $this->nativesession->get('usuario_cd') ); if( $data['objeto']->result_count() ){ $this->load->view('estrutura/topo'); $this->load->view($this->router->class.'/editar_link_util', $data); $this->load->view('estrutura/rodape'); } else { flashdata('alert-danger', 'Objeto não encontrado!'); redirect($this->router->class.'/links_uteis'); } } public function verificar_tab() { $retorno = explode(";", (new Usuario())->verificar_permissao(conectar_oracle(), $this->nativesession->get('usuario_cd_empresa'), $this->nativesession->get('usuario_cd'))); if ($retorno[0] == 'S') { $data['linhas'] = (new Usuario_Acesso()); if ($this->input->post()) { $data['linhas'] = (new Usuario_Acesso())->listar($this->input->post('usuario')); } $this->load->view($this->router->class . '/tab3', $data); } else { echo "<h5 class=\"text-center\">$retorno[1]</h5>"; } } public function links_uteis() { $obj = new Link_Usuario(); $data['objetos'] = $obj->listar($this->nativesession->get('usuario_cd'), mb_strtoupper($this->input->get('busca')) ); $this->load->view('estrutura/topo'); $this->load->view('impressao/topo'); $this->load->view($this->router->class.'/listar_links_uteis', $data); $this->load->view('impressao/rodape'); $this->load->view('estrutura/rodape'); } public function DB_link_util() { if( $this->input->post() ){ $obj = new Link_Usuario(); $codigo = $this->input->get('cd'); $titulo = strip_tags( mb_strtoupper($this->input->post('titulo')) ); $link = prep_url( mb_strtolower($this->input->post('link')) ); $log = new Log(); $historico = "Código - $codigo #Título - $titulo #Link - $link "; if( $this->input->post('remover') == 1 ){ $obj = new Link_Usuario(); $obj->inativar($this->input->get('cd'), $this->nativesession->get('usuario_cd'), $this->dados_globais['stamp'] ); $log->salvar($this->dados_globais['stamp'], $this->nativesession->get('usuario_cd'), 30, $obj->table, uri_string(), $historico, $this->nativesession->get('usuario_cd_empresa')); } else { switch( $this->input->get('acao') ){ case 'salvar'; foreach( $this->input->post('titulo') AS $indice=>$titulo ) { if( !empty($titulo) && !empty($this->input->post('link')[$indice])){ $obj = new Link_Usuario(); $codigo = buscar_sequencia_oracle('SEQ_AUTO_ID_USUA_SIST_FAV'); $titulo = strip_tags( mb_strtoupper($titulo) ); $link = prep_url( mb_strtolower($this->input->post('link')[$indice]) ); $historico = "Código - $codigo #Título - $titulo #Link - $link "; $obj->salvar($codigo, $this->nativesession->get('usuario_cd'), $titulo, $link); $log->salvar($this->dados_globais['stamp'], $this->nativesession->get('usuario_cd'), 10, $obj->table, uri_string(), $historico, $this->nativesession->get('usuario_cd_empresa')); } } break; case 'atualizar'; $obj->atualizar($codigo, $this->nativesession->get('usuario_cd'), $titulo, $link); $log->salvar($this->dados_globais['stamp'], $this->nativesession->get('usuario_cd'), 20, $obj->table, uri_string(), $historico, $this->nativesession->get('usuario_cd_empresa')); break; } } flashdata('alert-success', 'Operação realizada com sucesso!'); redirect($this->router->class.'/links_uteis'); } } public function atualizar_acesso_link_util() { if( $this->input->post() ){ $link = limpar_campo( $this->input->post('link') ); $obj = new Link_Usuario(); $l = $obj->buscar_por_codigo($link, $this->nativesession->get('usuario_cd')); $obj->atualizar_acessos($link, $this->nativesession->get('usuario_cd'), $l->NR_QTDE_ACESSOS + 1); } } public function verificar_senha_repetida() { if( $this->input->post() && $this->input->post('s') != '' ){ $obj = new Empresa(); $emp = $obj->buscar_flag_repetir_senha( $this->nativesession->get('usuario_cd_empresa') ); if( $emp->AO_PERMITE_MESMA_SENHA_TROCA == 'S' ){ echo 'S'; } else { $nova_senha = criptografar( $this->input->post('s') ); $obj = new Usuario(); $usu = $obj->buscar_senha_atual( $this->input->post('u') ); echo $nova_senha == $usu->DS_SENHA ? 'N' : 'S'; } } else { echo "N"; } } public function DB() { if( $this->input->post() ){ $obj = new Usuario(); $codigo = $this->input->get('cd') ? $this->input->get('cd') : strip_tags( mb_strtoupper(str_replace(' ', '', $this->input->post('codigo'))) ); $grupo_empresarial = $this->nativesession->get('usuario_grupo_empresarial'); $codigo_final = $codigo.$grupo_empresarial; $nome = strip_tags( mb_strtoupper($this->input->post('nome')) ); $senha = $this->input->post('senha') ? criptografar($this->input->post('senha')) : ''; $troca_senha = strip_tags(mb_strtoupper($this->input->post('troca_senha'))); $cargo = limpar_campo($this->input->post('codigo_cargo')); $departamento = limpar_campo( $this->input->post('codigo_departamento') ); $descontos = $this->input->post('descontos'); $perfil = limpar_campo( $this->input->post('codigo_perfil') ); $administrador = $this->input->post('administrador'); $caixa = $this->input->post('caixa'); $estorna = $this->input->post('estorna'); $email = strip_tags( mb_strtolower($this->input->post('email') ) ); $ativo = $this->input->post('ativo'); $telefone_residencial = limpar_campo( $this->input->post('telefone_residencial') ); $telefone_particular = limpar_campo( $this->input->post('telefone_particular') ); $telefone_comercial = limpar_campo( $this->input->post('telefone_comercial') ); $cpf = limpar_campo( $this->input->post('cpf') ); $solucionador = strip_tags( mb_strtoupper($this->input->post('solucionador')) ); $observador = strip_tags( mb_strtoupper($this->input->post('observador')) ); $notificacao_sangria = strip_tags( mb_strtoupper($this->input->post('recebe_notificacao_sangria')) ); $notificacao_solic_pagto = strip_tags( mb_strtoupper($this->input->post('notificacao_solicitacao_pagamento')) ); $notificacao_venc_certif_nf = strip_tags( mb_strtoupper($this->input->post('notificacao_venc_certif_nf')) ); $notificacao_atraso_pgto_recorr = strip_tags( mb_strtoupper($this->input->post('notificacao_atraso_pgto_recorrencia')) ); $notificacao_falec_area_cliente = strip_tags( mb_strtoupper($this->input->post('notificacao_falec_area_cliente')) ); $notificacao_cli_vinda_consulta = strip_tags( mb_strtoupper($this->input->post('notificacao_cli_vinda_consulta')) ); $notificacao_cli_nao_vinda_consulta = strip_tags( mb_strtoupper($this->input->post('notificacao_cli_nao_vinda_consulta')) ); $notificacao_solic_compra = strip_tags( mb_strtoupper($this->input->post('notificacao_solic_compra')) ); $notificacao_solic_compra_aprov = strip_tags( mb_strtoupper($this->input->post('notificacao_solic_compra_aprovada')) ); $notificacao_rec_aviso_sms = strip_tags( mb_strtoupper($this->input->post('notificacao_rec_aviso_sms')) ); $notificacao_saldo_sms = strip_tags( mb_strtoupper($this->input->post('notificacao_saldo_sms')) ); $notificacao_ordem_compra = strip_tags( mb_strtoupper($this->input->post('notificacao_ordem_compra')) ); $notificacao_estoque_minimo = strip_tags( mb_strtoupper($this->input->post('notificacao_estoque_minimo')) ); $notificacao_crm = strip_tags( mb_strtoupper($this->input->post('notificacao_crm'))); $notificacao_prot_atdo_funer = strip_tags( mb_strtoupper($this->input->post('prot_atdo_funeraria'))); $ao_aceita_notificacoes_popup = strip_tags( mb_strtoupper($this->input->post('recebe_notificacao')) ); $recebe_notificacao_email = strip_tags( mb_strtoupper($this->input->post('recebe_notificacao_email')) ); $recebe_notificacao_sms = strip_tags( mb_strtoupper($this->input->post('recebe_notificacao_sms')) ); $recebe_notificacao_whats = strip_tags( mb_strtoupper($this->input->post('recebe_notificacao_whats')) ); $nAutorizacaoDocto = strip_tags( mb_strtoupper($this->input->post('nr_autorizacao_agente')) ); $altera_dados_falecido = strip_tags( mb_strtoupper($this->input->post('altera_dados_falecido')) ); $padrao = $this->input->post('usuario_padrao') == 'on' ? 'S' : 'N'; $motorista = $this->input->post('motorista') == 'on' ? 'S' : 'N'; $ornamentador = $this->input->post('ornamentador') == 'on' ? 'S' : 'N'; $tanatopraxista = $this->input->post('tanatopraxista') == 'on' ? 'S' : 'N'; $higienizador = $this->input->post('higienizador') == 'on' ? 'S' : 'N'; $estornaOS = strip_tags( mb_strtoupper( $this->input->post('estorna_os') ) ); $gestorDepto = strip_tags( mb_strtoupper( $this->input->post('gestor_dpto') ) ); $responsavel_fechamento = strip_tags( mb_strtoupper( $this->input->post('responsavel_fechamento') ) ); $area_preferencia = strip_tags( mb_strtoupper( $this->input->post('area_preferencia') ) ); $elo_bi = strip_tags( mb_strtoupper( $this->input->post('elo_bi') ) ); $notificacao_ecommerce = $this->input->post('notificacao_ecommerce'); $desconfirma_agenda = $this->input->post('desconfirma_agenda'); $tipo_usuario = $this->input->post('tipo_usuario'); $notif_terceiros = strip_tags( mb_strtoupper($this->input->post('notif_terceiros')) ); $regra_estorno = strip_tags( mb_strtoupper( $this->input->post('regra_estorno') ) ); $recebe_notif_boleto_nao_liq = strip_tags( mb_strtoupper( $this->input->post('recebe_notif_boleto_nao_liq') ) ); $receb_not_mural_falec = strip_tags( mb_strtoupper( $this->input->post('receb_not_mural_falec') ) ); $recebe_aviso_max_usuarios = strip_tags( mb_strtoupper( $this->input->post('recebe_aviso_max_usuarios') ) ); $permite_abrir_caixa_cvalor = strip_tags( mb_strtoupper( $this->input->post('permite_abrir_caixa_cvalor') ) ); $recebe_notificacao_venc_carteira = strip_tags( mb_strtoupper( $this->input->post('recebe_notificacao_venc_carteira') ) ); $recebe_notif_aut_atend_ext_conv = strip_tags( mb_strtoupper( $this->input->post('recebe_notif_aut_atend_ext_conv') ) ); $tp_agendamento_clinica = strip_tags( mb_strtoupper( $this->input->post('tp_agendamento_clinica') ) ); $historico = "Código - $codigo #Nome - $nome #Senha - $senha #Cargo - $cargo #Departamento - $departamento #Descontos - $descontos #Perfil - $perfil #Administrador - $administrador #Caixa - $caixa #Estorna - $estorna #E-mail - $email #Ativo - $ativo #Telefone Residencial - $telefone_residencial #Telefone Particular - $telefone_particular #Telefone Comercial - $telefone_comercial #Cpf/Cnpj - $cpf #Solucionador - $solucionador #Observador - $observador #Notificação Sangria - $notificacao_sangria #Notificação Solic. Pagto - $notificacao_solic_pagto #Recebe Notificações POPUP - $ao_aceita_notificacoes_popup #N° Autorização Docto - $nAutorizacaoDocto #Altera dados do falecido - $altera_dados_falecido #Padrão - $padrao #Motorista - $motorista #Ornamentador - $ornamentador #Tanato - $tanatopraxista #Higienizador - $higienizador #Gestor Dpto - $gestorDepto #Estorna OS - $estornaOS #Resp. Fechamento - $responsavel_fechamento #Área Preferência - $area_preferencia #Notificações Venc. - $notificacao_venc_certif_nf #Notificação Recorr. - $notificacao_atraso_pgto_recorr #Notificações Solic. Compra - $notificacao_solic_compra #Notificações Solic. Compra Aprov.- $notificacao_solic_compra_aprov #Notificações Ordem Compra - $notificacao_ordem_compra #Notificações Estoque Mínimo - $notificacao_estoque_minimo #Recebe Notif. Email - $recebe_notificacao_email #Recebe Notif. SMS - $recebe_notificacao_sms #Recebe Notif. Whats - $recebe_notificacao_whats #Notif. CRM - $notificacao_crm #Recebe Falec. Area - $notificacao_falec_area_cliente #Notificações Prot. Atdo. Funr. - $notificacao_prot_atdo_funer #Notificação Rec. Aviso SMS - $notificacao_rec_aviso_sms #Notificação Saldo Sms - $notificacao_saldo_sms #Not. Ecommerce - $notificacao_ecommerce #Not. Cli. Vinda - $notificacao_cli_vinda_consulta #Not. Cli. NVinda - $notificacao_cli_nao_vinda_consulta #Desc. Agenda - $desconfirma_agenda #Tipo Usuário - $tipo_usuario #ELO B.I. - $elo_bi #Recebe Notif. Terceiros - $notif_terceiros #Regra Est. Cupom - $regra_estorno #Recebe Notif. Boleto Não Liq. - $recebe_notif_boleto_nao_liq #Recebe Notif. Mural Falec. - $receb_not_mural_falec #Recebe Notif. Máx. Usu. Excedido - $recebe_aviso_max_usuarios #Permite Abrir Caixa Com Valor - $permite_abrir_caixa_cvalor #Recebe Notif. Venc. Carteira Motorista - $recebe_notificacao_venc_carteira #Recebe Notif. Aut. Atend. Extra Conv. - $recebe_notif_aut_atend_ext_conv #Tipo Agendamentos Clínica - $tp_agendamento_clinica"; $log = new Log(); //Remover imagem atual if( $this->input->post('remover_imagem') ){ //$this->nativesession->set('usuario_imagem', base_url('assets/upload/usuarios/avatar.jpg')); if( file_exists("assets/upload/{$this->nativesession->get('usuario_grupo_empresarial')}/usuarios/{$codigo}.jpg") ){ unlink("assets/upload/{$this->nativesession->get('usuario_grupo_empresarial')}/usuarios/{$codigo}.jpg"); unlink("assets/upload/{$this->nativesession->get('usuario_grupo_empresarial')}/usuarios/" . buscar_thumb( "{$codigo}.jpg") ); } } /* IMAGEM */ if( !empty( $_FILES['imagem']['name'] ) ){ $ext = extensao( $_FILES['imagem']['name'] ); $img = $codigo.'.jpg'; if( upload($this->router->class, 'imagem', $img, '102400', false) ){ //$this->nativesession->set('usuario_imagem', base_url('assets/upload/usuarios/'.buscar_thumb($codigo.'.jpg'))); thumb($this->router->class, $img, 100, 80, false); } } switch( $this->input->get('acao') ){ case 'salvar'; $obj->salvar($codigo_final, $codigo, $nome, $senha, $cargo, $departamento, $descontos, $this->nativesession->get('usuario_cd_empresa'), $this->nativesession->get('usuario_cd'), $this->dados_globais['stamp'], $perfil, $administrador, $caixa, $estorna, $email, $grupo_empresarial, $ativo, $telefone_residencial, $telefone_particular, $telefone_comercial, $cpf, $solucionador, $observador, $notificacao_sangria, $notificacao_solic_pagto, $ao_aceita_notificacoes_popup, $nAutorizacaoDocto, $altera_dados_falecido, $padrao, $motorista, $ornamentador, $tanatopraxista, $higienizador, $gestorDepto, $estornaOS, md5( $codigo ), $responsavel_fechamento, $area_preferencia, $notificacao_venc_certif_nf, $notificacao_solic_compra, $notificacao_solic_compra_aprov, $notificacao_ordem_compra, $notificacao_estoque_minimo, $recebe_notificacao_email, $recebe_notificacao_sms, $recebe_notificacao_whats, $notificacao_crm, $troca_senha, $notificacao_falec_area_cliente, $notificacao_atraso_pgto_recorr, $notificacao_prot_atdo_funer, $notificacao_rec_aviso_sms, $notificacao_saldo_sms, $notificacao_ecommerce, $desconfirma_agenda, $tipo_usuario, $notificacao_cli_vinda_consulta, $notificacao_cli_nao_vinda_consulta, $elo_bi, $notif_terceiros, $regra_estorno, $recebe_notif_boleto_nao_liq, $receb_not_mural_falec, $recebe_aviso_max_usuarios, $permite_abrir_caixa_cvalor, $recebe_notificacao_venc_carteira, $recebe_notif_aut_atend_ext_conv, $tp_agendamento_clinica); if ( $troca_senha == 'S' && $email != '' ) { $emp = (new Empresa())->buscar_por_id($this->nativesession->get('usuario_cd_empresa')); $mensagem = "<strong>Aviso ELO!</strong> <br><br>Quando acessar pela primeira vez o <strong>ELO Sistema Gestão Unificado</strong> será solicitado a troca de senha atual para uma senha pessoal. Escolha uma senha segura e forte, é de sua total responsabilidade manter em segurança sua credencial, não passando-a para terceiros. Se tiver dúvidas ou achar necessário, poderá trocar sua senha quantas vezes quiser, no menu do Usuário no <strong>\"Editar meus dados\"</strong><br><br>Seja bem-vindo ao <strong>ELO Sistema Gestão Unificado</strong>"; $status = enviar_email_elo($emp->TX_SIGLA, $emp->TX_USUARIO_ADM_AUT_EMAIL, $emp->TX_PROTOCOL_AUT_EMAIL, $emp->TX_ENDERECO_AUT_EMAIL, $emp->TX_PORTA_AUT_EMAIL, $emp->TX_AUTENTICACAO_ADM_SMTP, $emp->TX_SENHA_USUAR_ADM_AUT_EMAIL, 'TROCA DE SENHA NO PRIMEIRO ACESSO AO ELO.', $mensagem, $email) ? 'S' : 'N'; if ($status == 'N') { flashdata('alert-error', 'Ocorreu um problema ao enviar o e-mail!'); } } //GED $per = array('jpg', 'jpeg', 'png', 'bmp', 'pdf'); for ($i = 1; $i <= 50; $i++) { //Verifica por substituição if( !empty( $_FILES["arquivo_substituicao_$i"]['name'] ) && !empty($this->input->post('codigo_tipo_documento_substituicao_'.$i)) ) { $ext = extensao($_FILES["arquivo_substituicao_$i"]['name']); if (in_array($ext, $per)) { $obj2 = new Ged_Usuario(); $seq = buscar_sequencia_oracle($obj2->seq); $tipo_documento = limpar_campo($this->input->post('codigo_tipo_documento_substituicao_' . $i)); $arquivo = "$seq.$ext"; if (upload_ged_contratos('usuarios', $codigo, "arquivo_substituicao_$i", $arquivo)) { $obj2->salvar($seq, $codigo, $tipo_documento, $ext, $this->nativesession->get('usuario_cd_empresa'), $this->nativesession->get('usuario_cd'), $this->dados_globais['stamp'], null); $obj2 = new Ged_Usuario(); $obj2->atualizar_como_substituido($this->input->post('arquivo_ser_substituido_' . $i), $seq, $this->nativesession->get('usuario_cd_empresa'), $this->nativesession->get('usuario_cd'), $this->dados_globais['stamp']); } } } //Novo documento if (!empty($_FILES["arquivo_$i"]['name']) && !empty($this->input->post('codigo_tipo_documento_' . $i))) { $ext = extensao($_FILES["arquivo_$i"]['name']); if (in_array($ext, $per)) { $obj2 = new Ged_Usuario(); $seq = buscar_sequencia_oracle($obj2->seq); $tipo_documento = limpar_campo($this->input->post('codigo_tipo_documento_' . $i)); $arquivo = "$seq.$ext"; if ( upload_ged_contratos('usuarios', $codigo, "arquivo_$i", $arquivo) ) { $obj2->salvar($seq, $codigo, $tipo_documento, $ext, $this->nativesession->get('usuario_cd_empresa'), $this->nativesession->get('usuario_cd'), $this->dados_globais['stamp'], null); } } } } //Empresas $ids = array('0'); foreach( $this->input->post('codigo_empresa') AS $indice=>$empresa ){ $unNegocio = $this->input->post('unidade_negocio')[$indice]; if( !empty($empresa) && !in_array($empresa, $ids) ){ array_push($ids, $empresa); $obj2 = new Empresa_Usuario(); $obj2->salvar($codigo_final, $empresa, $this->nativesession->get('usuario_cd'), $this->dados_globais['stamp'], $unNegocio); $historico .= " #Empreendimento: $empresa "; } } //Períodos Acessos for ( $i = 0; $i < 7; $i++) { $dia = $this->input->post('dia_semana_' . $i); $horario_inicial = $this->input->post('horario_inicial_' . $i); $horario_final = $this->input->post('horario_final_' . $i); if ( !empty($dia) ) { $objAcesso = new Usuario_Acesso(); $sequenciaAcesso = buscar_sequencia_oracle($objAcesso->sequencia); $utilizar_24_horas = $this->input->post('utilizar_24_horas_' . $i) == 'on' ? 'S' : 'N'; $objAcesso->salvar($sequenciaAcesso, $codigo_final, $dia, $horario_inicial, $horario_final, $utilizar_24_horas, $this->nativesession->get('usuario_cd_empresa'), $this->nativesession->get('usuario_cd'), $this->dados_globais['stamp']); $log->salvar($this->dados_globais['stamp'], $this->nativesession->get('usuario_cd'), 10, $objAcesso->table, uri_string(), "Sequencia - $sequenciaAcesso #CD Usuário - $codigo_final #Dia - $dia #Horário Inicial - $horario_inicial #Horário Final - $horario_final", $this->nativesession->get('usuario_cd_empresa')); } } foreach ( $this->input->post("unidades_comerciais") as $i=>$unidade ) { if ( !empty($unidade) ) { $obj = new Usuario_Local_Venda(); $seqLocal = buscar_sequencia_oracle($obj->sequencia); $obj->salvar($seqLocal, $codigo_final, $unidade, '', $this->nativesession->get('usuario_cd_empresa'), $this->nativesession->get('usuario_cd'), $this->dados_globais['stamp']); } } $tipo_log = 10; break; case 'atualizar'; $codigo = $this->input->get('cd'); if ($ativo == 'N') { /* Lucas - 23/09/2022 - 10:43 Função para inativar o chat do usuário caso inative ele pra não aparecer usuários inativos no chat */ $objAux = new Chat_Usuario(); $objAux->atualizar($codigo, 'N', 0); $obj->deslogar_usuario_desativado($codigo); } $obj->atualizar($codigo, $nome, $senha, $cargo, $departamento, $descontos, $this->nativesession->get('usuario_cd_empresa'), $this->nativesession->get('usuario_cd'), $this->dados_globais['stamp'], $perfil, $administrador, $caixa, $estorna, $email, $ativo, $telefone_residencial, $telefone_particular, $telefone_comercial, $cpf, $solucionador, $observador, $notificacao_sangria, $notificacao_solic_pagto, $ao_aceita_notificacoes_popup, $nAutorizacaoDocto, $altera_dados_falecido, $padrao, $motorista, $ornamentador, $tanatopraxista, $higienizador, $gestorDepto, $estornaOS, $responsavel_fechamento, $area_preferencia, $notificacao_venc_certif_nf, $notificacao_solic_compra, $notificacao_solic_compra_aprov, $notificacao_ordem_compra, $notificacao_estoque_minimo, $recebe_notificacao_email, $recebe_notificacao_sms, $recebe_notificacao_whats, $notificacao_crm, $troca_senha, $notificacao_falec_area_cliente, $notificacao_atraso_pgto_recorr, $notificacao_prot_atdo_funer, $notificacao_rec_aviso_sms, $notificacao_saldo_sms, $notificacao_ecommerce, $desconfirma_agenda, $tipo_usuario, $notificacao_cli_vinda_consulta, $notificacao_cli_nao_vinda_consulta, $elo_bi, $notif_terceiros, $regra_estorno, $recebe_notif_boleto_nao_liq, $receb_not_mural_falec, $recebe_aviso_max_usuarios, $permite_abrir_caixa_cvalor, $recebe_notificacao_venc_carteira, $recebe_notif_aut_atend_ext_conv, $tp_agendamento_clinica); if ( $troca_senha == 'S' && $email != '' ) { $emp = (new Empresa())->buscar_por_id($this->nativesession->get('usuario_cd_empresa')); $mensagem = "<strong>Aviso ELO!</strong> <br><br>Quando acessar na próxima vez o <strong>ELO Sistema Gestão Unificado</strong> será solicitado a troca de senha atual para uma senha pessoal. Escolha uma senha segura e forte, é de sua total responsabilidade manter em segurança sua credencial, não passando-a para terceiros. Se tiver dúvidas ou achar necessário, poderá trocar sua senha quantas vezes quiser, no menu do Usuário no <strong>\"Editar meus dados\"</strong><br><br> <strong>Um ótimo dia de trabalho!</strong><br><br><strong>ELO Sistema Gestão Unificado</strong>"; $status = enviar_email_elo($emp->TX_SIGLA, $emp->TX_USUARIO_ADM_AUT_EMAIL, $emp->TX_PROTOCOL_AUT_EMAIL, $emp->TX_ENDERECO_AUT_EMAIL, $emp->TX_PORTA_AUT_EMAIL, $emp->TX_AUTENTICACAO_ADM_SMTP, $emp->TX_SENHA_USUAR_ADM_AUT_EMAIL, 'SOLICITAÇÃO PARA TROCAR A SENHA AO ACESSAR O ELO.', $mensagem, $email) ? 'S' : 'N'; if ($status == 'N') { flashdata('alert-error', 'Ocorreu um problema ao enviar o e-mail!'); } } if ( $this->nativesession->get('usuario_possui_chat_adm') == 'S' ) { $chat_ativo = $this->input->post('inpt_chat_ativo'); $chat_adm = $this->input->post('inpt_chat_adm'); $obj = new Chat_Usuario(); $affectedRows = $obj->atualizar( $codigo, $chat_ativo, $chat_adm ); if ( $affectedRows == 0 ) { $obj->salvar( $codigo, $chat_ativo, $chat_adm, $this->nativesession->get('usuario_grupo_empresarial')); } } //GED $per = array('jpg', 'jpeg', 'png', 'bmp', 'pdf'); for ($i = 1; $i <= 50; $i++) { //Verifica por substituição if( !empty( $_FILES["arquivo_substituicao_$i"]['name'] ) && !empty($this->input->post('codigo_tipo_documento_substituicao_'.$i)) ) { $ext = extensao($_FILES["arquivo_substituicao_$i"]['name']); if (in_array($ext, $per)) { $obj2 = new Ged_Usuario(); $seq = buscar_sequencia_oracle($obj2->seq); $tipo_documento = limpar_campo($this->input->post('codigo_tipo_documento_substituicao_' . $i)); $arquivo = "$seq.$ext"; if (upload_ged_contratos('usuarios', $codigo, "arquivo_substituicao_$i", $arquivo)) { $obj2->salvar($seq, $codigo, $tipo_documento, $ext, $this->nativesession->get('usuario_cd_empresa'), $this->nativesession->get('usuario_cd'), $this->dados_globais['stamp'], null); $obj2 = new Ged_Usuario(); $obj2->atualizar_como_substituido($this->input->post('arquivo_ser_substituido_' . $i), $seq, $this->nativesession->get('usuario_cd_empresa'), $this->nativesession->get('usuario_cd'), $this->dados_globais['stamp']); } } } //Novo documento if (!empty($_FILES["arquivo_$i"]['name']) && !empty($this->input->post('codigo_tipo_documento_' . $i))) { $ext = extensao($_FILES["arquivo_$i"]['name']); if (in_array($ext, $per)) { $obj2 = new Ged_Usuario(); $seq = buscar_sequencia_oracle($obj2->seq); $tipo_documento = limpar_campo($this->input->post('codigo_tipo_documento_' . $i)); $arquivo = "$seq.$ext"; if ( upload_ged_contratos('usuarios', $codigo, "arquivo_$i", $arquivo) ) { $obj2->salvar($seq, $codigo, $tipo_documento, $ext, $this->nativesession->get('usuario_cd_empresa'), $this->nativesession->get('usuario_cd'), $this->dados_globais['stamp'], null); } } } } //Empresas $obj2 = new Empresa_Usuario(); $obj2->remover_por_usuario( $codigo ); $ids = array('0'); foreach( $this->input->post('codigo_empresa') AS $indice=>$empresa ){ $unNegocio = $this->input->post('unidade_negocio')[$indice]; if( !empty($empresa) && !in_array($empresa, $ids) ){ array_push($ids, $empresa); $obj2 = new Empresa_Usuario(); $obj2->salvar($codigo, $empresa, $this->nativesession->get('usuario_cd'), $this->dados_globais['stamp'], $unNegocio); $historico .= " #Empreendimento: $empresa "; } } //Períodos Acessos if( $this->input->post('excluir_periodo_acesso') ){ $obj2 = new Usuario_Acesso(); foreach( $this->input->post('excluir_periodo_acesso') AS $periodo ){ $obj2->inativar($periodo, $this->nativesession->get('usuario_cd_empresa'), $this->nativesession->get('usuario_cd_empresa'), $this->dados_globais['stamp']); } } for ( $i = 0; $i < 7; $i++) { $dia = $this->input->post('dia_semana_' . $i); $horario_inicial = $this->input->post('horario_inicial_' . $i); $horario_final = $this->input->post('horario_final_' . $i); if ( !empty($dia) ) { $objAcesso = new Usuario_Acesso(); $sequenciaAcesso = buscar_sequencia_oracle($objAcesso->sequencia); $utilizar_24_horas = $this->input->post('utilizar_24_horas_' . $i) == 'on' ? 'S' : 'N'; if ( !empty($this->input->post('codigos_' . $i)) ) { $objAcesso->atualizar($this->input->post('codigos_' . $i), $codigo, $dia, $horario_inicial, $horario_final, $utilizar_24_horas, $this->nativesession->get('usuario_cd_empresa'), $this->nativesession->get('usuario_cd'), $this->dados_globais['stamp']); $log->salvar($this->dados_globais['stamp'], $this->nativesession->get('usuario_cd'), 20, $objAcesso->table, uri_string(), "Sequencia - $sequenciaAcesso #CD Usuário - $codigo #Dia - $dia #Horário Inicial - $horario_inicial #Horário Final - $horario_final", $this->nativesession->get('usuario_cd_empresa')); } else { $objAcesso->salvar($sequenciaAcesso, $codigo, $dia, $horario_inicial, $horario_final, $utilizar_24_horas, $this->nativesession->get('usuario_cd_empresa'), $this->nativesession->get('usuario_cd'), $this->dados_globais['stamp']); $log->salvar($this->dados_globais['stamp'], $this->nativesession->get('usuario_cd'), 10, $objAcesso->table, uri_string(), "Sequencia - $sequenciaAcesso #CD Usuário - $codigo #Dia - $dia #Horário Inicial - $horario_inicial #Horário Final - $horario_final", $this->nativesession->get('usuario_cd_empresa')); } } } $tipo_log = 20; foreach ( $this->input->post("unidades_comerciais") as $i=>$unidade ) { if ( !empty($unidade) ) { $obj = new Usuario_Local_Venda(); if ( isset($this->input->post('id_unidade')[$i]) ) { $seqLocal = $this->input->post('id_unidade')[$i]; $obj->atualizar($seqLocal, $codigo, $unidade, '', $this->nativesession->get('usuario_cd_empresa'), $this->nativesession->get('usuario_cd'), $this->dados_globais['stamp']); } else { $seqLocal = buscar_sequencia_oracle($obj->sequencia); $obj->salvar($seqLocal, $codigo, $unidade, '', $this->nativesession->get('usuario_cd_empresa'), $this->nativesession->get('usuario_cd'), $this->dados_globais['stamp']); } } } foreach ( $this->input->post("inativar_unidade") as $i=>$un) { $obj = new Usuario_Local_Venda(); $obj->inativar($un, $this->nativesession->get('usuario_cd_empresa'), $this->nativesession->get('usuario_cd'), $this->dados_globais['stamp']); $log = new Log(); $log->salvar($this->dados_globais['stamp'], $this->nativesession->get('usuario_cd'), 30, $obj->table, uri_string(), "Sequencia - $un #CD Usuário - $codigo", $this->nativesession->get('usuario_cd_empresa')); } foreach ($this->input->post('indice_modulo') as $i=>$atual) { $controladora = $this->input->post('modulo')[$i]; $id_modulo = $this->input->post('id_modulo')[$i]; $tp_modulo = $this->input->post('tipo_utilizacao')[$i]; $area_principal = 'N';//$this->input->post('area_principal')[$i]; if ( $id_modulo != '' && $controladora != '' ) { $obj = new Usuario_BI_Personalizado(); $seqBI = buscar_sequencia_oracle($obj->sequencia); $obj->salvar($seqBI, $codigo, $controladora, $id_modulo, $tp_modulo, $area_principal, null, $this->nativesession->get('usuario_cd_empresa'), $this->nativesession->get('usuario_cd'), $this->dados_globais['stamp']); /* todo Implementar futuramente com a atualização do BI foreach ($this->input->post("campo_$atual") as $indice=>$campo) { switch ($this->input->post("mascara_$atual")[$indice] ) { case 'mascara-data': case 'mascara-data-curta': case 'mascara-data-hora': $tp_filtro = 'D'; break; default: $tp_filtro = 'C'; break; } if ( is_numeric( $campo ) ) $tp_filtro = 'N'; $label = $this->input->post("label_$atual")[$indice]; $nome_campo = $this->input->post("nome_campo_$atual")[$indice]; $obj2 = new Usuario_BI_Personalizado_Parametro(); $seqBIParam = buscar_sequencia_oracle($obj2->sequencia); $obj2->salvar($seqBIParam, $seqBI, $tp_filtro, $label, $campo, $nome_campo, $this->nativesession->get('usuario_cd_empresa'), $this->nativesession->get('usuario_cd'), $this->dados_globais['stamp']); } */ } } break; case 'atualizar_perfil'; $codigo = $this->input->get('cd'); $obj->atualizar_perfil($codigo, $nome, $senha, $this->nativesession->get('usuario_cd_empresa'), $this->nativesession->get('usuario_cd'), $this->dados_globais['stamp'], $email, $telefone_residencial, $telefone_particular, $telefone_comercial, $cpf, $area_preferencia ); $tipo_log = 20; break; } $log->salvar($this->dados_globais['stamp'], $this->nativesession->get('usuario_cd'), $tipo_log, $obj->table, uri_string(), $historico, $this->nativesession->get('usuario_cd_empresa')); if ($ativo == 'N') { $objO = new Assunto_Item_Responsavel_Observador(); $cdFinal = $this->input->get('cd') ? $this->input->get('cd') : $codigo_final; $lista = $objO->buscar_por_usuario($cdFinal); foreach ($lista as $l) { $objO->inativar($l->ID_OCORRENCIA_ITEN_USUARIO, $this->nativesession->get('usuario_cd_empresa'), $this->nativesession->get('usuario_cd'), $this->dados_globais['stamp']); } } flashdata('alert-success', 'Operação realizada com sucesso!'); if( $this->input->post('url_anterior') && $this->input->post('url_anterior') != null ){ redirect( $this->input->post('url_anterior') ); } else { if( $codigo == $this->nativesession->get('usuario_cd') ){ redirect($this->router->class.'/editar/'.$codigo); } else { redirect($this->router->class.'/listar'); } } } } public function ajax_consultar_cadastro() { if( $this->input->post() ){ $string = mb_strtoupper( $this->input->post('info') ); $obj = new Usuario(); if( $this->input->post('usuario') != 0 ){ echo $obj->consultar_usuario_existente($string, $this->input->post('usuario'), $this->nativesession->get('usuario_grupo_empresarial')); } else { echo $obj->consultar_usuario_existente($string, null, $this->nativesession->get('usuario_grupo_empresarial')); } } } public function ajax_consultar_cadastro_cpf() { if( $this->input->post() ){ $string = limpar_campo( $this->input->post('info') ); $obj = new Usuario(); if( $this->input->post('usuario') != '0' ){//Não retirar aspas, neste caso. echo $obj->consultar_cpf_existente($string, $this->input->post('usuario'), $this->nativesession->get('usuario_grupo_empresarial')); } else { echo $obj->consultar_cpf_existente($string, null, $this->nativesession->get('usuario_grupo_empresarial')); } } } public function buscar_login_usuario() { $obj = new Log_Usuario(); $data['logs'] = $obj->buscar_por_usuario($this->input->post('usuario')); $this->load->view($this->router->class.'/lista_login', $data); } public function recuperar_senha() { if( $this->input->post() ) { $grupo = $this->input->post('codigo_grupo_login'); $usuario = mb_strtoupper($this->input->post('usuario')); $cpf = limpar_campo($this->input->post('cpf')); $metodo = $this->input->post('metodo'); $obj = new Usuario(); $usu = $obj->buscar_dados_recuperar_senha($grupo, $usuario, $cpf); if( isset($usu->CD_USUARIO) ){ $this->nativesession->set('usuario_grupo_empresarial', $grupo); $rand = rand(111111, 999999); $obj->atualizar_codigo_recuperar_senha($usu->CD_USUARIO_CADASTRO, $rand); switch( $metodo ){ case 'SMS': $msg = "ELO Gestão: Seu código de login é $rand"; $obj2 = new Retorno_Cliente_SMS_Enviada(); $obj2->envio_sms_manual(conectar_oracle(), 1, 'ELO.AUTOMACAO', null, null, null, null, null, null, null, null, '55'.$usu->NR_TELEFONE_CEL_PARTICULAR, $msg); break; case 'EMAIL': $msg = "ELO Gestão: Seu código de login é <b>$rand</b> <br><br>"; $msg .= 'Ignore esta mensagem caso não tenha solicitado.'; if( !empty($usu->TX_EMAIL) ){ $obj = new Empresa(); $emp = $obj->buscar_por_id(1);//Pegando sempre a empresa 1 de cada grupo enviar_email_elo('Elo', $emp->TX_USUARIO_AUT_EMAIL, $emp->TX_PROTOCOL_AUT_EMAIL, $emp->TX_ENDERECO_AUT_EMAIL, $emp->TX_PORTA_AUT_EMAIL, $emp->TX_AUTENTICACAO_SMTP, $emp->TX_SENHA_AUT_EMAIL, 'ELO - Seu código de acesso', $msg, $usu->TX_EMAIL ); } break; } echo "S;"; } else { echo 'N; Usuário não encontrado.'; } } } public function verificar_codigo() { if( $this->input->post() ) { $codigo = $this->input->post('numero'); $obj = new Usuario(); $data['usuario'] = $obj->buscar_por_codigo_senha($codigo); if( isset($data['usuario']->CD_USUARIO) ){ $obj->atualizar_trocar_senha($data['usuario']->CD_USUARIO, 'S'); $obj3 = new Empresa(); $empresa = $obj3->buscar_por_id($data['usuario']->CD_EMPRESA); if ($empresa->AO_POSSUI_UNIDADE_NEGOCIO == 'S') { $objEUsuario = new Empresa_Usuario(); $unidadeNegocio = $objEUsuario->listar_unidade_negocio($data['usuario']->CD_USUARIO, $empresa->CD_EMPRESA); } else { $unidadeNegocio = null; } $this->nativesession->set('usuario_grupo_empresarial', $empresa->CD_GRUPO_EMPRESARIAL); $imagem = file_exists("assets/upload/{$data['usuario']->CD_GRUPO_EMPRESARIAL}/usuarios/{$data['usuario']->CD_USUARIO}.jpg") ? base_url("assets/upload/{$this->nativesession->get('usuario_grupo_empresarial')}/usuarios/" . buscar_thumb($data['usuario']->CD_USUARIO . '.jpg')) : base_url('assets/img/avatar.jpg'); login_usuario($data['usuario']->CD_USUARIO, $data['usuario']->DS_USUARIO, $empresa->NO_EMPRESA, $empresa->CD_EMPRESA, $imagem, buscar_permissoes($data['usuario']->CODPERFIL), $data['usuario']->CODPERFIL, $empresa->TX_CAMINHO_GRAVACAO_GED, $empresa->CD_GRUPO_EMPRESARIAL, $data['usuario']->CD_USUARIO_CADASTRO, $empresa->AO_POSSUI_VENDA_TITULO_CAP, $data['usuario']->AO_OBSERVADOR_OCORRENCIAS, $data['usuario']->AO_ACEITA_NOTIFICACOES_POPUP, $empresa->AO_POSSUI_UNIDADE_NEGOCIO, $unidadeNegocio, false, $empresa->TX_CAMINHO_MODELO_DOCTOS, $empresa->TP_PLANO_ASSIST_FUNERAL, $empresa->TX_LOGO, $empresa->TP_AMBIENTE_INSTALACAO_ELO, $data['usuario']->TP_AREA_PREFERENCIA_USUARIO, $empresa->AO_REC_ATEND_DIR_PLANO_GER_OS, $empresa->TP_METODO_INTEGRACAO_GED, $data['usuario']->AO_ADMINISTRADOR, $data['usuario']->AO_USUARIO_REC_NOTIF_SMS_RESP, $empresa->AO_POSSUI_PROD_COM_EST_UNIFIC, $empresa->URL_SERVIDOR_PAINEIS, $empresa->AO_OBRIGA_INF_LOC_VENDA_PLFUN, $empresa->AO_VENDA_CONS_PLANO_TAB_SEG, $empresa->TP_PASTA_CONTRATO_GED, $empresa->NO_FANTASIA, $empresa->NR_MAX_IMPRESSOES_TICKETS, $data['usuario']->AO_CONCEDE_DESCONTO_VENDAS, $data['usuario']->TX_EMAIL, $empresa->TP_RAMO_EMPRESARIAL_ATIVIDADE, $empresa->CD_EMPRESA_CLINICA); $url = site_url('usuarios/trocar_senha_usuario/'.$data['usuario']->CD_USUARIO); echo "S;$url"; } else { echo 'N;'; } } } public function cadastrar_link_util_ajax() { if( $this->input->post() ) { $titulo = $this->input->post('titulo'); $link = $this->input->post('link'); $obj = new Link_Usuario(); if( !empty($titulo) && !empty($link)){ $resultado = explode(";", $obj->verificar_link(conectar_oracle(), $this->nativesession->get('usuario_cd_empresa'), $this->nativesession->get('usuario_cd'), $link)); if ( $resultado[0] == 'N' ) { $codigo = buscar_sequencia_oracle('SEQ_AUTO_ID_USUA_SIST_FAV'); $titulo = strip_tags(mb_strtoupper($titulo)); $link = prep_url(mb_strtolower($link)); $historico = "Código - $codigo #Título - $titulo #Link - $link "; $obj->salvar($codigo, $this->nativesession->get('usuario_cd'), $titulo, $link); $log = new Log(); $log->salvar($this->dados_globais['stamp'], $this->nativesession->get('usuario_cd'), 10, $obj->table, uri_string(), $historico, $this->nativesession->get('usuario_cd_empresa')); echo "S;"; } } } } }
Editor is loading...