public function cadastrar_aluno() { $data = $this->getParametroVisao(); $data['msg'] = $this->getMsg(); $data['abaAtiva'] = ''; $data['abaPage'] = 'cadastrar_aluno'; if ($data['mobile']) { $data['page'] = __FUNCTION__; $data['tema'] = $this->load->setTheme('responsive/limpo'); } else { $data['page'] = 'default'; $data['tema'] = $this->load->setTheme('default'); } $data['largura_percent'] = 50; $data['margin_top'] = 'margin_top70'; $data['form'] = 1; $data['alias'] = 'aluno'; // Select filtro de unidade $sqlUsuario = new SqlUsuario(); $data['unidade'] = $sqlUsuario->unidade(); if ($_SERVER['REQUEST_METHOD'] == "POST") { try { // View::validarFormAntInjection('aluno'); $this->session->set_flashdata('cad_matricula', $this->input->post('matricula')); $this->session->set_flashdata('cad_unidade', $this->input->post('pk_unidade')); $this->session->set_flashdata('cad_responsavel', $this->input->post('responsavel')); // Se não for enviado a variável 'login' para cadastro, efetua as verificações iniciais de cadastro if ($this->input->post('email') == '') { $usuario = new SqlUsuario(); $result = $usuario->buscar_matricula($this->input->post('matricula'), $this->input->post('pk_unidade')); // Se o número de matrícula não for encontrado if ($result['total'] == 0) { $this->session->set_flashdata('msg', '<p class="alert atencao">O número de matrícula "' . $this->input->post('matricula') . '" não foi encontrado. Complemente os dados do formulário abaixo e aguarde o nosso contato. Lembrando que por ser este um email automático, algumas vezes ele é classificado como spam. Neste caso, é importante olhar também a caixa de spam ou o "lixo eletrônico". Caso o encontre em uma dessas pastas, por favor, marque-o como "não é spam" para que os próximos envios não sejam mais confundidos.</p>'); redirect(base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/enviar_mensagem?status=matricula'); } else { // Se já tiver email cadastrado if (strstr($result['registros'][0]['login'], "@") != "") { $this->session->set_flashdata('msg', '<p class="alert erro">O número de matrícula informado (' . $this->input->post('matricula') . ') já tem um email cadastrado. Complemente os dados do formulário abaixo e aguarde o nosso contato. Lembrando que por ser este um email automático, algumas vezes ele é classificado como spam. Neste caso, é importante olhar também a caixa de spam ou o "lixo eletrônico". Caso o encontre em uma dessas pastas, por favor, marque-o como "não é spam" para que os próximos envios não sejam mais confundidos. Caso não receba uma resposta em 24 horas (em dias úteis). Por favor, envie um email pelo link "Contato" do site do GGE informando o caso.</p>'); redirect(base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/enviar_mensagem?status=email_consta'); } else { $usuario = new SqlUsuario(); $result = $usuario->buscar_matricula($this->input->post('matricula'), $this->input->post('pk_unidade')); // Se o número não for localizado if ($result['total'] == 0) { $this->session->set_flashdata('msg', '<p class="alert erro">O número de matrícula "' . $this->input->post('matricula') . '" não está coincidindo com nossa base de dados. Complemente os dados do formulário abaixo e aguarde o nosso contato. Lembrando que por ser este um email automático, algumas vezes ele é classificado como spam. Neste caso, é importante olhar também a caixa de spam ou o "lixo eletrônico". Se não receber uma resposta em 24 horas. Por favor, envie um email pelo link "Contato" do site do GGE.</p>'); redirect(base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/enviar_mensagem?status=matricula'); } else { $usuario = new SqlUsuario(); $result = $usuario->buscar_matricula($this->input->post('matricula'), $this->input->post('pk_unidade')); $this->session->set_flashdata('pk_usuario', $result['registros'][0]['pk_usuario']); redirect(base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/cadastrar_aluno'); } } } } else { // Caso tenha passado por todas as verificações, cadastra os dados de login $usuario = new SqlUsuario(); $usuario->cadastrar_login_aluno($this->input->post('email'), $this->input->post('senha'), $this->input->post('pk_usuario')); $nomeDestinatario = $this->input->post('nome'); $emailDestinatario = $this->input->post('email'); $assunto = "Confirmação de dados de acesso GGE"; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; $headers .= "From: Colégio GGE <*****@*****.**>" . "\r\n"; $headers .= "Bcc: <*****@*****.**>\n"; $mensagem = 'Olá ' . $nomeDestinatario . '<br /><br /> Seguem seus dados de acesso ao site do GGE:<br/><br /> Email: ' . $emailDestinatario . '<br /> Senha: ' . $this->input->post('senha') . '<br /><br /> Atenciosamente,<br /> Colégio GGE'; $enviar = mail($emailDestinatario, $assunto, $mensagem, $headers); $this->session->set_flashdata('msg', '<p class="alert ok">Dados cadastrados com sucesso! Efetue o seu primeiro login no formulário abaixo.</p>'); redirect(base_url() . $this->uri->segment(1) . '/login_w'); } return false; } catch (Exception $e) { // Caso o erro retornado seja duplicação de email, personaliza a mensagem. if (strstr($e->getMessage(), "SQLSTATE[23505]") != "") { $data['msg'] = '<p class="alert erro">O email que você tentou cadastrar já consta no sistema. Se você não lembra de o ter cadastrado, envie uma mensagem para "' . $this->config->item('email_webmaster') . '" informando o caso. </p>'; $this->load->view($this->load->getUrlTema(), $data); } else { $data['msg'] = '<p class="alert erro">Ocorreu um erro na gravação de dados. Por favor, copie o erro abaixo e envie para o email "' . $this->config->item('email_webmaster') . '":<br />' . $e->getMessage() . '</p>'; $this->load->view($this->load->getUrlTema(), $data); } } } $this->load->view($this->load->getUrlTema(), $data); }