Пример #1
0
 /**
  * Método que gera a consulta básica para a classe.
  *
  * @return Select
  */
 public function select()
 {
     $select = new Select($this->tg->getTabela());
     $sqlLIvro = new SqlLivroAula();
     $sqlDisciplina = new SqlDisciplina();
     return $select->columns(array('pk_livro', 'livro_desc', 'livro_digital', 'livro_mat_desc_video'))->join('public.materia', array('pk_materia' => "{$this->tg->getTabela()}.fk_materia"))->import($sqlDisciplina->select())->join('apostilas.livro', array('pk_livro' => "{$this->tg->getTabela()}.fk_livro"))->import($sqlLIvro->select());
 }
Пример #2
0
 /**
  * Método que retorna um select base para a maioria das consultas da classe
  * @return Select Um objeto contendo o molde para a consulta básica
  */
 public function select()
 {
     $select = new Select($this->tg->getTabela());
     $sqlLivro = new SqlLivro();
     $sqlDisciplina = new SqlDisciplina();
     return $select->columns(array("pk_capitulo", "capitulo_sequencial", "capitulo_nome"))->join("apostilas.livro", array("pk_livro" => "fk_livro"))->import($sqlLivro->select())->join("public.materia_vin", array("pk_materia_vin" => "fk_materia_vin"))->join("public.materia", array("pk_materia" => "public.materia_vin.fk_materia"))->import($sqlDisciplina->select());
 }
 /**
  * Método contendo o modelo básico de consultas para uso da classe.
  * 
  * @return Select
  */
 public function select()
 {
     $select = new Select();
     $sqlDisciplina = new SqlMateria();
     $sqlSerie = new SqlSerie();
     return $select->columns(array('pk_materia_vin', 'materia_vin_video_apresentacao'))->join('public.serie', array('pk_serie' => "{$this->tg->getTabela()}.fk_serie"))->import($sqlSerie->select())->join('public.materia', array('pk_materia' => "{$this->tg->getTabela()}.fk_materia"))->import($sqlDisciplina->select());
 }
Пример #4
0
 /**
  * Método que gera a página de apresentação da disciplina.
  *
  * @param int $id      O código da disciplina
  * @param int $serieId A série associada a disciplinna e ao vídeo
  */
 public function apresentacaoDisciplina($id, $serieId)
 {
     $this->debug();
     try {
         $sqlDisciplina = new SqlDisciplina();
         $selSerie = new SqlSerie();
         $serie = $selSerie->get((int) $serieId);
         $disciplina = $sqlDisciplina->getComSerie((int) $id, $serie);
         //Verificando se existe vídeo associado a disciplina
         if (!strlen($disciplina->getVideoApresentacao())) {
             throw new Exception('Esta disciplina não possue apresentação');
         }
         $this->bowerLoad('jquery.proporcao');
         $this->setData('disciplina', $disciplina);
         $this->setData('serie', $serie);
         $this->printView();
     } catch (Exception $exc) {
         $this->close($exc);
     }
 }
