コード例 #1
0
 public function importar_cartoes($pk_sim_area, $pk_sim_prova)
 {
     $data = $this->getParametroVisao();
     $data['page'] = 'home';
     $data['tema'] != '' ? $this->load->setTheme($data['tema']) : '';
     $data['msg'] = $this->getMsg();
     $data['abaAtiva'] = 18;
     $data['abaPage'] = 'importar_cartoes';
     $data['alias'] = 'importar_cartoes';
     $sqlProva = new SqlProva();
     $data['titulo'] = $sqlProva->get_titulo_lista_provas($pk_sim_area);
     if ($_SERVER['REQUEST_METHOD'] == "POST") {
         try {
             // View::validarFormAntInjection($data['alias']);
             $arquivo = isset($_FILES["file"]) ? $_FILES["file"] : FALSE;
             $file_name = $_FILES["file"]["name"];
             $arquivo_nome = $this->input->post('pk_sim_prova') . '__' . $file_name;
             $imagem_dir = "uploadArquivos/easyTols/simulados/" . $arquivo_nome;
             $sqlAdministracao = new SqlAdministracao();
             $result = $sqlAdministracao->excluir_arquivo($this->input->post('pk_sim_prova'), $arquivo_nome);
             $_SESSION['tipo_cartao'] = $this->input->post('tipo_cartao');
             if (move_uploaded_file($arquivo["tmp_name"], $imagem_dir)) {
                 $file = file("uploadArquivos/easyTols/simulados/" . $arquivo_nome . "");
                 // conta o total de linhas
                 $totalLinhas = count($file);
                 //                    foreach ($file as $row)
                 //                    {
                 ////                        var_dump(strlen($row));
                 ////                        die;
                 //
                 //                        if ((strlen($row) == 120) && ($this->input->post('tipo_cartao') == 1))
                 //                        {
                 //                            $retorno = 1;
                 //                            break;
                 //                        }
                 //                        else if ((strlen($row) == 658) && ($this->input->post('tipo_cartao') == 2))
                 //                        {
                 //                            $retorno = 1;
                 //                            break;
                 //                        }
                 //                        // else if ((strlen($row) > 260) && (strlen($row) < 265) && ($this->input->post('tipo_cartao') == 3))
                 //                        else if ((strlen($row) > 260) && (strlen($row) < 525) && ($this->input->post('tipo_cartao') == 3))
                 //                        {
                 //                            $retorno = 1;
                 //                            break;
                 //                        }
                 //                        else
                 //                        {
                 //                            $retorno = 0;
                 //                        }
                 //
                 //                    }
                 $retorno = 1;
                 if ($retorno == 1) {
                     $sqlAdministracao = new SqlAdministracao();
                     $sqlAdministracao->insert_arquivo($this->input->post('pk_sim_prova'), $arquivo_nome, $this->input->post('tipo_cartao'));
                     $this->session->set_flashdata('msg', '<div class="alert ok">Arquivo enviado com sucesso!<br /><br /><ul><li>Para enviar outro arquivo, user o formulário abaixo.</li><li>Para processar os arquivos enviados, <a class="link" href="' . base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/processar_cartoes/' . $this->uri->segment(4) . '/' . $this->uri->segment(5) . '">clique aqui</a></li></ul></div>');
                     // atualiza código do tipo de cartão
                     $sqlAdministracao = new SqlAdministracao();
                     $sqlAdministracao->atualizar_tipo_cartao($this->input->post('pk_sim_prova'), $this->input->post('tipo_cartao'));
                 } else {
                     unlink("uploadArquivos/easyTols/simulados/" . $arquivo_nome . "");
                     $this->session->set_flashdata('msg', '<div class="alert erro">O Cartão enviado não corresponte ao tipo selecionado! Deveria ter </div>');
                 }
             } else {
                 $this->session->set_flashdata('msg', '<div class="alert erro">O arquivo não foi enviado ao servidor!</div>');
             }
             redirect(base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/importar_cartoes/' . $this->input->post('pk_sim_area') . '/' . $this->input->post('pk_sim_prova'));
             return false;
         } catch (Exception $e) {
             $msg = '<p class="alert erro">' . $e->getMessage() . '</p>';
         }
     }
     if ($this->input->is_ajax_request()) {
         echo json_encode(array('content' => $this->load->view($this->uri->segment(3), $data, true)));
     } else {
         $this->load->view($this->load->getUrlTema(), $data);
     }
 }