public function listar_materias_concurso($pk_exa_concurso_tipo, $pk_exa_concurso) { $data = $this->getParametroVisao(); $data['page'] = 'home'; $data['abaPage'] = __FUNCTION__; $data['alias'] = __FUNCTION__; $data['abaAtiva'] = $this->AbaAtiva; $data['pk_exa_concurso_tipo'] = (int) $pk_exa_concurso_tipo; $data['pk_exa_concurso'] = (int) $pk_exa_concurso; if ($_SERVER['REQUEST_METHOD'] == "POST") { try { // Soma os pesos enviados $peso_total = 0; for ($i = 1; $i <= $this->input->post('total'); $i++) { $peso_total = $peso_total + str_replace(',', '.', $this->input->post('peso_' . $i)); } // Trata os eventuais erros if ($peso_total < 9.9) { $this->session->set_flashdata('msg', '<div class="alert erro">A soma total dos pesos está inferior a 10 (' . $peso_total . ').</div>'); } else { if ($peso_total > 10.1) { $this->session->set_flashdata('msg', '<div class="alert erro">A soma total dos pesos está superior a 10 (' . $peso_total . ').</div>'); } else { $this->session->set_flashdata('msg', '<div class="alert ok">Pesos atualizados com sucesso!</div>'); } } $sqlConcurso = new SqlConcurso(); for ($i = 1; $i <= $this->input->post('total'); $i++) { $peso_final = str_replace(',', '.', $this->input->post('peso_' . $i)) / 10; echo $this->input->post('pk_exa_peso_concurso_' . $i) . ' -- ' . $peso_final . '<br />'; $sqlConcurso->incluir_pesos_materias_concurso($this->input->post('peso_' . $i), $pk_exa_concurso, $this->input->post('pk_exa_materia_' . $i), $this->input->post('chave_materias')); } redirect(base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/incluir_pesos_concurso/' . $pk_exa_concurso_tipo . '/' . $pk_exa_concurso); return false; } catch (Exception $e) { $msg = '<p class="alert erro">' . $e->getMessage() . '</p>'; } } $sqlConcurso = new SqlConcurso(); $result = $sqlConcurso->listar_materias_concurso($pk_exa_concurso, $_GET['materias']); $data['total'] = count($result); $totalQuestoes = 0; foreach ($result as $row) { $totalQuestoes = $totalQuestoes + $row['questoes']; } if ($totalQuestoes > 0) { $peso_questao = 10 / $totalQuestoes; } else { $peso_questao = 0; } if (count($result) > 0) { $this->load->library('table'); $arrHead[] = 'Matérias'; $arrHead[] = 'Questões'; $arrHead[] = 'Pesos'; $this->table->set_heading($arrHead); $count = 0; $i = 0; $soma_pesos = 0; $total = 0; $peso_total = 0; foreach ($result as $row) { $count++; $tmpl = Util::zebrar($count, count($result)); $peso_materia = $peso_questao * $row['questoes'] / 10; $peso_materia_final = $peso_materia; $data['incluir'] = $row['peso_prova'] != '' ? 0 : $i++; $cell_1 = array('data' => $row['exa_materia_nome']); $cell_2 = array('data' => $row['questoes'], 'class' => 'tcenter'); $cell_3 = array('data' => '<input type="text" name="peso_' . $count . '" class="w110 tcenter" value="' . $peso_materia_final * 10 . '" > <input type="hidden" name="pk_exa_peso_concurso_' . $count . '" value="' . $row['pk_exa_peso_concurso'] . '"> <input type="hidden" name="pk_exa_materia_' . $count . '" value="' . $row['pk_exa_materia'] . '">', 'class' => 'tcenter'); $this->table->add_row($cell_1, $cell_2, $cell_3); $total = $total + $row['questoes']; $peso_total = $peso_total + $peso_materia_final * 10; } $this->table->set_template($tmpl); } else { $data['msg'] = '<div class="alert atencao">Nenhuma prova incluída. Para cadastrar, clique no botão acima.</div>'; } // $data['msg'] = isset($_SESSION['exa_unidade']) && $_SESSION['exa_unidade'] != '' ? '<div class="alert ok">Para importar os inscritos do simulado, <a class="link" href="'. base_url().'simulado/administracao/importar_inscritos/'.$this->uri->segment(4).'"><strong>clique aqui</strong></a>.</div>' : ''; $this->load->view($this->load->getUrlTema(), $data); }