Пример #5
0
     $path = $parseUrl["path"] ?: false;
     $query = $parseUrl["query"] ?: false;
     if (is_string($host) && is_string($path) && is_string($query)) {
         $querys = explode("&", $query);
         $isSGDE = $host == "sistemaggedeensino.com.br" && $path == "/se/aula/livro/conteudos_digitais/" && in_array("pk_livro={$livroId}", $querys) && in_array("pk_materia={$disciplinaId}", $querys);
     }
 }
 if (!$isSGDE) {
     //carregando o usuário logado
     $usrValidar = new Usuarios();
     $usuario = $usrValidar->usuarioLogado();
     if (!$usuario instanceof Professor && !$usuario instanceof Aluno && $usuario->getPerfil()->getId() != Perfil::ADMIN && $usuario->getPerfil()->getId() != Perfil::COORDENADOR && $usuario->getPerfil()->getId() != Perfil::GESTOR) {
         throw new Exception("Desculpe, este conteúdo é apenas destinado " . "a professores e alunos");
     }
     //Carregando a disciplina de acordo com o perfil do usuário logado
     $sqlDisciplina = new SqlDisciplina();
     if ($usuario->getPerfil()->getId() == Perfil::ADMIN || $usuario->getPerfil()->getId() != Perfil::COORDENADOR || $usuario->getPerfil()->getId() != Perfil::GESTOR) {
         $disciplina = $sqlDisciplina->get($disciplinaId);
     } elseif ($usuario->getPerfil()->getId() == Perfil::ALUNO) {
         $disciplinas = $sqlDisciplina->deAluno($usuario, $filtros);
         while ($d = $disciplinas->fetch()) {
             if ($d->getId() == $disciplinaId) {
                 $disciplina = $d;
                 break;
             }
         }
     } else {
         $disciplinas = $sqlDisciplina->deProfessor($usuario, $filtros);
         while ($d = $disciplinas->fetch()) {
             if ($d->getId() == $disciplinaId) {
                 $disciplina = $d;
 /**
  * Método que gera a página inicial do estudo online.
  */
 public function estudoOnlineHome()
 {
     $this->load->helper('link');
     $usrAux = new Usuarios();
     $sqlTurma = new SqlTurma();
     $sqlLivro = new SqlLivroAula();
     $sqlCapitulos = new SQlCapitulo();
     $sqlConteudos = new SqlTopicoAula();
     $sqlDisciplina = new SqlDisciplina();
     $sqlTestes = new SqlTesteCapitulo();
     $sqlTestesTop = new SqlTesteTopico();
     $sqlStatus = new SqlStatusAlunoTopico();
     $sqlQuestao = new SqlQuestaoAula();
     $sqlAcomp = new SqlAcompanhamento();
     try {
         $aluno = $usrAux->getAluno(false);
         $turma = $sqlTurma->deALuno($aluno);
         $this->filtro->setGet(array("turma" => $turma->getId()));
         $acompanhamento = $sqlAcomp->listarTodos($this->filtro);
         $testesCapitulosLista = $sqlTestes->deAluno($aluno);
         $testesTopicoLista = $sqlTestesTop->deAluno($aluno);
         $livrosDeTurma = $sqlLivro->deTurma($turma);
         $statusList = $sqlStatus->porAluno($aluno);
         $capitulosMax = array();
         $temQuestao = array();
         $livros = array();
         $colecao = null;
         //Escaneando os livros encontrados para a turma
         while ($livro = $livrosDeTurma->fetch()) {
             $colecao = $livro->getColecao();
             $id = $livro->getId();
             $livros[$id]['livro'] = $livro;
             //Salvando as disciplinas do livro
             $disciplinas = $sqlDisciplina->deLivro($livro);
             $this->filtro->setGet(array('livro' => $livro->getId()));
             while ($disciplina = $disciplinas->fetch()) {
                 $idD = $disciplina->getId();
                 $this->filtro->setGet(array('disciplina' => $idD));
                 $livros[$id]['disciplinas'][$idD]['obj'] = $disciplina;
                 //Filtrando os capítulos
                 $capitulos = $sqlCapitulos->listarTodos($this->filtro);
                 $livros[$id]['disciplinas'][$idD]['capitulos'] = array();
                 while ($capitulo = $capitulos->fetch()) {
                     //                        $idC = $capitulo->getId();
                     $idC = $capitulo->getSequencial();
                     $livros[$id]['disciplinas'][$idD]['capitulos'][$idC]['capitulo'] = $capitulo;
                     $temQuestao[$idC] = $sqlQuestao->temParaCapitulo($capitulo);
                     $this->filtro->setGet(array('capitulo' => $capitulo->getId()));
                     $topicos = $sqlConteudos->deCapituloTurma($capitulo, $turma)->fetchAll();
                     $livros[$id]['disciplinas'][$idD]['capitulos'][$idC]['topico'] = $topicos;
                     $secC = trim(str_replace("Capítulo", "", $capitulo->getSequencial()));
                     $secC = str_pad($secC, 3, 0, STR_PAD_LEFT);
                     if (isset($capitulosMax[$secC])) {
                         if ($capitulosMax[$secC] < count($topicos)) {
                             $capitulosMax[$secC] = count($topicos);
                         }
                     } else {
                         $capitulosMax[$secC] = count($topicos);
                     }
                 }
             }
         }
         $tmp = array();
         krsort($capitulosMax, SORT_NUMERIC);
         foreach ($capitulosMax as $chave => $valor) {
             $tmp["Capítulo " . (int) $chave] = $valor;
         }
         $capitulosMax = array_reverse($tmp);
         //Agrupando os testes por capítulos
         $testesCapitulos = array();
         while ($teste = $testesCapitulosLista->fetch()) {
             $testesCapitulos[$teste->getAlvo()->getId()] = $teste;
         }
         //Agrupando os testes por tópico
         $testesTopicos = array();
         while ($teste = $testesTopicoLista->fetch()) {
             $testesTopicos[$teste->getAlvo()->getId()] = $teste;
         }
         //Agrupando os status
         $statusArray = array();
         while ($status = $statusList->fetch()) {
             $statusArray[$status->getTopico()->getId()] = $status;
         }
         //Agrupando o acompanhamento
         $acompArray = array();
         while ($acomp = $acompanhamento->fetch()) {
             $acompArray[$acomp->getTopico()->getId()] = $acomp;
             $maxAcomp = $acomp;
         }
         //Passando os dados para o view
         $this->setData('testesCapitulos', $testesCapitulos);
         $this->setData('acompanhamento', $acompArray);
         $this->setData('testesTopicos', $testesTopicos);
         $this->setData('status', $statusArray);
         $this->setData('aluno', $aluno);
         $this->setData('turma', $turma);
         $this->setData('colecao', $colecao);
         $this->setData('temQuestao', $temQuestao);
         $this->setData('arrayLivros', $livros);
         $this->setData('capitulosMax', $capitulosMax);
         $this->setData('ultLivro', $maxAcomp->getTopico()->getCapitulo()->getLivro());
         $this->loadPlugin('shadowbox');
         $this->printView();
     } catch (SqlException $sql) {
         echo Javascript::alert('Ocorreu um erro interno. ' . 'Tente novamente mais tarde.');
         echo $sql->getMessage();
         $this->close(true);
     } catch (Exception $exc) {
         echo Javascript::alert($exc->getMessage());
         $this->close(true);
     }
 }