/** * Método que gera a página de exibição do ranking de uso do sap por parte dos professores */ public function ranking_de_uso_do_afa() { $arrayRegAfa = array(); $afaConceitoALuno = new Kernel_Models_Afa(); $avaliacoes = $afaConceitoALuno->selectRegistrosDeProfessores($this->getFiltros()->ano); while ($row = $avaliacoes->fetchObject()) { Matematica::incrementoIsset($arrayRegAfa[$row->fk_usuario_professor], 'qt'); Matematica::incrementoIsset($arrayRegAfa[$row->fk_usuario_professor], $row->fk_afa_tipo_anotacao); } $totalAvaliacoes = $avaliacoes->rowCount(); $this->loadPlugin('shadowbox', TRUE)->loadPlugin('jquery.tablesorter')->setData('professores', $this->professores->selectPorUniSerTurmDisc($this->getFiltros()->unidade, $this->getFiltros()->serie, $this->getFiltros()->turma, $this->getFiltros()->materia, array('(select count(public.aula.pk_aula) from "public".aula ' . 'WHERE "public".aula.fk_usuario_professor=' . '"public".usuario_professor.pk_usuario_professor ' . 'and extract (year from "public".aula.data_aula)=\'' . $this->getFiltros()->anoAuto . '\') as totalaulas ')))->setData('total', $totalAvaliacoes)->setData('arrayRegAfa', $arrayRegAfa)->printView(); }
/** * Método que retorna a coluna referente ao indice informado * @param int $coluna O indice referente a coluna * @return string|boolean Retorna uma string referente ao indice informado ou FALSE em caso de erro */ public static function indiceParaColuna($coluna) { $retorno = FALSE; if (is_int($coluna) && (int) $coluna) { $maxLetras = 26; $startAlfa = 64; $strRet = array(1); for ($i = 0; $i < $coluna - 1; $i++) { Matematica::incrementoBase($strRet, $maxLetras, FALSE); } for ($index1 = 0; $index1 < count($strRet); $index1++) { $strRet[$index1] = chr($strRet[$index1] + $startAlfa); } $retorno = implode(array_reverse($strRet), ""); } return $retorno; }
/** * Método que trabalha os dados para exibição dos indicadores dos professores * @param int $pkPesquisaCat O código da categoria da pesquisa * @param int $pkSerie O código da serie * @param int $pkTurma O código da turma */ public function indicadores($pkPesquisaCat, $pkSerie, $pkTurma) { $sqlPesquisa = new SqlPesquisa(); $pesquisaNome = $sqlPesquisa->get_pesquisa_nome((int) $pkPesquisaCat); if (!(int) $pkPesquisaCat || !(int) $pkSerie || !(int) $pkTurma || !count($pesquisaNome)) { echo Javascript::alert('Dados inválido. Os dados informados para a pesquisa são inválidos'); echo Javascript::shadowboxClose(); echo Javascript::history_back(); return; } $turma = new Kernel_Models_Turma(); // $fapRankingPesqTurmaInd = $this->load->model('fap_ranking_pesquisa_turma_indicador'); $fapRankingPesqTurmaInd = new ModelBase("fap.ranking_pesquisa_turma_indicador"); $rankingTurma = $fapRankingPesqTurmaInd->select('fk_pesquisa_cat=' . $pkPesquisaCat . ' and fk_turma=' . $pkTurma, array(), '', array('indicador'), array(), 0, 0, 0); $lsita = array(); $conteudo = $assiduidade = $disciplina = $envolvimento = array(); $arrayTipos = array('', 'Conteúdo', 'Assiduidade', 'Disciplina', 'Envolvimento'); while ($row = $rankingTurma->fetchObject()) { if (!isset($lsita[$row->fk_pes_questao_template][$row->fk_usuario_professor])) { $lsita[$row->fk_pes_questao_template][$row->fk_usuario_professor] = $row; } switch ($row->fk_pes_questao_template) { case 1: $conteudo[] = $row->indicador; break; case 2: $assiduidade[] = $row->indicador; break; case 3: $disciplina[] = $row->indicador; break; default: $envolvimento[] = $row->indicador; break; } } $conteudoMedia = Matematica::mediaAritimeticaArray($conteudo); $assiduidadeMedia = Matematica::mediaAritimeticaArray($assiduidade); $disciplinaMedia = Matematica::mediaAritimeticaArray($disciplina); $envolvimentoMedia = Matematica::mediaAritimeticaArray($envolvimento); $this->setData('sqlPesquisa', $sqlPesquisa)->setData('pkPesquisa', $pkPesquisaCat)->setData('pesquisaNome', $pesquisaNome)->setData('pkSerie', $pkSerie)->setData('pkTurma', $pkTurma)->setData('conteudoMedia', number_format($conteudoMedia, 1))->setData('conteudoConceito', View::bgConceito($conteudoMedia))->setData('assiduidadeMedia', number_format($assiduidadeMedia, 1))->setData('assiduidadeConceito', View::bgConceito($assiduidadeMedia))->setData('disciplinaMedia', number_format($disciplinaMedia, 1))->setData('disciplinaConceito', View::bgConceito($disciplinaMedia))->setData('envolvimentoMedia', number_format($envolvimentoMedia, 1))->setData('envolvimentoConceito', View::bgConceito($envolvimentoMedia))->setData('listaResumo', $lsita)->setData('arrayTipos', $arrayTipos)->setData('turma', $turma->getObject('pk_turma=' . (int) $pkTurma))->setData('pesquisaTurma', $sqlPesquisa->ranking_pesquisa_turma($pkPesquisaCat, $pkTurma, $this->getData('ano_letivo')))->setData('filtroTurmas', $sqlPesquisa->ranking_pesquisa_cat_fitro_turma($pkPesquisaCat, $pkSerie, $this->getData('ano_letivo')))->printView(); }
/** * Método que gera o ranking de uso do afa por parte dos coordenadores */ public function listar_ranking_uso_sap() { $this->loadPlugin("jquery.tablesorter"); if (!$this->getData('mobile')) { $this->appendJs('https://maxcdn.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js'); } $ano = filter_input(INPUT_GET, 'ano', FILTER_VALIDATE_INT); $coordenadores = new Kernel_Models_Coordenador(); $afaConceitoAluno = new Kernel_Models_Afa(); $afaConceitoAlunoTipo = new ModelBase('afa.Afa_Tipo_Anotacao'); $afaConceitoAlunoSubT = new ModelBase("afa.afa_subtipo_anotacao"); $colunas = array("fk_usuario_coordenador", "score", "pk_afa_subtipo_anotacao", "fk_afa_tipo_anotacao"); $avaliacoes = $afaConceitoAluno->listarPorAno($ano, TRUE, $colunas); $totalAva = $avaliacoes->rowCount(); $arrayAva = array(); if ($totalAva) { while ($row = $avaliacoes->fetchObject()) { Matematica::incrementoIsset($arrayAva[$row->fk_usuario_coordenador], 'qt'); Matematica::incrementoIsset($arrayAva[$row->fk_usuario_coordenador]['tipo'], $row->fk_afa_tipo_anotacao); Matematica::incrementoIsset($arrayAva[$row->fk_usuario_coordenador]['sub'], $row->pk_afa_subtipo_anotacao); } } $this->setData('afaConceitosTipos', $afaConceitoAlunoTipo->select("", array("*"), "", array('afa.afa_tipo_anotacao.afa_tipo_anotacao_nome'), array(), 0, 0, 0)->fetchAll(PDO::FETCH_GROUP | PDO::FETCH_CLASS))->setData('afaConceitosSubTipos', $afaConceitoAlunoSubT->select()->fetchAll(PDO::FETCH_GROUP | PDO::FETCH_CLASS))->setData('coordAtivos', $coordenadores->listarAtivos()->fetchAll(PDO::FETCH_CLASS))->setData('totalAva', $totalAva)->setData('arrayAva', $arrayAva)->printView(); }
/** * Método de contagem para impedir ataques do tipo força bruta */ public function incTentativaLogin() { Matematica::incrementoIsset($_SESSION, 'try_login'); return $_SESSION['try_login']; }
public function processar_pesquisa_media_ensino_unidade($pk_pesquisa_cat) { $data = $this->getParametroVisao(); $data['page'] = 'home'; $data['tema'] != '' ? $this->load->setTheme($data['tema']) : ''; $data['msg'] = $this->getMsg(); $data['abaAtiva'] = 8; $data['abaPage'] = 'processar_pesquisa_media_ensino_unidade'; $data['alias'] = 'processar_pesquisa_media_ensino_unidade'; $sqlPesquisa = new SqlPesquisa(); $sqlPesquisa->reset_medias_serie_unidade($pk_pesquisa_cat); // pega os códigos das series $sqlPesquisa = new SqlPesquisa(); $result = $sqlPesquisa->get_series_unidade($pk_pesquisa_cat); foreach ($result as $row) { //echo '<br /><br />'.$row['fk_unidade'].' - '.$row['fk_serie'].'<hr />'; // pega os profesores de cada série / unidade $sqlPesquisa = new SqlPesquisa(); $result = $sqlPesquisa->get_professores_serie_unidade_pesquisa_cat($pk_pesquisa_cat, $row['fk_unidade'], $row['fk_serie']); foreach ($result as $item) { //echo '...'.$item['fk_usuario_professor'].'<br />'; // pega as médias dos professores da referida série $sqlPesquisa = new SqlPesquisa(); $result = $sqlPesquisa->get_medias_turmas_professores_serie_unidade($pk_pesquisa_cat, $row['fk_unidade'], $row['fk_serie'], $item['fk_usuario_professor']); $array_medias = array(); foreach ($result as $item) { $array_medias[] = $item['indicadorgeral']; } $media_serie = Matematica::mediaAritimeticaArray($array_medias); $sqlPesquisa = new SqlPesquisa(); $sqlPesquisa->insert_medias_serie_unidade($pk_pesquisa_cat, $row['fk_unidade'], $row['fk_serie'], $item['fk_usuario_professor'], $media_serie); } } // PROCESSA POSIÇÕES // pega os códigos das series $sqlPesquisa = new SqlPesquisa(); $result = $sqlPesquisa->get_series_unidade($pk_pesquisa_cat); foreach ($result as $row) { echo '<br /><br />' . $row['fk_unidade'] . ' - ' . $row['fk_serie'] . '<hr />'; // rankeia os professores da série /unidade $sqlPesquisa = new SqlPesquisa(); $result = $sqlPesquisa->get_ranking_professores_serie_unidade($pk_pesquisa_cat, $row['fk_unidade'], $row['fk_serie']); $count = 0; $i = 0; $_SESSION['rankingAnterior'] = 0; $_SESSION['indicador'] = 0; $ranking = 1; foreach ($result as $item) { $count++; $i++; if (number_format($item['media_serie'], 1) == $_SESSION['indicador']) { $ranking = $_SESSION['rankingAnterior']; } else { $ranking = $i; } echo $ranking . ' - ' . $item['media_serie'] . '<br />'; $sqlPesquisa = new SqlPesquisa(); $sqlPesquisa->update_posicoes_serie_unidade_professor($pk_pesquisa_cat, $row['fk_unidade'], $row['fk_serie'], $item['fk_usuario_professor'], $ranking); $_SESSION['indicador'] = number_format($item['media_serie'], 1); $_SESSION['rankingAnterior'] = $ranking; } } $this->session->set_flashdata('msg', '<div class="alert ok">Posições de professores por série e unidade atualizadas com sucesso!</div>'); redirect(base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/processar_pesquisa_media_ensino/' . $pk_pesquisa_cat); }
} ?> <tr> <td><a rel="shadowbox" href="<?php echo base_url() . 'fap/professor/listar_ranking_uso_sap_detalhes?professor=' . $key; ?> &shadowbox=1" target="_blank"><?php echo $value['nome']; ?> </a></td> <td><?php echo Matematica::percentualDe((double) $qt_n, (double) $qt); ?> %</td> <td><?php echo Matematica::percentualDe((double) $qt_p, (double) $qt); ?> %</td> <td><?php echo $perTotal; ?> %</td> <td><div class="<?php echo $classe; ?> "><?php echo $perTotal; ?> </div></td> </tr> <?php
?> </td> <td> <?php echo formatarFloat(Matematica::divisao((double) $resumo->getAnotacoes(), (double) $resumo->getAulas())); ?> </td> <td> <?php echo formatarPercentual(Matematica::percentualDe((double) $resumo->getAnotacoesPositivas(), (double) $resumo->getAnotacoes())); ?> % </td> <td> <?php echo formatarPercentual(Matematica::percentualDe((double) $resumo->getAnotacoesNegativas(), (double) $resumo->getAnotacoes())); ?> % </td> </tr> </tbody> </table> </div> </div> <div class="row" style="margin-top: 20px;"> <div class="col-lg-12 divTodosRegistros"> <?php while ($tipo = $tipos->fetch()) { ?> <div class="panel panel-default panel-blue table trConteudo">
<?php } ?> <tr> <td>MÉDIA</td> <?php foreach (array_keys($conceitos) as $conceito) { ?> <?php foreach (array_keys($bimestres) as $bimestre) { ?> <?php $chave = 'qt-' . strtolower($conceito) . '-' . $bimestre . 'bi'; ?> <td><?php echo Matematica::mediaAritimeticaArray($medias[$chave]); ?> %</td> <?php } ?> <?php } ?> </tr> </tbody> </table> </div> <?php } ?>
public function relatorio_pesquisa($pk_pes_pesquisa) { $data = $this->getParametroVisao(); $data['page'] = 'home'; $data['abaPage'] = __FUNCTION__; $data['alias'] = __FUNCTION__; $data['abaAtiva'] = 8; $sqlPareceres = new SqlPareceres(); $result = $sqlPareceres->get_descricao_pesquisa($pk_pes_pesquisa); $data['pes_nome'] = $result[0]['pes_nome']; $data['pes_pesquisa_template_nome'] = $result[0]['pes_pesquisa_template_nome']; $data['obs'] = $result[0]['obs']; $result = $sqlPareceres->get_unidades_series_tipos_usuarios($pk_pes_pesquisa); $pk_unidade = array(); $pk_serie = array(); $pk_tipo_usuario = array(); foreach ($result as $uni) { $pk_unidade[] = $uni['fk_unidade']; $pk_serie[] = $uni['fk_serie']; $pk_tipo_usuario[] = $uni['fk_tipo_usuario']; } $unidades = array_unique($pk_unidade); $series = array_unique($pk_serie); $tipos_usuarios = array_unique($pk_tipo_usuario); $config['base_url'] = base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/' . $this->uri->segment(3) . '/' . $this->uri->segment(4) . '/'; $sqlPareceres = new SqlPareceres(); $data['pesquisa_unidade'] = $sqlPareceres->listar_pesquisas_processadas_unidades($unidades); $pesquisa_unidade = explode("&pk_unidade", $_SERVER['QUERY_STRING']); $data['pesquisa_unidade_url'] = $config['base_url'] . '?' . $pesquisa_unidade[0]; $data['pesquisa_serie'] = $sqlPareceres->listar_pesquisas_processadas_series($series); $pesquisa_serie = explode("&pk_serie", $_SERVER['QUERY_STRING']); $data['pesquisa_serie_url'] = $config['base_url'] . '?' . $pesquisa_serie[0]; $data['pesquisa_tipo_usuario'] = $sqlPareceres->listar_pesquisas_processadas_tipos_usuarios($tipos_usuarios); $pesquisa_tipo_usuario = explode("&pk_tipo_usuario", $_SERVER['QUERY_STRING']); $data['pesquisa_tipo_usuario_url'] = $config['base_url'] . '?' . $pesquisa_tipo_usuario[0]; $pk_unidade = isset($_GET['pk_unidade']) && $_GET['pk_unidade'] != '' ? $_GET['pk_unidade'] : ''; $pk_serie = isset($_GET['pk_serie']) && $_GET['pk_serie'] != '' ? $_GET['pk_serie'] : ''; $pk_tipo_usuario = isset($_GET['pk_tipo_usuario']) && $_GET['pk_tipo_usuario'] != '' ? $_GET['pk_tipo_usuario'] : ''; $data['total_usuarios'] = $sqlPareceres->conta_usuarios_pesquisa($pk_pes_pesquisa, $pk_unidade, $pk_serie, $pk_tipo_usuario); $sqlPareceres = new SqlPareceres(); $result = $sqlPareceres->get_questoes($pk_pes_pesquisa); $array_final = array(); foreach ($result as $item) { //echo '<h4>'.$item['tipo_questao'].' - '.$item['pes_questao'].'</h4>'; $resultAlternativas = $sqlPareceres->get_alternativas_pesquisa($item['pk_pes_questao']); $arr_alternativas = array(); $array_alternativas = array(); foreach ($resultAlternativas as $alt) { //echo $alt['pes_alternativa_nome'].'<br />'; $alternativa_nome = $alt['pes_alternativa_nome']; if ($item['tipo_questao'] == 1 || $item['tipo_questao'] == 2) { $result = $sqlPareceres->get_distribuicao_questao_relatorio($item['pk_pes_questao'], $alt['pk_pes_alternativa'], $pk_unidade, $pk_serie, $pk_tipo_usuario); $i = 0; foreach ($result as $row) { $i++; } //echo $i.'<br />'; $array_alternativas[] = array('pes_alternativa_nome' => $alt['pes_alternativa_nome'], 'valor' => $i); } else { if ($item['tipo_questao'] == 3) { // Questão para gerar ranking de prioridades $result = $sqlPareceres->get_distribuicao_questao_relatorio($item['pk_pes_questao'], $alt['pk_pes_alternativa'], $pk_unidade, $pk_serie, $pk_tipo_usuario); $alternativas = array(); $pk_pes_alternativas = array(); foreach ($result as $alter) { $alternativas[] = $alter['fk_pes_alternativa'] . '#' . $alter['valor']; $pk_pes_alternativas[] = $alter['fk_pes_alternativa']; } $conta_alternativas = array_count_values($alternativas); if (isset($alt['pk_pes_alternativa'])) { unset($_SESSION['pk_pes_alternativa_' . $alt['pk_pes_alternativa']]); } foreach ($conta_alternativas as $key2 => $valor2) { $divide = explode('#', $key2); $pk_pes_alternativa = $divide[0]; $valor = $divide[1]; if (isset($alt['pk_pes_alternativa']) && $pk_pes_alternativa == $alt['pk_pes_alternativa']) { if (isset($_SESSION['pk_pes_alternativa_' . $alt['pk_pes_alternativa']])) { $_SESSION['pk_pes_alternativa_' . $alt['pk_pes_alternativa']] = $_SESSION['pk_pes_alternativa_' . $alt['pk_pes_alternativa']] + $valor * $valor2; } else { $_SESSION['pk_pes_alternativa_' . $alt['pk_pes_alternativa']] = $valor * $valor2; } } } $dividendo = count($result); if (isset($alt['pk_pes_alternativa'])) { $valor_alternativa = $_SESSION['pk_pes_alternativa_' . $alt['pk_pes_alternativa']] / $dividendo; } else { $valor_alternativa = 0; } $arr_alternativas[] = $valor_alternativa . '#' . $alternativa_nome; // echo $valor_alternativa.'<br />'; } else { if ($item['tipo_questao'] == 4) { //Questão para gerar indicador a partir de notas dadas pelo usuário $result = $sqlPareceres->get_distribuicao_questao_relatorio($item['pk_pes_questao'], $alt['pk_pes_alternativa'], $pk_unidade, $pk_serie, $pk_tipo_usuario); $soma = 0; foreach ($result as $row) { $soma = $soma + $row['valor']; } $media = Matematica::divisao($soma, count($result)); $arr_alternativas[] = $media . '#' . $alt['pes_alternativa_nome']; //$array_alternativas[] = array('pes_alternativa_nome' => $alt['pes_alternativa_nome'], 'valor' => $media); } } } } // orderna a array $arr_alternativas if ($item['tipo_questao'] == 4) { array_multisort($arr_alternativas, SORT_NUMERIC, SORT_DESC); } else { array_multisort($arr_alternativas); } $alternativas_ordenadas = array(); foreach ($arr_alternativas as $row) { $divide = explode('#', $row); $alternativa_nome = $divide[1]; $alternativa_valor = $divide[0]; $alternativas_ordenadas[] = array('pes_alternativa_nome' => $alternativa_nome, 'valor' => $alternativa_valor); } if (!empty($alternativas_ordenadas)) { $array_alternativas_final = $alternativas_ordenadas; } else { $array_alternativas_final = $array_alternativas; } $array_final[] = array('tipo_questao' => $item['tipo_questao'], 'questao' => $item['pes_questao'], 'alternativas' => $array_alternativas_final); } $data['result'] = $array_final; $this->load->view($this->load->getUrlTema(), $data); }
<?php $topicos = $arrayLivro["disciplinas"]; ?> <div data-volume="<?php echo $livro->getVolume(); ?> " class="col-lg-12 col-md-12 col-sm-12 col-xs-12"> <table class="tabela"> <thead class="hidden-xs"> <?php //Criando o array responsável pelo complemento da tabela $capitulosHead = array(); foreach ($arrayLivro["disciplinas"] as $arrayDisciplina) { $tmpHead = array(); foreach ($arrayDisciplina["topicos"] as $topico) { Matematica::incrementoIsset($tmpHead, $topico->getCapitulo()->getSequencial()); if (!isset($capitulosHead[$topico->getCapitulo()->getSequencial()])) { $capitulosHead[$topico->getCapitulo()->getSequencial()] = 0; } if ($tmpHead[$topico->getCapitulo()->getSequencial()] > $capitulosHead[$topico->getCapitulo()->getSequencial()]) { $capitulosHead[$topico->getCapitulo()->getSequencial()] = $tmpHead[$topico->getCapitulo()->getSequencial()]; } } } $qt = 1; ?> <tr> <th rowspan="2">Disciplina</th> <?php foreach ($capitulosHead as $value) { ?>
/** * Método que realiza o upload de arquivos para a pasta informada. * * @param array $arquivo Um array contendo os dados recebidos via post contendo os arquivos * @param string $pastaDestino O nome da pasta dentro da pasta de uploads do sistema * @param array $tiposAceitos Um array contendo os tipos aceitos onde as chaves são as extenções. * Caso não seja informado, aceita qualquer tipo arquivo. O array deve possuir os mimetypes e não as extenções * @param string $nomeSugerido Caso seja informado, usa como node do arquivo * @param bool $privado Define se o arquivo será salvo na pasta privada ou não * * @return bool|string Retorna o nome do arquivo caso seja enviado com sucesso ou false em caso de erro * * @throws Exception */ public function upload($arquivo, $pastaDestino, array $tiposAceitos = array(), $nomeSugerido = false, $privado = false) { //Verificando a variável do arquivo if (!is_array($arquivo)) { throw new Exception('O arquivo não é válido', 1); } //Verificando se o arquivo tem um nome válido if (!strlen($arquivo['name'])) { throw new Exception('O arquivo informado é inválido', 2); } //Testando o tipo do arquivo if (count($tiposAceitos)) { if (!Arrays::in_array_r($arquivo['type'], $tiposAceitos)) { throw new Exception('O formato do arquivo não é permitido', 3); } //Testando a extenção do arquivo $ext = substr($arquivo['name'], strrpos($arquivo['name'], '.') + 1); if (!strlen($ext)) { throw new Exception('O arquivo é inválido', 4); } if (!isset($tiposAceitos[$ext])) { throw new Exception("A extenção do arquivo não é permitida", 9); } if (is_array($tiposAceitos[$ext])) { if (!in_array($arquivo['type'], $tiposAceitos[$ext])) { throw new Exception('O arquivo é inválido', 5); } } else { if ($tiposAceitos[$ext] != $arquivo['type']) { throw new Exception('O arquivo é inválido', 10); } } } //Testendo o tamanho do arquivo enviado $maxSizeUpload = ini_get('upload_max_filesize'); if ((int) $arquivo['size'] > Matematica::returnBytes($maxSizeUpload)) { throw new Exception('O tamanho do arquivo é maior do que o permitido', 6); } //Criando a pasta if ((bool) $privado) { //Definindo o destino para a pasta privada, sem acesso via URL $pasta = $this->pastaUploadPrivado . DIRECTORY_SEPARATOR . $pastaDestino; } else { $pasta = $this->pastaUpload . DIRECTORY_SEPARATOR . $pastaDestino; } if (!file_exists($pasta)) { if (!mkdir($pasta, 0755, true)) { throw new Exception('Não é possível enviar o arquivo. Entre em contato com o administrador', 7); } } if (substr($pasta, -1) == '/') { $pasta = substr($pasta, -1); } //Definindo o nome do arquivo $ext = substr($arquivo['name'], strrpos($arquivo['name'], '.')); if (is_string($nomeSugerido)) { $nome = substr($nomeSugerido, 0, strrpos($nomeSugerido, ".")); $nome .= $ext; } else { $nome = md5(microtime() . $arquivo['name']) . "{$ext}"; } //Enviando o arquivo if (!move_uploaded_file($arquivo['tmp_name'], "{$pasta}/{$nome}")) { throw new Exception("Falha ao tentar enviar o arquivo {$pasta}", 8); } return $nome; }
public function listar_avaliacao_professor($pk_pesquisa_cat, $fk_usuario_professor, $fk_usuario, $fk_materia_mae) { $data = $this->getParametroVisao(); //Validando o professor informado $validarUser = new Kernel_Models_ValidarUsuarios(); $professorObj = $validarUser->professor($fk_usuario); $fk_usuario_professor = $professorObj->getPkUsuarioProfessor(); // $data['page'] = 'home'; $data['tema'] != '' ? $this->load->setTheme($data['tema']) : ''; $data['msg'] = $this->getMsg(); $data['abaAtiva'] = 8; $data['abaPage'] = 'listar_avaliacao_professor'; $data['alias'] = 'listar_avaliacao_professor'; $data['total'] = 0; $array_result = Mestre::alternativas_pesquisas(); $sqlUsuario = new SqlUsuario(); $result = $sqlUsuario->get_nome_professor($fk_usuario_professor); $data['nome_professor'] = $result[0]['nome']; $sqlFap = new SqlFap(); $result = $sqlFap->get_medias_materias_mae($fk_materia_mae); $data['materia_mae_nome'] = $result[0]['materia_mae_nome']; // Select filtro de pesquisas $sqlFap = new SqlFap(); $data['pesquisa_cat'] = $sqlFap->get_pesquisas_cat_professor($fk_usuario_professor); $sqlFap = new SqlFap(); $result = $sqlFap->get_pesquisa_cat($pk_pesquisa_cat); $data['pesquisa_cat_nome'] = !empty($result) ? $result[0]['pesquisa_cat_nome'] : ''; $unidade = isset($_GET['pk_unidade']) ? $_GET['pk_unidade'] : ''; $sqlFap = new SqlFap(); $result_unidade = $sqlFap->get_unidades_professor_leciona($pk_pesquisa_cat, $fk_usuario_professor, $unidade); $html = ''; $tabela1 = ''; //tabela fixa na esquerda onde será exibida as descrições dos itens $array_medias_unidade = array(); $i = 0; foreach ($result_unidade as $uni) { $i++; $print_unidade = $i == 1 ? 'print_unidade1' : 'print_unidade'; $html .= '<br class="clear" /><div class="' . $print_unidade . '"><hr /><h4>' . $uni['unidade_nome'] . '</h4>'; $html .= '<table class="mb20">'; $html .= '<tr><td style="border: 0;"></td>'; // HEADER DAS SÉRIES $sqlFap = new SqlFap(); $result_serie = $sqlFap->get_series_unidades_professor_leciona($pk_pesquisa_cat, $fk_usuario_professor, $uni['fk_unidade']); $array_turmas = $array_turmas_nome = array(); foreach ($result_serie as $serie) { $sqlFap = new SqlFap(); $result = $sqlFap->listar_avaliacao_professor($pk_pesquisa_cat, $fk_usuario_professor, $uni['fk_unidade'], $serie['fk_serie']); $total_turmas = count($result); if ($total_turmas > 0) { foreach ($result as $row) { $array_turmas[] = $row['fk_turma']; $array_turmas_nome[] = $row['turma_nome'] . '#' . $row['fk_serie'] . '#' . $row['pk_pesquisa']; } } $html .= '<td class="titulo_relatorio tcenter" colspan="' . $total_turmas . '">' . $serie['serie_nome'] . '</td>'; } // HEADER DAS TURMAS $html .= '<tr><td></td>'; foreach ($array_turmas_nome as $turma) { $divide = explode('#', $turma); $turma_nome = $divide[0]; $pk_serie = $divide[1]; $pk_pesquisa = $divide[2]; if ($pk_serie < 14) { $turma_nome_final = substr($turma_nome, 0, 9); } else { $divide = explode('-', $turma_nome); $turma_nome_final = $divide[0]; } $html .= '<td class="titulo_relatorio tcenter w70">'; // if ($data['idTipoUsuario'] != 15) { $html .= '<a rel="shadowbox[mixed]" class="link" href="' . base_url() . 'fap/pesquisa/graficos_pesquisa_fap/' . $fk_usuario . '/' . $row['fk_usuario_professor'] . '?pk_pesquisa=' . $pk_pesquisa . '&shadowbox=1">' . $turma_nome_final . '<a/>'; // } // else { // $html.= $turma_nome_final; // } $html .= '</td>'; } // INÍCIO DAS LINHAS DE CADA ITEM AVALIADO $html .= '</tr>'; $tabela1 = ''; //tabela fixa na esquerda onde será exibida as descrições dos itens foreach ($array_result as $row) { $html .= '<tr><th class="w160 h30">' . $row['pes_questao'] . '</th>'; $sqlFap = new SqlFap(); $result = $sqlFap->get_avaliacao_professor($pk_pesquisa_cat, $fk_usuario_professor, $row['pk_pes_questao'], $array_turmas, $uni['fk_unidade']); $indicador_serie = array(); $soma = 0; $soma_decil = 0; foreach ($result as $item) { $soma = $soma + $item['indicador']; $conceito = View::bgConceito($item['indicador']); $decil = Matematica::decil($item['posicao'], $item['total_professores'], 1); $soma_decil = $soma_decil + $decil; $html .= '<td class="tcenter" style="background: #' . $conceito['cor'] . '; color: #ffffff">' . '<strong>' . number_format($item['indicador'], 1) . '</strong><br />' . '<small>( ' . $decil . ' )</small></td>'; } } $html .= '</tr>'; // MÉDIA DE CADA INDICADOR POR TURMA $html .= '<tr><td class="titulo_relatorio tcenter">Indicador na Turma</td>'; $soma_decil = 0; foreach ($result_serie as $serie) { $sqlFap = new SqlFap(); $result = $sqlFap->get_indicadores_professor_serie_turmas($pk_pesquisa_cat, $fk_usuario_professor, $uni['fk_unidade'], $serie['fk_serie'], $array_turmas); $soma_serie = 0; foreach ($result as $turma) { $conceito = View::bgConceito($turma['indicadorgeral']); $decil = Matematica::decil($turma['posicao'], $turma['total_professores']); $soma_decil = $soma_decil + $decil; $html .= '<td class="tcenter" style="background: #' . $conceito['cor'] . '; color: #ffffff">' . '<strong>' . number_format($turma['indicadorgeral'], 1) . '</strong><br />' . '<small>( ' . $decil . ' )</small></td>'; } } $media_geral_professor = Matematica::divisao($soma, count($array_turmas_nome)); $conceito = View::bgConceito($media_geral_professor); // MÉDIA DO PROFESSOR POR SÉRIE $soma = 0; $soma_decil = 0; $html .= '<tr><td class="titulo_relatorio tcenter">Indicador na Série</td>'; $i = 0; foreach ($result_serie as $serie) { $sqlFap = new SqlFap(); $result = $sqlFap->listar_avaliacao_professor($pk_pesquisa_cat, $fk_usuario_professor, $uni['fk_unidade'], $serie['fk_serie']); $total_turmas = count($result); $sqlFap = new SqlFap(); $result = $sqlFap->get_medias_professor_serie_unidade($pk_pesquisa_cat, $fk_usuario_professor, $uni['fk_unidade'], $serie['fk_serie']); $decil = Matematica::decil($result[0]['posicao'], $result[0]['total_professores']); $conceito = View::bgConceito($result[0]['media_serie']); $html .= '<td colspan="' . $total_turmas . '" class="tcenter" style="background: #' . $conceito['cor'] . '; color: #ffffff"><strong>' . number_format($result[0]['media_serie'], 1) . '</strong><br />' . '<small>( ' . $decil . ' )</small></td>'; $soma = $soma + $result[0]['media_serie']; $soma_decil = $soma_decil + $decil; $i++; } $html .= '</tr></table></div><br />'; } // QUADRO COMPARATIVO $html .= '<hr /><h3>Quadro Comparativo</h3>' . '<h4>Prof.(a) ' . $data['nome_professor'] . '</h4>'; $html .= '<h5>Equipe: ' . $data['materia_mae_nome'] . '</h5>'; $html .= '<table class="mb20">'; // header da tabela $html .= '<tr><td class="titulo_relatorio tcenter w200">Índices</td>'; foreach ($result_unidade as $uni) { $html .= '<th>' . $uni['unidade_nome'] . '</th>'; } $html .= '<td></td><th>' . $this->config->item('site') . '</th></tr>'; // corpo da tabela // indicador $html .= '</tr>'; foreach ($array_result as $row) { $html .= '<tr><th class="w160 h30">' . $row['pes_questao'] . '</th>'; foreach ($result_unidade as $uni) { $sqlFap = new SqlFap(); $result = $sqlFap->get_avaliacao_professor_alternativa_unidade($pk_pesquisa_cat, $fk_usuario_professor, $row['pk_pes_questao'], $uni['fk_unidade']); $conceito = View::bgConceito($result[0]['indicador_unidade']); $decil = Matematica::decil($result[0]['posicao'], $result[0]['total_professores'], 1); $html .= '<td class="tcenter" style="background: #' . $conceito['cor'] . '; color: #ffffff">' . '<strong>' . number_format($result[0]['indicador_unidade'], 1) . '</strong><br />' . '<small>( ' . $decil . ' )</small></td>'; } $sqlFap = new SqlFap(); $result = $sqlFap->get_avaliacao_professor_alternativa($pk_pesquisa_cat, $fk_usuario_professor, $row['pk_pes_questao']); if (!empty($result)) { $conceito = View::bgConceito($result[0]['indicador']); $decil = Matematica::decil($result[0]['posicao'], $result[0]['total_professores'], 1); $html .= '<td></td><td class="tcenter" style="background: #' . $conceito['cor'] . '; color: #ffffff">' . '<strong>' . number_format($result[0]['indicador'], 1) . '</strong><br />' . '<small>( ' . $decil . ' )</small></td>'; } } $html .= '</tr></table>'; $html .= '<table class="mb20">'; // header da tabela $html .= '<tr><td class="titulo_relatorio tcenter w200">Indicadores</td>'; foreach ($result_unidade as $uni) { $html .= '<th>' . $uni['unidade_nome'] . '</th>'; } $html .= '<td></td><th>' . $this->config->item('site') . '</th></tr>'; $html .= '<tr><th>Prof.(a) ' . $data['nome_professor'] . '</th>'; $soma = 0; foreach ($result_unidade as $uni) { $sqlFap = new SqlFap(); $result = $sqlFap->get_indicador_geral_professor_unidade($pk_pesquisa_cat, $fk_usuario_professor, $uni['fk_unidade']); $conceito = View::bgConceito($result[0]['indicador']); $decil = Matematica::decil($result[0]['posicao'], $result[0]['total_professores'], 1); $html .= '<td class="tcenter" style="background: #' . $conceito['cor'] . '; color: #ffffff"><strong>' . number_format($conceito['score'], 1) . '</strong><br />' . '<small>( ' . $decil . ' )</small>'; $soma = $soma + $result[0]['indicador']; } $media_geral = Matematica::divisao($soma, count($result_unidade)); $sqlFap = new SqlFap(); $result = $sqlFap->get_indicador_geral_professor($pk_pesquisa_cat, $fk_usuario_professor); if (!empty($result)) { $conceito = View::bgConceito($result[0]['indicador']); $decil = !isset($_GET['pk_unidade']) ? Matematica::decil($result[0]['posicao'], $result[0]['total_professores'], 1) : $decil; $html .= '<td></td><td class="tcenter" style="background: #' . $conceito['cor'] . '; color: #ffffff"><strong>' . number_format($conceito['score'], 1) . '</strong><br />' . '<small>( ' . $decil . ' )</small>'; } // media da equipe do professor $html .= '<tr><th>Professores de ' . $data['materia_mae_nome'] . '</th>'; foreach ($result_unidade as $uni) { $sqlFap = new SqlFap(); $result = $sqlFap->get_media_materiamae_unidade($pk_pesquisa_cat, $fk_materia_mae, $uni['fk_unidade']); $conceito = !empty($result) ? View::bgConceito($result[0]['media_unidade']) : ''; $conceito_cor = !empty($result) ? $conceito['cor'] : ''; $media_unidade = !empty($result) ? number_format($result[0]['media_unidade'], 1) : ''; $html .= '<td class="tcenter" style="background: #' . $conceito_cor . '; color: #ffffff"><strong>' . $media_unidade . '</strong></td>'; } $sqlFap = new SqlFap(); $result = $sqlFap->get_media_materiamae($pk_pesquisa_cat, $fk_materia_mae); if (!empty($result)) { $conceito = View::bgConceito($result[0]['indicadormateria_mae']); $html .= '<td></td><td class="tcenter" style="background: #' . $conceito['cor'] . '; color: #ffffff"><strong>' . number_format($result[0]['indicadormateria_mae'], 1) . '</strong></td>'; $html .= '</tr>'; } // media da geral da equipe de professores na unidade $html .= '<tr><th>Todos os professores</th>'; $soma = 0; foreach ($result_unidade as $uni) { $sqlFap = new SqlFap(); $result = $sqlFap->get_media_equipe_unidade($pk_pesquisa_cat, $uni['fk_unidade']); $array_medias = array(); foreach ($result as $ger) { $array_medias[] = $ger['media_unidade']; } $media_turma = Matematica::mediaAritimeticaArray($array_medias, 1); $conceito = View::bgConceito($media_turma); $html .= '<td class="tcenter" style="background: #' . $conceito['cor'] . '; color: #ffffff"><strong>' . number_format($media_turma, 1) . '</strong></td>'; } $sqlFap = new SqlFap(); $result = $sqlFap->get_media_materiamae_geral($pk_pesquisa_cat); $array_medias = array(); foreach ($result as $ger) { $array_medias[] = $ger['indicadormateria_mae']; } $media_geral = Matematica::mediaAritimeticaArray($array_medias, 1); $conceito = View::bgConceito($media_geral); $html .= '<td></td><td class="tcenter" style="background: #' . $conceito['cor'] . '; color: #ffffff">' . '<strong>' . number_format($media_geral, 1) . '</strong></td>'; $html .= '</tr>'; $html .= '</table><br />'; $data['html'] = $html; $config['base_url'] = base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/' . $this->uri->segment(3) . '/' . $this->uri->segment(4) . '/' . $this->uri->segment(5) . '/' . $this->uri->segment(6) . '/' . $this->uri->segment(7) . '/'; $sqlFap = new SqlFap(); $data['unidade'] = $sqlFap->get_unidades_professor($pk_pesquisa_cat, $fk_usuario_professor); $unidade = explode("&pk_unidade", $_SERVER['QUERY_STRING']); $data['unidade_url'] = $config['base_url'] . '?' . $unidade[0]; $sqlFap = new SqlFap(); $data['serie'] = $sqlFap->get_series_professor($pk_pesquisa_cat, $fk_usuario_professor); $serie = explode("&pk_serie", $_SERVER['QUERY_STRING']); $data['serie_url'] = $config['base_url'] . '?' . $serie[0]; $sqlFap = new SqlFap(); $data['materia'] = $sqlFap->get_materias_professor($pk_pesquisa_cat, $fk_usuario_professor); $materia = explode("&pk_materia", $_SERVER['QUERY_STRING']); $data['materia_url'] = $config['base_url'] . '?' . $materia[0]; $area = explode("&area", $_SERVER['QUERY_STRING']); $data['area_url'] = $config['base_url'] . '?' . $area[0]; $ensino = explode("&ensino", $_SERVER['QUERY_STRING']); $data['ensino_url'] = $config['base_url'] . '?' . $ensino[0]; 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); } }
public function sincronizacao4_atualiza_alunos($page = 'sincronizacao4_atualiza_alunos') { $data = $this->getParametroVisao(); $data['page'] = 'home'; $data['tema'] != '' ? $this->load->setTheme($data['tema']) : ''; $data['msg'] = $this->getMsg(); $data['abaAtiva'] = 3; $data['abaPage'] = $page; // Se a sessão de 'array_turmas' não estiver definida, reencaminha para o método de definição if (!is_array($_SESSION['array_turmas_atualiza'])) { $this->load->library('util'); $data['redirect_delay'] = $this->util->redirect_delay(3, 'import/sincronizacao/sincronizacao2_array_turmas'); } else { // Pega o total de turmas a serem processadas $total = count($_SESSION['array_turmas_atualiza']); $result = $_SESSION['array_turmas_atualiza']; } $data['total'] = $total; // Se já tiver ocorrido algum redirecionamento, faz um incremento. Caso contrário, inicia a contagem if (isset($_GET['counter'])) { $counter = $_GET['counter'] + 1; } else { $counter = 0; } // carrega a library e envia as variáveis a função "loop_refresh" $this->load->library('util'); $data['redirect_delay'] = $this->util->loop_refresh('1', $this->uri->segment(3), $counter, $total); // Se o contador for menor que o total de registros da array, efetua o processamento com base na turma da vez if ($counter < $total) { // Cria o filtro da turma e o envia a model para listagem dos alunos da referida turma $tmacod = $result[$counter]; $sqlSincronizacao = new SqlSincronizacao(); $resultModel = $sqlSincronizacao->sincroniza_alunos_listagem($this->session->userdata('unidade'), $tmacod, $data['ano_letivo']); // conta quantos dados foram encontrados $countArray = count($resultModel); // Se houver registros (alunos) na turma da vez... if ($countArray > 0) { $seq = 0; // Cria o loop de atualização nos registros encontrados foreach ($resultModel as $row) { // echo $row['alu_mat'].') '.$row['alu_nom'].'<br />'; $seq++; $emailTemp = Util::getRandomString(60); $matricula = $row['alu_mat']; $nome = $row['alu_nom']; $data_nasc = $row['alu_dtnasc']; $logradouro = $row['alu_end']; $numero = $row['alu_num']; $complemento = $row['alu_compl']; $bairro = $row['alu_bai']; $cidade = $row['alu_cid']; $uf = $row['alu_uf']; $cep = $row['alu_cep']; $sexo = $row['alu_sexo']; $pai = $row['alu_pai']; $mae = $row['alu_mae']; $responsavel = $row['alu_resp']; // verifica se o aluno já tem cadastro no site $sqlSincronizacao = new SqlSincronizacao(); $resultModelAluno = $sqlSincronizacao->busca_aluno($nome, $data_nasc, $matricula, $this->session->userdata('unidade')); $temCadastro = 0; if (count($resultModelAluno) > 0) { similar_text($resultModelAluno[0]['nome'], $nome, $percent); // Se o percentual de similaridade encontrado no nome for superior a 90%, significa que o aluno já tem cadastro, if ($percent > 90) { $temCadastro = 1; } } if ($temCadastro == 1) { $pk_usuario = $resultModelAluno[0]['pk_usuario']; } else { // Inclui novo aluno $sqlSincronizacao = new SqlSincronizacao(); $pk_usuario = $sqlSincronizacao->incluir_aluno($nome, $emailTemp, $data_nasc, $logradouro, $numero, $complemento, $bairro, $cidade, $uf, $cep, $sexo, $pai, $mae, $responsavel, $data['ano_letivo']); } //busca na tabela "ggeint_vinculos" a(s) turma(s) nas quais o aluno está matriculado $sqlSincronizacao = new SqlSincronizacao(); $resultModel = $sqlSincronizacao->busca_turmas_vinculos($this->session->userdata('unidade'), $row['alu_mat'], $tmacod, $data['ano_letivo']); $countArray = count($resultModel); foreach ($resultModel as $row) { $data_mat = $row['vin_data']; if ($row['vin_tpdes'] == 'P') { // se for percentual $desconto = $row['vin_vldesm']; } else { if ($row['vin_tpdes'] == 'V') { // se for um valor $resultMensalidade = $sqlSincronizacao->get_mensalidade_serie($data['ano_letivo'], $tmacod, $this->session->userdata('unidade')); $mensalidade = !empty($resultMensalidade) ? $resultMensalidade[0]['valor'] : 0; $perc = Matematica::divisao($row['vin_vldesm'], $mensalidade); $desconto = $perc > 0 ? $perc * 100 : 0; } else { $desconto = 0; } } // Pega o id da turma, caso a mesma esteja habilitada $sqlSincronizacao = new SqlSincronizacao(); $resultModelTurma = $sqlSincronizacao->busca_turma_id($this->session->userdata('unidade'), $tmacod, $data['ano_letivo']); foreach ($resultModelTurma as $rowTurma) { $pk_turma = $rowTurma['pk_turma']; if ($countArray > 0 && $pk_turma != '') { // Verifica se a turma já consta nos vínculos do aluno $sqlSincronizacao = new SqlSincronizacao(); $resultModelBuscaTurma = $sqlSincronizacao->busca_turma_vinculo($pk_usuario, $pk_turma, $matricula, $data['ano_letivo']); // se a turma já constar... if (count($resultModelBuscaTurma) > 0) { // Atualiza a flag de atualização $sqlSincronizacao = new SqlSincronizacao(); $sqlSincronizacao->atualiza_turma_vinculo($resultModelBuscaTurma[0]['pk_usuario_aluno'], $pk_usuario, $pk_turma, $matricula, $data['ano_letivo'], $desconto); // Se não constar... } else { // Inclui a(s) turma(s) do aluno $sqlSincronizacao = new SqlSincronizacao(); $sqlSincronizacao->inclui_aluno_turma($matricula, $pk_usuario, $pk_turma, $data_mat, $data['ano_letivo'], 0, $desconto); } } // fim de "if ($countArray == 0){" } // fim de foreach ($resultModelTurma as $rowTurma){ } // fim de foreach ($resultModel as $row){ } // fim de 'foreach ($resultModel as $row){' } // fim de 'if ($countArray > 0){' } else { // Carrega a library "útil" e o método que redireciona a próxima página com um delay pré-definido $this->load->library('util'); $data['redirect_delay'] = $this->util->redirect_delay(1, 'import/sincronizacao/desabilita_cancelados'); } // fim de if ($counter < $total){ $this->load->view($this->load->getUrlTema(), $data); }
<?php echo formatarPercentual((double) 0.0); ?> % </a> <?php } ?> </td> <td> <a class="aPos" title="<?php echo "{$professorResumo->getAnotacoes()} anotações em {$professorResumo->getAulas()} aulas"; ?> "> <?php echo formatarFloat(Matematica::divisao((int) $professorResumo->getAnotacoes(), (int) $professorResumo->getAulas())); ?> </a> <div class="divTdMenu"> <?php if ((int) $professorResumo->getAnotacoes()) { ?> <a title="Exibe o histórico de anotações do professor no AFA" rel="shadowbox" href="<?php echo base_url("docentes/anotacoes/do_professor/{$professorResumo->getId()}?shadowbox=1"); ?> "> <p>Histórico</p> </a> <a title="Exibe a distribuição de anotações no AFA" rel="shadowbox" href="<?php echo base_url("docentes/anotacoes/distribuicao/{$professorResumo->getId()}?shadowbox=1"); ?>
/** * Método que gera a página do painel geral de registros */ public function painel_geral_de_registros() { try { $this->load->helper("link"); //Definindo os filtros $this->filtro->initGets(array("de", "ate", "unidade", "ensino", "serie", "turma", "funcao_coordenador"))->setGet(array("tipo_afa" => TipoAfa::TIPO_ATENDIMENTO)); //Inicializando os objetos básicos $sqlCoordenadores = new SqlResumoCoordenador(); $afa = new SqlAfaEqPedagogica(); $fap = new SqlFapEqPedagogica(); // $avaliacoes = new eqpedagogica_models_Avaliacoes(); $ouvidoria = new eqpedagogica_models_Ouvidoria(); //Fazendo as consultas básicas $coordenadores = $sqlCoordenadores->listarTodos($this->filtro); $fapregs = $fap->atendimentos($this->filtro); $afaRegs = $afa->acoesAtenCoordenadores($this->filtro); // die($afaRegs->queryString()); // $avaRegs = $avaliacoes->pesquisasRespCoordenadores(); $chamados = $ouvidoria->listarTodas(NULL, false, $this->filtro); //Agrupando os dados $exchangeArray = array(); // while ($afaRow = $afaRegs->fetch()) { $id = $afaRow->getAutor()->getId(); $idInc = $afaRow->getUsrInc()->getId(); $tipo = $afaRow->getSubtipo()->getTipo()->getId(); $subTipo = $afaRow->getSubtipo()->getId(); // if ($tipo == TipoAfa::TIPO_ACAO_PEDAGOGICA_FORMATIVA) { // Matematica::incrementoIsset($exchangeArray[$id], "qt_acoes"); // if ($subTipo == Subtipo::SUB_TIPO_CONVERSA_FAMILIA) { // Matematica::incrementoIsset($exchangeArray[$id], "aten_familiares"); // } // } else { // if ($subTipo == Subtipo::SUB_TIPO_SOEP) { // Matematica::incrementoIsset($exchangeArray[$id], "aten_alunos"); // } // } //Trecho temporário para contornar o erro no cadastro de ações em geral if ($tipo == TipoAfa::TIPO_ACAO_PEDAGOGICA_FORMATIVA) { Matematica::incrementoIsset($exchangeArray[$idInc], "qt_acoes"); if ($subTipo == Subtipo::SUB_TIPO_CONVERSA_FAMILIA) { Matematica::incrementoIsset($exchangeArray[$idInc], "aten_familiares"); } } else { if ($subTipo == Subtipo::SUB_TIPO_SOEP || $subTipo == Subtipo::SUB_TIPO_ATEND_COORDENACAO) { Matematica::incrementoIsset($exchangeArray[$id], "aten_alunos"); } } } while ($fapRow = $fapregs->fetch()) { $id = $fapRow->getAutor()->getId(); $subtipo = $fapRow->getSubtipo()->getTipo()->getId(); if ($subtipo == TipoFap::TIPO_ATENDIMENTO) { Matematica::incrementoIsset($exchangeArray[$id], "aten_profs"); } } while ($chamado = $chamados->fetchObject()) { $id = $chamado->destinatario; Matematica::incrementoIsset($exchangeArray[$id], "qt_chamados"); } while ($ava = $avaRegs->fetchObject()) { $id = $ava->fk_usuario; $exchangeArray[$id]["fez_ava_prof"] = true; } //Passando os dados para o view $this->loadPlugin("jquery.tablesorter")->loadPlugin("conceitos")->loadPlugin("filtros")->loadPlugin("calc-itens")->setData("coordenadores", $coordenadores)->setData("exchangeArrayExtra", $exchangeArray)->setData("getsUrl", $this->filtro->dontUseGet(array("tipo_afa", "funcao_coordenador"))->getsToURL())->printView(); } catch (Exception $exc) { $this->close($exc); } }
$i4 = Matematica::percentualDe((double) valueIsSet($value, 'qt-i-b4'), (double) valueIsSet($value, 'qt-b4')); //regular,, $r1 = Matematica::percentualDe((double) valueIsSet($value, 'qt-r-b1'), (double) valueIsSet($value, 'qt-b1')); $r2 = Matematica::percentualDe((double) valueIsSet($value, 'qt-r-b2'), (double) valueIsSet($value, 'qt-b2')); $r3 = Matematica::percentualDe((double) valueIsSet($value, 'qt-r-b4'), (double) valueIsSet($value, 'qt-b3')); $r4 = Matematica::percentualDe((double) valueIsSet($value, 'qt-r-b5'), (double) valueIsSet($value, 'qt-b4')); //bom,, $b1 = Matematica::percentualDe((double) valueIsSet($value, 'qt-b-b1'), (double) valueIsSet($value, 'qt-b1')); $b2 = Matematica::percentualDe((double) valueIsSet($value, 'qt-b-b2'), (double) valueIsSet($value, 'qt-b2')); $b3 = Matematica::percentualDe((double) valueIsSet($value, 'qt-b-b3'), (double) valueIsSet($value, 'qt-b3')); $b4 = Matematica::percentualDe(valueIsSet($value, 'qt-b-b4'), valueIsSet($value, 'qt-b4')); //louvor,, $l1 = Matematica::percentualDe((double) valueIsSet($value, 'qt-l-b1'), (double) valueIsSet($value, 'qt-b1')); $l2 = Matematica::percentualDe((double) valueIsSet($value, 'qt-l-b2'), (double) valueIsSet($value, 'qt-b2')); $l3 = Matematica::percentualDe((double) valueIsSet($value, 'qt-l-b3'), (double) valueIsSet($value, 'qt-b3')); $l4 = Matematica::percentualDe((double) valueIsSet($value, 'qt-l-b4'), (double) valueIsSet($value, 'qt-b4')); ?> <tr> <td><?php echo Mestre::materia($materiaId); ?> </td> <td><?php echo $d1; ?> %</td> <td><?php echo $d2; ?> %</td> <td><?php
/** * Método que lista todas as avaliações feitas por alunos de um determinado professor * @param int $pkUsuario * @param int $pkPesquisaCat * @param int $unidadeFiltro * @param int $serieFiltro * @param int $turmaFiltro */ public function get_avaliacao($pkUsuario = 0, $pkPesquisaCat = 0, $unidadeFiltro = '', $serieFiltro = 0, $turmaFiltro = 0) { //Esta com erro de calculo do decil $validarUser = new Kernel_Models_ValidarUsuarios(); $professor = $validarUser->professor($pkUsuario); if ($professor) { if (!$pkPesquisaCat) { $servProfessor = new ProfessorService(); $pkPesquisaCat = $servProfessor->getUltimaPesquisa(); } $professor = $professor->fetchObject(); $this->statusTrue()->setStatusCod(0); $array_result = Mestre::alternativas_pesquisas(); $sqlFap = new SqlFap(); $resultUnidade = $sqlFap->get_unidades_professor_leciona((int) $pkPesquisaCat, $professor->getPkUsuarioProfessor(), $unidadeFiltro); //Buscando unidades de acordo com a pesquisa foreach ($resultUnidade as $uni) { //Listando as unidades $ret = new stdClass(); $ret->unidade = $uni['unidade_nome']; $ret->series = array(); //Criando o array de unidades $resultSerie = $sqlFap->get_series_unidades_professor_leciona((int) $pkPesquisaCat, $professor->getPkUsuarioProfessor(), $uni['fk_unidade']); //Buscando séries de acordo com a pesquisa foreach ($resultSerie as $serie) { //Listando as séries $ret2 = new stdClass(); $ret2->serie = $serie['serie_nome']; $ret2->turmas = array(); //Criando o array de séries dentro de cada unidade $result = $sqlFap->listar_avaliacao_professor((int) $pkPesquisaCat, $professor->getPkUsuarioProfessor(), $uni['fk_unidade'], $serie['fk_serie']); //Buscando avaliações de acordo com a série e pesquisa foreach ($result as $row) { //Listando as avaliações $ret3 = new stdClass(); $ret3->turma = $row['turma_nome']; $ret3->turma_cod = $row['fk_turma']; $ret3->avaliacoes = array(); //criando o array de turmas onde ficaram as avaliações //adicionando a avaliação na turma foreach ($array_result as $row2) { $result = $sqlFap->get_avaliacao_professor((int) $pkPesquisaCat, $professor->getPkUsuarioProfessor(), $row2['pk_pes_questao'], array($row['fk_turma']), $uni['fk_unidade']); //Consultando os resultados foreach ($result as $item) { //Listando e adicionando os resultados as turmas $ret4 = new stdClass(); $ret4->indicador = $item['indicador']; $ret4->total_profs = $item['total_professores']; $ret4->questao_cod = $row2['pk_pes_questao']; $ret4->questao = $row2['pes_questao']; $ret4->decil = Matematica::decil($item['posicao'], $item['total_professores'], 1); if (!in_array($ret4, $ret3->avaliacoes)) { array_push($ret3->avaliacoes, $ret4); //Adicionando o resultado da pesquisa a turma } } } if (!in_array($ret3, $ret2->turmas)) { array_push($ret2->turmas, $ret3); } } array_push($ret->series, $ret2); } $this->appendResposta($ret); } } else { $this->setMensagem("O professor informado é inválido"); } $this->printResposta(); }
foreach ($afaConceitosTipos as $keyT => $value) { if (isset($tipos[$keyT])) { $tipoPerc = Matematica::percentualDe((double) $tipos[$keyT], (double) $qt); // $tabela.='<div class="panel-heading tipoAfa' . $keyT . '" role="tabe">' // . '<h4 class="panel-title"><a data-toggle="collapse" data-parent="#according" ' // . 'href="#' . $row->pk_usuario_coordenador . $tipos[$keyT] // . '" arial-expanded="true" ' // . 'arial-controls="collapseOne">' . $value[0]->afa_tipo_anotacao_nome . " : " // . $tipos[$keyT] . '(' . $tipoPerc . '% do coordenador)</a></h4></div><div id="' // . $row->pk_usuario_coordenador . $tipos[$keyT] . '" class="panel-collapse ' // . 'collapse" role="tabpanel" arial-labelledby="headingOne">' // . '<div class="panel-body">'; $paineis .= '<div class="list-group"><a href="#" class="list-group-item active ' . 'tipoAfa' . $keyT . '"><strong>' . $value[0]->afa_tipo_anotacao_nome . "</strong> : " . $tipos[$keyT] . '(' . $tipoPerc . '% do coordenador)</a>'; foreach ($afaConceitosSubTipos as $key2 => $value2) { if (isset($subTipos[$key2]) && $value2[0]->fk_afa_tipo_anotacao == $keyT) { $subTipoPerc = Matematica::percentualDe((double) $subTipos[$key2], (double) $tipos[$keyT]); // $tabela.='<p style="' //// . 'background: ' . $value2[0]->cor . '; color: white; ' // . 'font-size: 15px;"><strong>' . $value2[0]->afa_subtipo_anotacao_nome // . '</strong> : ' . $subTipos[$key2] . '(' . $subTipoPerc . '% dos ' // . $value[0]->afa_tipo_anotacao_nome . ')</p>'; $paineis .= '<a href="#" class="list-group-item"><strong>' . $value2[0]->afa_subtipo_anotacao_nome . '</strong> : ' . $subTipos[$key2] . '(' . $subTipoPerc . '% dos ' . $value[0]->afa_tipo_anotacao_nome . ')</a>'; } } // $tabela.='</div></div>'; $paineis .= '</div>'; } } $tabela .= '</td></tr>'; $paineis .= '</div></div></div>'; }
<?php $tabela = ''; $paineis = ''; while ($row = $professores->fetchObject()) { $qt_n = isset($arrayRegAfa[$row->pk_usuario_professor][2]) ? $arrayRegAfa[$row->pk_usuario_professor][2] : 0; $qt_p = isset($arrayRegAfa[$row->pk_usuario_professor][3]) ? $arrayRegAfa[$row->pk_usuario_professor][3] : 0; $qt = isset($arrayRegAfa[$row->pk_usuario_professor]['qt']) ? $arrayRegAfa[$row->pk_usuario_professor]['qt'] : 0; $perTotal = Matematica::percentualDe((double) $qt, (double) $total); $perNeg = Matematica::percentualDe((double) $qt_n, (double) $qt); $perPos = Matematica::percentualDe((double) $qt_p, (double) $qt); $avaPorAula = Matematica::divisao($qt, $row->totalaulas); if ($perTotal > 6) { $classe = "media_auta"; } elseif ($perTotal > 4) { $classe = "media_neutra"; } else { $classe = "media_baixa"; } if ($qt) { $linkShadow = '<a rel="shadowbox" ' . 'href="/fap/professores/detalhes_de_uso_do_afa/' . $row->pk_usuario_professor . '?shadowbox=1">'; } else { $linkShadow = '<a href="javascript:' . 'alert(\'Aparentemente este professor ainda não fez anotações\')" ' . 'data-toggle="modal" data-target="#modSemAnotacoes">'; } $tabela .= '<tr><td>' . $linkShadow . $row->nome . '</a></td><td>' . $perNeg . '%</td><td>' . $perPos . '%</td><td>' . $avaPorAula . ' por aula' . '</td><td><div class="' . $classe . '">' . $perTotal . '</div></td></tr>'; $paineis .= '<div class="panel panel-blue" data-order="' . $qt . '">' . '<div class="panel-heading ' . $classe . '" role="tab" id="headingOne"><h4 class="panel-title">' . '<a data-toggle="collapse" data-parent="#accordion" href="#prof' . $row->pk_usuario_professor . '" aria-expanded="true" aria-controls="collapseOne">' . $row->nome . '<span class="glyphicon glyphicon-plus-sign"></span></a>' . '</h4></div><div id="prof' . $row->pk_usuario_professor . '" class="panel-collapse collapse" ' . 'role="tabpanel" aria-labelledby="headingOne"><div class="panel-body">' . '<h4><strong>' . $linkShadow . 'Detalhes</a></strong></h4>' . '<h4><strong>Total de avaliações:</strong> ' . $qt . '(' . $perTotal . '%)</h4>' . '<h4><strong>Em média:</strong> ' . $avaPorAula . ' por aula</h4>' . '<h4><strong>Avaliações positivas:</strong> ' . $qt_p . '(' . $perPos . '%)</h4><h4><strong>Avaliações negativas:</strong> ' . $qt_n . '(' . $perNeg . '%)</h4></div></div></div>'; } if (!$mobile) { ?> <style type="text/css"> #lista{
<?php require './classe-matematica.php'; $soma = Matematica::somar(1, 2); echo $soma;
?> aulas"> <strong> <?php echo formatarPercentual(Matematica::divisao($atrasos, $row->totalaulas, 4) * 100); ?> % </strong> </td> <td title="<?php echo $totalAfa . " em " . $row->totalaulas; ?> aulas"> <strong> <?php echo formatarPercentual(Matematica::divisao($totalAfa, $row->totalaulas)); ?> </strong> </td> <td title="<?php echo $totalAfaPos . " de " . $totalAfa; ?> anotações"> <strong><?php echo formatarPercentual($totalAfaPosPerc); ?> %</strong> </td> <td title="<?php echo $totalAfaNeg . " de " . $totalAfa; ?>
public static function somar($n1, $n2) { self::$resultado = $n1 + $n2; return self::$resultado; }
public function acompanhamento_turma_detalhe() { $data = $this->getParametroVisao(); $data['abaAtiva'] = 7; $data['abaPage'] = $data['alias'] = $data['page'] = __FUNCTION__; $data['page'] = 'home'; $data['tema'] != '' ? $this->load->setTheme($data['tema']) : ''; $data['msg'] = $this->getMsg(); $data['total'] = 0; $data['pk_livro'] = (int) filter_input(INPUT_GET, 'pk_livro', FILTER_VALIDATE_INT); $data['pk_turma'] = (int) filter_input(INPUT_GET, 'pk_turma', FILTER_VALIDATE_INT); $data['pk_serie'] = (int) filter_input(INPUT_GET, 'pk_serie', FILTER_VALIDATE_INT); $data['pk_unidade'] = (int) filter_input(INPUT_GET, 'pk_unidade', FILTER_VALIDATE_INT); $data['ano_letivo'] = isset($_GET['ano']) ? (int) filter_input(INPUT_GET, 'ano_letivo', FILTER_VALIDATE_INT) : $data['ano_letivo']; $data['get_shadowbox'] = View::shadowbox($data['shadowbox']); $config['base_url'] = base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/' . $this->uri->segment(3) . '?' . $data['get_shadowbox']; $sqlAulas = new SqlAulas(); $data['livro'] = $sqlAulas->get_livros_geral($data['ano_letivo'], $data['pk_serie']); $livro = explode("&pk_livro=", $_SERVER['QUERY_STRING']); $data['livro_url'] = $config['base_url'] . substr($livro[0], 12); if (isset($_GET['pk_livro'])) { $sqlAulas = new SqlAulas(); $result = $sqlAulas->get_percentual($data['pk_livro'], date('Y-m-d')); $percentual = !empty($result[0]['percentual']) ? $result[0]['percentual'] : 0; if ($data['idTipoUsuario'] == 1 || $data['idTipoUsuario'] == 2 || $data['idTipoUsuario'] == 3 || $data['idTipoUsuario'] == 15) { $sqlGrade = new SqlGrade(); $data['turma'] = $sqlGrade->filtro_turmas($data['pk_unidade'], $data['pk_serie'], $data['ano_letivo']); $turma = explode("&pk_turma=", $_SERVER['QUERY_STRING']); $data['turma_url'] = $config['base_url'] . substr($turma[0], 12); } $status = explode("&status=", $_SERVER['QUERY_STRING']); $data['status_url'] = $config['base_url'] . substr($status[0], 12); if (isset($_GET['pk_turma'])) { $sqlLivro = new SqlLivro(); $result = $sqlLivro->get_materias_apostilas_turma($data['pk_livro']); $data['total'] = count($result); if ($data['total'] > 0) { $count = 0; $html = '<table class="tabela_relatorio mt20"><tr> <td class="titulo_relatorio tcenter" nowrap="nowrap"><strong>Disciplina</strong></td> <td class="titulo_relatorio tcenter"><strong>Professor(a)</strong></td> <td class="titulo_relatorio tcenter"><strong>Aulas dadas</strong></td> <td class="titulo_relatorio tcenter"><strong>Última aula</strong></td> <td class="titulo_relatorio tcenter"><strong>Conteúdos programáticos em andamento na última aula</strong></td> <td class="titulo_relatorio tcenter w100"><strong>Planejamento executado</strong></td>'; $cor = ''; foreach ($result as $row) { $sqlLivro = new SqlLivro(); $result = $sqlLivro->get_apostila_acompanhamento($row['fk_materia_vin'], $_GET['pk_turma'], $_GET['pk_livro']); $conteudo = !empty($result) != '' ? $result[0]['capitulo_sequencial'] . ': ' . $result[0]['capitulo_nome'] . '<br/>Tópico ' . $result[0]['topico'] . ': ' . $result[0]['conteudo_nome'] . ' - pag(s): ' . $result[0]['paginas_trabalhadas'] : ''; $percentual = !empty($result) != '' ? number_format($result[0]['percentual_professor'], 1) . '%' : ''; $aula = !empty($result) != '' ? $result[0]['aula'] : ''; $data_aula = !empty($result) != '' ? View::converteDataBr($result[0]['data_aula']) : ''; if ($data['idTipoUsuario'] == 1 || $data['idTipoUsuario'] == 2 || $data['idTipoUsuario'] == 3 || $data['idTipoUsuario'] == 15) { $nome = !empty($result) != '' ? '<a rel="shadowbox" class="link" href="' . base_url() . 'aula/conteudos/edicao_conteudos' . '?shadowbox=1' . '&pk_materia_vin=' . $result[0]['fk_materia_vin'] . '&pk_usuario_professor=' . $result[0]['fk_usuario_professor'] . '&pk_turma=' . $data['pk_turma'] . '&pk_livro=' . $data['pk_livro'] . '">' . $result[0]['nome'] . '</a>' : ''; } else { $nome = !empty($result) != '' ? $result[0]['nome'] : ''; } if (!empty($result)) { $percent_media_geral = Matematica::divisao($result[0]['percentual_professor'], $percentual); if ($percent_media_geral < 0.8) { $cor = 'vermelho'; } else { if ($percent_media_geral > 1.2) { $cor = 'azul'; } else { $cor = 'verde'; } } } $statusCor = ''; $status = ''; if (!empty($result)) { if ($result[0]['status'] == 1) { $status = "Em andamento"; $statusCor = "status1"; } else { if ($result[0]['status'] == 2) { $status = "Concluído"; $statusCor = "status2"; } else { if ($result[0]['status'] == 3) { $status = "Revisado"; $statusCor = "status3"; } else { $status = ""; $statusCor = ""; } } } } if (isset($_GET['status'])) { if ($_GET['status'] == 1 && isset($percent_media_geral) && $percent_media_geral < 0.8 && $conteudo != '') { $html .= '<tr><td class="status">' . $row['materia_nome'] . '</td>'; $html .= '<td class="status">' . $nome . '</td>'; $html .= '<td class="tcenter status">' . $aula . '</td>'; $html .= '<td class="tcenter status">' . $data_aula . '</td>'; $html .= '<td class="status">' . $conteudo . '</td>'; $html .= '<td class="status ' . $cor . '">' . $percentual . '</td>'; } else { if ($_GET['status'] == 2 && isset($percent_media_geral) && $percent_media_geral >= 0.8 && $percent_media_geral <= 1.2 && $conteudo != '') { $html .= '<tr><td class="status">' . $row['materia_nome'] . '</td>'; $html .= '<td class="status">' . $nome . '</td>'; $html .= '<td class="tcenter status">' . $aula . '</td>'; $html .= '<td class="tcenter status">' . $data_aula . '</td>'; $html .= '<td class="status">' . $conteudo . '</td>'; $html .= '<td class="status ' . $cor . '">' . $percentual . '</td>'; } else { if ($_GET['status'] == 3 && isset($percent_media_geral) && $percent_media_geral > 1.2 && $conteudo != '') { $html .= '<tr><td class="status">' . $row['materia_nome'] . '</td>'; $html .= '<td class="status">' . $nome . '</td>'; $html .= '<td class="tcenter status">' . $aula . '</td>'; $html .= '<td class="tcenter status">' . $data_aula . '</td>'; $html .= '<td class="status">' . $conteudo . '</td>'; $html .= '<td class="status ' . $cor . '">' . $percentual . '</td>'; } } } } else { $html .= '<tr><td class="status">' . $row['materia_nome'] . '</td>'; $html .= '<td class="status">' . $nome . '</td>'; $html .= '<td class="tcenter status">' . $aula . '</td>'; $html .= '<td class="tcenter status">' . $data_aula . '</td>'; $html .= '<td class="status">' . $conteudo . '</td>'; $html .= '<td class="status tcenter ' . $cor . '">' . $percentual . '</td>'; } } $html .= '</tr></table>'; $data['html'] = $html; } else { $data['msg'] = '<div class="alert atencao">Não há registros com o parâmetro selecionado.</div>'; } } } if ($this->input->is_ajax_request()) { $this->load->view($this->uri->segment(3), $data); } else { $this->load->view($this->load->getUrlTema(), $data); } }
/** * Método que realiza o upload de arquivos para a pasta informada * @param array $arquivo Um array contendo os dados recebidos via post contendo os arquivos * @param string $pastaDestino O nome da pasta dentro da pasta de uploads do sistema * @param array $tiposAceitos Um array contendo os tipos aceitos onde as chaves são as extenções. * Caso não seja informado, aceita qualquer tipo arquivo. O array deve possuir os mimetypes e não as extenções * @param string $nomeSugerido Caso seja informado * @return boolean|string Retorna o nome do arquivo caso seja enviado com sucesso ou false em caso de erro * @throws Exception */ public function upload($arquivo, $pastaDestino, array $tiposAceitos = array(), $nomeSugerido = false) { //Verificando a variável do arquivo if (!is_array($arquivo)) { throw new Exception("O arquivo não é válido", 1); } //Verificando se o arquivo tem um nome válido if (!strlen($arquivo['name'])) { throw new Exception("O arquivo informado é inválido", 2); } //Testando o tipo do arquivo if (count($tiposAceitos)) { if (!Arrays::in_array_r($arquivo["type"], $tiposAceitos)) { throw new Exception("O formato do arquivo não é permitido", 3); } //Testando a extenção do arquivo $ext = substr($arquivo['name'], strrpos($arquivo['name'], ".") + 1); if (!strlen($ext)) { throw new Exception("O arquivo é inválido", 4); } if (!isset($tiposAceitos[$ext])) { throw new Exception("A extenção do arquivo não é permitida: {$ext} - " . $arquivo['name'], 9); } if (is_array($tiposAceitos[$ext])) { if (!in_array($arquivo["type"], $tiposAceitos[$ext])) { throw new Exception("O arquivo é inválido", 5); } } else { if ($tiposAceitos[$ext] != $arquivo["type"]) { throw new Exception("O arquivo é inválido", 10); } } } //Testendo o tamanho do arquivo enviado $maxSizeUpload = ini_get("upload_max_filesize"); if ((int) $arquivo['size'] > Matematica::returnBytes($maxSizeUpload)) { throw new Exception("O tamanho do arquivo é maior do que o permitido", 6); } //Criando a pasta $pasta = "{$this->pastaUpload}/{$pastaDestino}"; if (!file_exists($pasta)) { if (!mkdir($pasta, 0755, true)) { throw new Exception("Não é possível enviar o arquivo. Entre em contato com o administrador", 7); } } if (substr($pasta, -1) == "/") { $pasta = substr($pasta, -1); } //Definindo o nome do arquivo $ext = substr($arquivo['name'], strrpos(".", $arquivo['name'])); $nome = is_string($nomeSugerido) ? $nomeSugerido : md5(microtime() . $arquivo['name']) . ".{$ext}"; //Enviando o arquivo if (!move_uploaded_file($arquivo["tmp_name"], "{$pasta}/{$nome}")) { throw new Exception("Falha ao tentar enviar o arquivo {$pasta}", 8); } return $nome; }
$("input[name=url_video]").keyup(previaVideo); $("input[name=url_video]").change(previaVideo); <?php } elseif ($anexos->getTipo() == Kernel\Modelo\Livro\Anexos::TIPO_AUDIO || $anexos->getTipo() == Kernel\Modelo\Livro\Anexos::TIPO_ANEXO) { ?> <?php //Inicializando o teste de arquivos ?> $('#arquivoUpload').testeUploadFile({ tipos: <?php echo json_encode($mimeTypes); ?> , maxSize:<?php echo Matematica::returnBytes(ini_get("upload_max_filesize")); ?> }); <?php if ($anexos->getTipo() == Kernel\Modelo\Livro\Anexos::TIPO_AUDIO) { ?> $('.subtipo-select').change(function () { $('input[name=url]').val(''); if ($(this).val() == <?php echo Kernel\Modelo\Livro\Anexos::SUBTIPO_AUDIO_LINK; ?> ) { /*$('#divUpload').hide();*/ /*$('#divUrl').show();*/ $('#divUpload').animate({height: 0}, 400, function () { $('#divUrl').animate({height: 120}, 400, function () {
/** * Método que criar a página de ranking de faltas dos professores * @param int $coordenador Caso seja informado, exibe apenas os dados referentes ao coordenador */ public function painel_geral_de_registros() { try { $this->load->helper("link"); //Inicializando os objetos básicos $profAux = new ProfessoresAux(); $sqlAfa = new SqlAfaProfessores(); $sqlFap = new SqlFapProfessores(); $sqlAula = new SqlAulaProfessores(); $sqlResumo = new SqlResumoProfessor(); // $exchangeArray = array(); //Inicializando os filtros $this->filtro->initGets(array("de", "ate", "unidade", "ensino", "serie", "turma", "area_da_natureza", "grupo")); //Realizando as consultas $professores = $profAux->listar($this->filtro); $regsAfa = $sqlAfa->pgrCount($this->filtro); $regsFap = $sqlFap->pgrCount($this->filtro); $aulas = $sqlAula->pgrCount($this->filtro); //Organizando os dados //--Agrupando as aulas while ($aula = $aulas->fetchObject()) { $id = $aula->prof; Matematica::incrementoIsset($exchangeArray[$id], "aulas"); } //--Agrupando os dados do AFA while ($afa = $regsAfa->fetchObject()) { $id = $afa->id; $tipo = $afa->tipo; if ($tipo === TipoAfa::TIPO_POSITIVO) { Matematica::incrementoIsset($exchangeArray[$id], "afa_p"); } elseif ($tipo === TipoAfa::TIPO_NEGATIVO) { Matematica::incrementoIsset($exchangeArray[$id], "afa_n"); } } //--Agrupando os dados do FAP while ($fap = $regsFap->fetchObject()) { $id = $fap->id; $tipo = $fap->tipo; $subtipo = $fap->subtipo; if ($tipo === TipoFap::TIPO_ATRASO) { Matematica::incrementoIsset($exchangeArray[$id], "fap_a"); } elseif ($tipo === TipoFap::TIPO_FALTA) { if ($subtipo === SubTipoFap::SUB_TIPO_FALTA_JUSTIFICADA) { Matematica::incrementoIsset($exchangeArray[$id], "fap_fj"); } elseif ($subtipo === SubTipoFap::SUB_TIPO_FALTA_N_JUSTIFICADA) { Matematica::incrementoIsset($exchangeArray[$id], "fap_fnj"); } elseif ($subtipo === SubTipoFap::SUB_TIPO_LICENCA) { Matematica::incrementoIsset($exchangeArray[$id], "fap_fl"); } } elseif ($tipo === TipoFap::TIPO_ATENDIMENTO) { Matematica::incrementoIsset($exchangeArray[$id], "fap_aten"); } } //Carregando os plugins usados na página $this->loadPlugin("jquery.tablesorter"); $this->loadPlugin("ocultarmenulateral"); $this->loadPlugin("conceitos"); $this->loadPlugin("filtros"); $this->loadPlugin("calc-itens"); //Passando os dados obtidos para o view e exibinto a página $this->setData("professores", $professores); $this->setData("sqlResumo", $sqlResumo); $this->setData("exchangeArray", $exchangeArray); $this->setData("getsUrl", $this->filtro->getsToURL()); $this->printView(); } catch (Exception $exc) { $this->close($exc); } }
<?php /** * * @author Servidor */ $tmp_dados = $professor->fetchObject(); $arrayQts = array(); $tabela = ""; $paineis = ""; $arrayJs = ""; $detalhes = ""; while ($row = $avaliacoes->fetchObject()) { Matematica::incrementoIsset($arrayQts, $row->pk_afa_tipo_anotacao); $tabela .= '<tr>' . '<td title=\'' . Strings::ucFirstString($row->nome) . '\'>' . Strings::ucFirstString(Strings::nomeAbreviado($row->nome)) . '</td>' . '<td>' . $row->afa_tipo_anotacao_nome . '</td>' . '<td>' . Data::sqlParaBrasil($row->data_anotacao) . '</td>' . '<td>' . $row->afa_subtipo_anotacao_nome . '</td>' . '</tr>'; $paineis .= '<div class="panel panel-blue">' . '<div class="panel-heading" role="tab" id="headingOne">' . '<h4 class="panel-title">' . '<a data-toggle="collapse" data-parent="#accordion" href="#detalhesAluno' . $row->pk_afa_conceito_aluno . '" aria-expanded="true" aria-controls="collapseOne">' . Strings::ucFirstString(Strings::nomeAbreviado($row->nome)) . '</a></h4></div><div id="detalhesAluno' . $row->pk_afa_conceito_aluno . '" class="panel-collapse collapse" ' . 'role="tabpanel" aria-labelledby="headingOne">' . '<div class="panel-body"><p><strong>Nome do aluno:</strong> ' . Strings::ucFirstString($row->nome) . '</p><p><strong>Tipo do evento:</strong> ' . $row->afa_tipo_anotacao_nome . '</p><p><strong>Data:</strong> ' . Data::sqlParaBrasil($row->data_anotacao) . '</p><p><strong>Descrição:</strong> ' . $row->afa_subtipo_anotacao_nome . '</p></div></div></div>'; } while ($row = $afaTipos->fetchObject()) { $qt = isset($arrayQts[$row->pk_afa_tipo_anotacao]) ? $arrayQts[$row->pk_afa_tipo_anotacao] : 0; $arrayJs .= '[\'' . $row->afa_tipo_anotacao_nome . ' - ' . $qt . '\', ' . $qt . '],'; $detalhes .= '<h4><strong>' . $row->afa_tipo_anotacao_nome . ':</strong> ' . $qt . '</h4>'; } if (!$mobile) { ?> <style type="text/css"> .table{ width: 100%; } .table tr td:first-of-type{ background-color: #B0C9DC;
/** * Método que gera o painel geral de registros do aluno * @param int $coordenador Caso seja informado, exibe apenas os dados referentes ao coordenador */ public function painel_geral_de_registros() { try { $this->load->helper("link"); // $alunosAux = new AlunosAux(); $serieAux = new SeriesAux(); $sqlResumo = new SqlResumoALuno(); $sqlAfa = new SqlAfaAlunos(); $exchangeArray = array(); // $this->initGets(array("de", "ate", "unidade", "ensino", "serie", "turma")); //Variavel que define qual link exibir de acordo com o perfil logado $testLink = $this->tipoLogado == Perfil::ADMIN || $this->tipoLogado == Perfil::GESTOR; $filtrosPagina = array("unidade", "ensino", "serie", "turma"); $series = $serieAux->listar($this->filtro); $min = $this->tipoLogado == Perfil::COORDENADOR ? 0 : 2; if ($this->filtro->issetGetCount($filtrosPagina) > $min || $this->filtro->issetGet(array("serie", "turma")) || $series->rowCount() < 2) { $listaAlunos = $alunosAux->listar($this->filtro); } else { $listaAlunos = false; } //Trecho criado para resolver os problemas de valores que não batiam if ($listaAlunos instanceof ResultSetHydrator) { //Contando os registros do AFA $afaRegs = $sqlAfa->todos($this->filtro); while ($afa = $afaRegs->fetch()) { $alvo = $afa->getAlvo()->getId(); $tipo = $afa->getSubtipo()->getTipo()->getId(); $subTipo = $afa->getSubtipo()->getId(); if ($tipo == Tipo::TIPO_POSITIVO) { Matematica::incrementoIsset($exchangeArray[$alvo], "afa_p"); } elseif ($tipo == Tipo::TIPO_NEGATIVO) { Matematica::incrementoIsset($exchangeArray[$alvo], "afa_n"); if ($subTipo == Subtipo::SUB_TIPO_FALTA) { Matematica::incrementoIsset($exchangeArray[$alvo], "falta"); } elseif ($subTipo == Subtipo::SUB_TIPO_ATRASO) { Matematica::incrementoIsset($exchangeArray[$alvo], "atraso"); } } elseif ($tipo == Tipo::TIPO_ACAO_PEDAGOGICA_FORMATIVA) { Matematica::incrementoIsset($exchangeArray[$alvo], "acao"); } elseif ($tipo == Tipo::TIPO_ATENDIMENTO) { Matematica::incrementoIsset($exchangeArray[$alvo], "aten"); } } } /* Recebe parametro de grupoFocal */ $valida = isset($_COOKIE["grupoFocal"]); if ($valida == true) { $pkGrupo = $_COOKIE["grupoFocal"]; } else { $pkGrupo = false; } if ($pkGrupo != false) { $this->setData("grupoFocal", $pkGrupo); } else { $pkGrupo = $this->input->get('grupoFocal'); if ($pkGrupo != false) { setcookie('grupoFocal', $pkGrupo, time() + 100); $this->setData("grupoFocal", $pkGrupo); } else { $pkGrupo = 0; $this->setData("grupoFocal", $pkGrupo); } } // $this->setFiltrosList($filtrosPagina); $this->loadPlugin("jquery.tablesorter"); $this->loadPlugin("conceitos"); $this->loadPlugin("calc-itens"); $this->setData("exchangeArrayTemp", $exchangeArray); $this->setData("unidade", $this->filtro->get("unidade")); $this->setData("ensino", $this->filtro->get("ensino")); $this->setData("serie", $this->filtro->get("serie")); $this->setData("turma", $this->filtro->get("turma")); $this->setData("testLink", $testLink); $this->setData("listaAlunos", $listaAlunos); $this->setData("sqlResumo", $sqlResumo); $this->setData("getsUrl", $this->filtro->getsToURL()); // $this->printView(); } catch (Exception $exc) { $this->close($exc); } }