コード例 #1
0
ファイル: professores.php プロジェクト: andersongimino/area51
 /**
  * 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();
 }
コード例 #2
0
ファイル: ExcelAux.php プロジェクト: andersongimino/area51
 /**
  * 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;
 }
コード例 #3
0
ファイル: pesquisas.php プロジェクト: andersongimino/area51
 /**
  * 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();
 }
コード例 #4
0
ファイル: coordenador.php プロジェクト: andersongimino/area51
 /**
  * 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();
 }
コード例 #5
0
 /**
  * Método de contagem para impedir ataques do tipo força bruta
  */
 public function incTentativaLogin()
 {
     Matematica::incrementoIsset($_SESSION, 'try_login');
     return $_SESSION['try_login'];
 }
コード例 #6
0
ファイル: pesquisa.php プロジェクト: andersongimino/area51
 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);
 }
コード例 #7
0
    }
    ?>
                <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 
コード例 #8
0
?>
                    </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">
コード例 #9
0
                            <?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 
        }
        ?>
コード例 #10
0
ファイル: pareceres.php プロジェクト: andersongimino/area51
 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);
 }
コード例 #11
0
            <?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) {
        ?>
コード例 #12
0
ファイル: Arquivos.php プロジェクト: andersongimino/area51
 /**
  * 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;
 }
コード例 #13
0
ファイル: professor.php プロジェクト: andersongimino/area51
 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);
     }
 }
コード例 #14
0
 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);
 }
コード例 #15
0
ファイル: feedback.php プロジェクト: andersongimino/area51
                                <?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");
        ?>
コード例 #16
0
ファイル: home.php プロジェクト: andersongimino/area51
 /**
  * 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);
     }
 }
コード例 #17
0
            $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 
コード例 #18
0
ファイル: professor.php プロジェクト: andersongimino/area51
 /**
  * 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();
 }
コード例 #19
0
    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>';
}
コード例 #20
0
<?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{
コード例 #21
0
<?php

require './classe-matematica.php';
$soma = Matematica::somar(1, 2);
echo $soma;
コード例 #22
0
            ?>
 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;
            ?>
コード例 #23
0
 public static function somar($n1, $n2)
 {
     self::$resultado = $n1 + $n2;
     return self::$resultado;
 }
コード例 #24
0
ファイル: livro.php プロジェクト: andersongimino/area51
 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);
     }
 }
コード例 #25
0
ファイル: Arquivos.php プロジェクト: andersongimino/area51
 /**
  * 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;
 }
コード例 #26
0
        $("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 () {
コード例 #27
0
ファイル: professores.php プロジェクト: andersongimino/area51
 /**
  * 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);
     }
 }
コード例 #28
0
<?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;
コード例 #29
0
ファイル: aluno.php プロジェクト: andersongimino/area51
 /**
  * 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);
     }
 }