public function lembrete() { $data = $this->getParametroVisao(); $data['msg'] = $this->getMsg(); $data['abaAtiva'] = ''; $data['abaPage'] = 'lembrete'; if ($data['mobile']) { $data['page'] = 'default_novo'; $data['tema'] = $this->load->setTheme('responsive/limpo'); $data['titulo'] = "ColégioGGE - Redefinir a senha"; } else { $data['page'] = 'default_novo'; $data['tema'] = $this->load->setTheme('default'); } $data['largura'] = 400; $data['largura_percent'] = 30; $data['margin_top'] = 'margin_top50'; $data['form'] = 1; if ($_SERVER['REQUEST_METHOD'] == "POST") { try { $data['largura_percent'] = 60; $data['form'] = 0; // verfifica se o email consta na base $sqlEmail = new SqlUsuario(); $result = $sqlEmail->checa_email_lembrete($this->input->post('email')); if (count($result) == 1) { $pk_usuario = $result[0]['pk_usuario']; $tipo_usuario = ''; // verifica se o cadastro está habilitado $sqlEmail = new SqlUsuario(); $result = $sqlEmail->checa_tipo_usuario_vin_lembrete($pk_usuario); // verifica se tem pelo menos um tipo de usuário habilitado $n_habilit_tipo_vin = 0; foreach ($result as $row) { if ($row['status'] == 1) { $n_habilit_tipo_vin++; } } if (count($result) != 0) { if ($n_habilit_tipo_vin > 1) { $status_tipo_vin_desabilitado = 0; $status_tipo_desabilitado = 0; $nTiposUsuarios = 0; foreach ($result as $row) { $sqlEmail = new SqlUsuario(); $result2 = $sqlEmail->checa_tipo_usuario_status($pk_usuario, $row['tabela'], 0); // se o status do tipo de usuário estiver desabilitado, incrementa a variável $status_desabilitado if ($result2[0]['status'] == 0) { $status_tipo_desabilitado++; } // se o status do vínculo de tipo de usuário estiver desabilitado, incrementa a variável $status_desabilitado if ($row['status'] == 0) { $status_tipo_vin_desabilitado++; } $nTiposUsuarios++; } $sqlEmail = new SqlUsuario(); $result2 = $sqlEmail->checa_tipo_usuario_status($pk_usuario, $row['tabela'], 1); $tipo_usuario = '<ul class="square">'; $tipo_usuario .= '<li>' . $row['tipo_usuario_nome'] . '</li>'; $tipo_usuario .= '</ul>'; } else { $status = 0; foreach ($result as $row) { $tipo_usuario .= $row['tipo_usuario_nome']; $sqlEmail = new SqlUsuario(); $result = $sqlEmail->checa_tipo_usuario_status($pk_usuario, $row['tabela'], 1); $status_tipo_vin_desabilitado = $row['status'] == 0 ? 1 : 0; $status_tipo_desabilitado = $result[0]['status'] == 0 ? 1 : 0; $nTiposUsuarios = 1; } } } // Se o número de status desabilitados for igual ao número de permissões desabilitadas, if ($status_tipo_vin_desabilitado == $nTiposUsuarios || $status_tipo_desabilitado == $nTiposUsuarios) { echo 'número de status desabilitados igual ao número de permissões desabilitadas'; } else { $codigo = Util::getRandomString(15); $sqlEmail = new SqlUsuario(); $result = $sqlEmail->habilita_lembrete_email($pk_usuario, $codigo); $mensagem = 'Prezado usuário,<br /><br />Alguém solicitou a redefinição de acesso ao site do Colégio GGE com o email "' . $this->input->post('email') . '". Caso não tenha sido você, por favor, desconsidere este email.<br />'; if ($nTiposUsuarios == 1) { $mensagem .= 'O email informado consta no nosso sistema com a permissão de ' . $tipo_usuario . '.<br /><br />'; } else { $mensagem .= 'O email informado consta no nosso sistema com as seguintes permissões de usuário:<br />' . $tipo_usuario . '.<br />'; } $flag_responsavel = $this->input->post('responsavel') == 1 ? '?responsavel=1' : ''; $mensagem .= 'Caso deseje redefinir sua senha, clique no link abaixo:<br />'; $link_confirmacao = base_url() . 'usuario/login_w/lembrete_confirma/' . $pk_usuario . '/' . $codigo . $flag_responsavel; $mensagem .= '<a href="' . $link_confirmacao . '">' . $link_confirmacao . '</a><br /><br />'; $mensagem .= '<strong>Atenção!</strong><br />Caso solicite mais de um lembrete, a última solicitação invalidará todas as demais anteriores.<br /><br />'; $mensagem .= 'Atenciosamente,<br />Colégio GGE'; $emailDestinatario = trim($this->input->post('email')); $assunto = 'Redefinição de senha - Colégio GGE'; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; $headers .= "From: Colégio GGE <*****@*****.**>" . "\r\n"; $enviar = mail($emailDestinatario, $assunto, $mensagem, $headers); if ($enviar == 1) { $data['msg'] = '<div class="alert ok">O nosso sistema enviou uma mensagem para \\"' . $emailDestinatario . '\\". Acesse seu email e localize nossa mensagem que habilita a redefinição de senha.<br /><br /> <strong>Atenção!</strong><br /> Normalmente a mensagem de validação chega instantaneamente. Em alguns casos, no entanto, o recebimento pode demorar minutos ou até horas, caso algum servidor de email envolvido no processo esteja instável. </div>'; } else { $data['msg'] = '<div class="alert erro">O nosso sistema não conseguiu enviar a mensagem de validação para "' . $emailDestinatario . '". Provalmente um dos servidores de email envolvidos no processo está instável. Por favor, novamente mais tarde.</div>'; } } } else { $data['msg'] = '<div class="alert atencao">O email digitado (' . $this->input->post('email') . ') não consta no nosso sistema.<br /> Caso você seja aluno, <a class="link" href="' . base_url() . 'usuario/aluno/cadastrar_aluno">clique aqui</a>.<br /> Caso você seja pai, mãe ou responsável por um ou mais alunos, <a class="link" href="http://www.gge.com.br/web/?p=cadastro&f=pais">clique aqui</a>.<br /> Caso você seja da equipe GGE, <a class="link" href="http://www.gge.com.br/web/?p=paginas&f=contato">clique aqui</a> e informe seus dados. </div>'; } $this->load->view($this->load->getUrlTema(), $data); false; } catch (Exception $e) { $data['msg'] = '<p class="alert erro">' . $e->getMessage() . '</p>'; } } $this->load->view($this->load->getUrlTema(), $data); }