/** * Método que cadastra os conteúdos ministrados pelos professores no sistema */ public function cadastrar_conteudo_form_apostila($fk_materia_vin = 0, $fk_usuario_professor = 0, $pk_grade = 0, $ordem = 0, $data_evento = '', $pk_aula = 0, $aula = 0, $falta = 0, $falta_providencia = 0, $pk_aula_substituida = 0) { $data = $this->getParametroVisao(); $data['abaAtiva'] = 7; $data['abaPage'] = $data['alias'] = $data['page'] = __FUNCTION__; $data['page'] = 'home'; $data['msg'] = $this->getMsg(); $_SESSION['capitulo_sequencial'] = ''; $data['pk_livro'] = isset($_GET['pk_livro']) ? (int) $_GET['pk_livro'] : 0; if ($_SERVER['REQUEST_METHOD'] == "POST") { try { // View::validarFormAntInjection($data['alias']); $data_aula = $this->input->post('data_aula') != '' ? $this->input->post('data_aula') : ''; $data_inclusao = date('Y-m-d H:i:s'); $fk_usuario_professor = $this->input->post('fk_usuario_professor') != '' ? $this->input->post('fk_usuario_professor') : 0; $fk_materia_vin = $this->input->post('fk_materia_vin') != '' ? $this->input->post('fk_materia_vin') : 0; $fk_grade = $this->input->post('fk_grade') != '' ? $this->input->post('fk_grade') : 0; $fk_usuario_inc = $data['idUsuario']; $atraso = $this->input->post('atraso') != '' ? $this->input->post('atraso') : 0; $falta = $this->input->post('falta') != '' ? $this->input->post('falta') : 0; $falta_providencia = $this->input->post('falta_providencia') != '' ? $this->input->post('falta_providencia') : 0; $obs = $this->input->post('obs') != '' ? $this->input->post('obs') : ''; $pk_aula_substituida = $this->input->post('pk_aula_substituida') != '' ? $this->input->post('pk_aula_substituida') : 0; $ano = substr($this->input->post('data_aula'), 0, 4); $mes = substr($this->input->post('data_aula'), 5, 2); $dia = substr($this->input->post('data_aula'), 8, 2); $_SESSION['diasemana'] = date("w", mktime(0, 0, 0, $mes, $dia, $ano)); $_SESSION['diasemana_nome'] = Util::diaSemana($_SESSION['diasemana']); $_SESSION['data_aula'] = $dia . '/' . $mes . '/' . $ano; $_SESSION['data_evento'] = $ano . '-' . $mes . '-' . $dia; // INICIA O CADASTRO DA AULA NA AGENDA DIÁRIA $capitulo = ''; $conteudo = $this->input->post('conteudo') != '' ? $this->input->post('conteudo') : ''; $paginas = $this->input->post('paginas') != '' ? $this->input->post('paginas') : ''; $exercicios_casa = $this->input->post('exercicios_casa') != '' ? $this->input->post('exercicios_casa') : ''; $exercicios_sala = ''; $conteudos_livro_tratado = ''; $status = 1; $bimestre = $this->input->post('volume'); $sqlAulas = new SqlAulas(); $pk_aula = $sqlAulas->cadastrar_aula($data_aula, $conteudo, $capitulo, $paginas, $exercicios_sala, $exercicios_casa, $data_inclusao, $fk_usuario_professor, $fk_materia_vin, $fk_grade, $fk_usuario_inc, $atraso, $falta, $falta_providencia, $obs, $status, $this->input->post('fk_livro'), $conteudos_livro_tratado, $conteudo, $this->input->post('aula_numero'), $bimestre, $pk_aula_substituida); // conta o número de tópicos abordados $total_aulas_dadas = 0; for ($i = 1; $i <= $this->input->post('total'); $i++) { if ($this->input->post('aula_apostila_' . $i) != '0#0') { $total_aulas_dadas++; } } if ($total_aulas_dadas == 0 && $this->input->post('obs') == '') { $this->session->set_flashdata('msg', '<div class="alert erro"></div>'); } // Este reset é temporário. A partir de 2016 deverá ser retirado, pois o link da chave primária (pk_aula) com a chave estrangeira já fará esta ação $sqlAulas = new SqlAulas(); $sqlAulas->reset_aula_apostila($fk_usuario_professor, $_SESSION['pk_turma_cadastro_aula'], $data_aula, $this->input->post('aula_numero')); for ($i = 1; $i <= $this->input->post('total'); $i++) { if ($this->input->post('aula_apostila_' . $i) != '0#0') { $divide = explode('#', $this->input->post('aula_apostila_' . $i)); $pk_conteudo = $divide[0]; $status = $divide[1]; $sqlAulas->cadastrar_aula_apostila($pk_conteudo, $fk_usuario_professor, $_SESSION['pk_turma_cadastro_aula'], $data_aula, $status, $this->input->post('aula_numero'), $pk_aula); if (is_array($this->input->post('erro' . $i))) { $erros = ''; foreach ($this->input->post('erro' . $i) as $row) { $erros .= $row . ','; } $sqlAulas->cadastrar_erros($pk_conteudo, $fk_usuario_professor, $erros, $this->input->post('erro_descricao' . $i)); } } } // CONSOLIDA OS PERCENTUAIS DO PROFESSOR E DA TURMA if ($total_aulas_dadas > 0) { consolidaDadosProfessor::processa_dados($data['ano_letivo'], $fk_usuario_professor, $_SESSION['pk_turma_cadastro_aula'], $fk_materia_vin, $this->input->post('fk_livro'), $this->input->post('aula_numero'), $data_aula, $_SESSION['pk_serie_cadastro_aula'], $_SESSION['pk_unidade_cadastro_aula']); } // Cadastra registro de atraso no FAP, caso o select de falta seja selecionado. if ($this->input->post('atraso') != 0) { if ($this->input->post('atraso') == 5) { $pk_fap_subtipo = 1; } else { if ($this->input->post('atraso') == 10) { $pk_fap_subtipo = 2; } else { if ($this->input->post('atraso') == 15) { $pk_fap_subtipo = 3; } else { if ($this->input->post('atraso') == 20) { $pk_fap_subtipo = 4; } } } } $RegistroFap = new RegistroFap(); $result = $RegistroFap->cadastrar_registro($fk_usuario_professor, $pk_fap_subtipo, '', $data_aula, $pk_aula, $aula); } else { $this->session->set_flashdata('msg', '<div class="alert ok">Conteúdos incluídos com sucesso!</div>'); } if ($_SESSION['redirect'] != '') { redirect($_SESSION['redirect']); } else { redirect(base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/cadastrar_conteudo_dados'); } return false; } catch (Exception $e) { $msg = '<p class="alert erro">' . $e->getMessage() . '</p>'; } } if ($this->uri->segment(4) != '') { if (!isset($_GET['pk_livro'])) { $sqlAulas = new SqlAulas(); $result = $sqlAulas->get_ultimo_volume_serie($_SESSION['pk_serie_cadastro_aula'], $data['ano_letivo']); if (!empty($result)) { redirect($data['urlAtual'] . '?&pk_livro=' . $result[0]['pk_livro'] . '&volume=' . $result[0]['volume']); } } $_SESSION['pk_livro'] = isset($_GET['pk_livro']) ? (int) $_GET['pk_livro'] : 0; $config['base_url'] = base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/' . $this->uri->segment(3) . '/'; $pk_livro = isset($_GET['pk_livro']) ? (int) $_GET['pk_livro'] : 0; $sqlAulas = new SqlAulas(); $result = $sqlAulas->get_ultima_aula($data['ano_letivo'], $fk_usuario_professor, $fk_materia_vin, $_SESSION['pk_turma_cadastro_aula'], $pk_livro); $data['ultima_aula'] = !empty($result) ? $result[0]['aula'] : ''; $result = $sqlAulas->get_aulas_dadas($data['ano_letivo'], $fk_usuario_professor, $fk_materia_vin, $_SESSION['pk_turma_cadastro_aula'], $pk_livro); $ultimo_registro = end($result); $data['ultima_aula'] = !empty($result) ? $ultimo_registro['aula'] : ''; $remover_aulas_dadas = array(); foreach ($result as $row) { $remover_aulas_dadas[] = $row['aula']; } $aulas_programadas = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70); $aulas_seguintes = array_diff($aulas_programadas, $remover_aulas_dadas); $select = '<p> <label>Sequencial da aula atual: </label> <select name="aula_numero" class="w70">'; foreach ($aulas_seguintes as $aul) { $select .= '<option value="' . $aul . '">' . $aul . '</option>'; } $select .= '</select> </p>'; $data['select_aula'] = $select; $sqlGrade = new SqlGrade(); $result = $sqlGrade->get_materia_vin_nome($this->uri->segment(4)); $data['materia'] = $result[0]['materia_nome']; $data['pk_materia_vin'] = $this->uri->segment(4); $sqlProfessor = new SqlUsuario(); $result = $sqlProfessor->get_nome_professor($this->uri->segment(5)); $data['professor'] = $result[0]['nome']; $data['pk_usuario_professor'] = $this->uri->segment(5); $data['livro'] = $sqlAulas->get_livro($data['ano_letivo'], $_SESSION['pk_serie_cadastro_aula'], $fk_materia_vin); $livro = explode("&pk_livro=", $_SERVER['QUERY_STRING']); $data['livro_url'] = $config['base_url'] . $this->uri->segment(4) . '/' . $this->uri->segment(5) . '/' . $this->uri->segment(6) . '/' . $this->uri->segment(7) . '/' . $this->uri->segment(8) . '?' . $livro[0]; $result = $sqlAulas->get_capitulo_livro($data['ano_letivo'], $_SESSION['pk_serie_cadastro_aula'], $fk_materia_vin, $_SESSION['pk_livro']); $i = 0; $html = ''; foreach ($result as $row) { $html .= '<h3>' . $row['capitulo_sequencial'] . ' - ' . $row['capitulo_nome'] . '</h3>'; $result = $sqlAulas->get_conteudo_livro($row['pk_capitulo'], $fk_usuario_professor, $_SESSION['pk_turma_cadastro_aula'], $aula); //var_dump($result); $i2 = 0; $erros = ''; $html .= '<table><tr><th class="w50">Status Anterior</th><th class="w300">Tópicos</th><th class="w70">Páginas</th><th>Status Atual</th><th></th></tr>'; foreach ($result as $item) { $i2++; $zebra = Util::zebrarGeral($i2, count($result)); $i++; $status_anterior = View::status_aula_novo($item['status']); $html .= '<tr ' . $zebra . '> <td class="tcenter ' . $status_anterior['cor'] . '">' . $status_anterior['label'] . '</td> <td>Tópico ' . $item['topico'] . ' - ' . $item['conteudo_nome'] . '</td> <td>pag. ' . $item['paginas_trabalhadas'] . '</td> <td> <select name="aula_apostila_' . $i . '" class="w150" id="select_' . $i . '"> <option value="0#0"></option>'; if ($item['status'] == 1) { $html .= '<option value="' . $item['pk_conteudo'] . '#1">Em andamento</option>'; $html .= '<option value="' . $item['pk_conteudo'] . '#2">Concluído</option>'; } else { if ($item['status'] == 2) { $html .= '<option value="' . $item['pk_conteudo'] . '#3">Revisado</option>'; } else { if ($item['status'] == 3) { $html .= '<option value="' . $item['pk_conteudo'] . '#3">Revisado</option>'; } else { $html .= '<option value="' . $item['pk_conteudo'] . '#1">Em andamento</option>'; $html .= '<option value="' . $item['pk_conteudo'] . '#2">Concluído</option>'; } } } $html .= '</select></td>'; $html .= '<td> <a class="mostraDivOculta link" data-id="' . $item['pk_conteudo'] . '">Sugestões de melhorias<br /> no livro didático</a> </td> </tr>'; $zebrar = $zebra == 'class="par"' ? 'par' : ''; $html .= '<tr class="DivOculta ' . $zebrar . '" id="' . $item['pk_conteudo'] . '"> <td></td> <td colspan="5">'; $html .= '<p> <label for="exercicios_sala">Reportar erros do material didático:</label> <div class="left">'; $html .= '<input type="checkbox" name="erro' . $i . '[]" value="1"> Melhorar conteúdo<br />'; $html .= '<input type="checkbox" name="erro' . $i . '[]" value="2"> Falta exercícios<br />'; $html .= '<input type="checkbox" name="erro' . $i . '[]" value="3"> Erro conceitual<br />'; $html .= '<input type="checkbox" name="erro' . $i . '[]" value="4"> Erro de diagramação<br />'; $html .= '<input type="checkbox" name="erro' . $i . '[]" value="5"> Erro gramatical<br />'; $html .= '<input type="checkbox" name="erro' . $i . '[]" value="6"> Erro de gabarito<br />'; $html .= '</div> <textarea name="erro_descricao' . $i . '" class="ml20 w450 h100"></textarea> </p> </td> </tr>'; } $html .= '</table>'; $html .= '<br />'; } $data['total'] = $i; $data['conteudo'] = $html; } $data['formulario'] = isset($_GET['pk_livro']) ? 'cadastrar_conteudo_form_apostila' : 'cadastrar_conteudo_form'; $this->load->view($this->load->getUrlTema(), $data); }