$this->load->library('util'); $data['redirect_delay'] = $this->util->redirect_delay(1, 'redigge/tema/processar_ranking_turma/' . $tipo . '/' . $fk_redigge, 1); $this->load->view($this->load->getUrlTema(), $data); } public function processar_ranking_turma($tipo, $fk_redigge) { $data = $this->getParametroVisao(); $data['print'] = filter_input(INPUT_GET, 'print', FILTER_VALIDATE_INT); $data['page'] = 'home'; $data['tema'] != '' ? $this->load->setTheme($data['tema']) : ''; $data['abaAtiva'] = 21; $data['abaPage'] = 'processar_ranking_turma'; $data['alias'] = 'processar_ranking_turma'; $data['msg'] = '<div class="alert informacao">Processando ranking de turma do tema "' . $_SESSION['tema_titulo'] . '".</div>'; // processar média de unidades $sqlRedigge = new SqlRedigge(); $result = $sqlRedigge->get_turmas($fk_redigge, $data['ano_letivo']); foreach ($result as $item) { $sqlRedigge = new SqlRedigge(); $result = $sqlRedigge->listar_notas_turma($fk_redigge, $item['pk_turma'], $data['ano_letivo']); if (count($result) > 0) { $count = 0; $posicao = 0; $conta_repeticao = 1; $posicao_final = 0; foreach ($result as $row) { $count++; $tmpl = Util::zebrar($count, count($result)); if ($row['nota'] != $_SESSION['posicao_redacao']) { $posicao++; $conta_repeticao = 1; } else { $conta_repeticao++; } if ($conta_repeticao == 1) { $posicao_final = $count; } else { $posicao = $count; } $sqlRedigge = new SqlRedigge(); $sqlRedigge->incluir_posicao_turma($fk_redigge, $row['fk_usuario'], $posicao_final); $_SESSION['posicao_redacao'] = $row['nota']; } } }