/** * Método que gera um Select genérico para uso interno da classe * * @return Select Retorna um objeto contendo a base para as consultas */ public function select() { $select = new Select($this->tabela); $sqlUsuario = new SqlUsuario(); $sqlTipo = new SqlTipo(); $sqlDest = new SqlDestinatario(); return $select->columns(array("titulo", "texto", "status", "data_inc"), "area_transf_")->columns(array("pk_area_transf" => "pk_area_transferencia"))->join($sqlUsuario->getTabela(), array("pk_usuario" => "{$this->tabela}.fk_usuario_remetente"))->import($sqlUsuario->select())->join($sqlTipo->getTabela(), array("pk_area_transf_tipo" => "{$this->tabela}.fk_area_transf_tipo"))->import($sqlTipo->select())->join($sqlDest->getTabela(), array("fk_area_transferencia" => "pk_area_transferencia"))->import($sqlDest->select()); }
/** * Método que retorna uma consulta modelo para uso da classe. * * @return Select */ public function select() { $t = $this->tg->getTabela(); $sqlSubtipo = new SqlSubtipo(); $sqlUsuario = new SqlUsuario(); $select = new Select($t); return $select->columns(array('fap_obs', 'data_evento', 'data_inc', 'score'), 'fap_registro_')->columns("pk_fap_registro")->join('fap.fap_subtipo', array('pk_fap_subtipo' => 'fk_fap_subtipo'))->import($sqlSubtipo->select())->import($this->usrAutor())->join("public.usuario_professor", array("pk_usuario_professor" => "{$t}.fk_usuario_professor"))->join("public.usuario", array("pk_usuario" => "public.usuario_professor.fk_usuario"))->import($sqlUsuario->select()); }
/** * Metodo que retorna uma query básica usada para as buscas. * * @return Select Um objeto contendo uma query genérica */ public function select() { $t = $this->tg->getTabela(); $select = new Select($t); $sqlAluno = new SqlAluno(); $sqlUsuario = new SqlUsuario(); $sqlSubtipo = new SqlSubTipo(); return $select->columns(array("data_evento", "score", "obs"), "afa_conceito_aluno_")->columns(array("pk_afa_conceito_aluno", "fk_usuario_coordenador"))->columns(array("afa_conceito_aluno_alvo" => $sqlAluno->select()->columnsReset()->columns(array("usuario||','||usuario_aluno"))->where("pk_usuario_aluno=fk_usuario_aluno")->limit(1), "afa_conceito_aluno_usuario_inc" => $sqlUsuario->select()->columnsReset()->columns(array("usuario||','||funcao_usuario"))->where("pk_usuario={$this->tabela}.fk_usuario_inc")->limit(1)))->join("afa.afa_subtipo_anotacao", array("pk_afa_subtipo_anotacao" => "fk_afa_subtipo_anotacao"))->join("public.usuario_aluno", array("pk_usuario_aluno" => "fk_usuario_aluno"))->join("public.aula", array("pk_aula" => "fk_aula"), Join::LEFT_JOIN)->import($this->usrAutor())->import($sqlSubtipo->select()); }
/** * Método que gera um Select genérico para uso interno da classe * * @return Select Retorna um objeto contendo a base para as consultas */ public function select() { $t = $this->tg->getTabela(); $sqlUnidade = new SqlUnidade(); $sqlSerie = new SqlSerie(); $sqlTurma = new SqlTurma(); $sqlUsuario = new SqlUsuario(); $select = new Select($t); return $select->columns(array("pk_area_transf_dest" => "cod", "area_transf_dest_tipo" => "(case " . "when {$t}.fk_unidade!=0 then '" . Destinatario::UNIDADE . "' " . "when {$t}.fk_serie!=0 then '" . Destinatario::SERIE . "' " . "when {$t}.fk_turma!=0 then '" . Destinatario::TURMA . "' " . "else '" . Destinatario::USUARIO . "' " . "end)", "area_transf_dest_alvo" => "(case " . "when {$t}.fk_unidade!=0 " . "then ({$sqlUnidade->select()->columnsReset()->columns("unidade||''")->where("pk_unidade={$t}.fk_unidade")->limit(1)}) " . "when {$t}.fk_serie!=0 " . "then ({$sqlSerie->select()->columnsReset()->columns("serie||''")->where("pk_serie={$t}.fk_serie")->limit(1)}) " . "when {$t}.fk_turma!=0 " . "then ({$sqlTurma->select()->columnsReset()->columns("turma||''")->where("pk_turma={$t}.fk_turma")->limit(1)}) " . "else ({$sqlUsuario->select()->columnsReset()->columns("usuario||''")->where("pk_usuario={$t}.fk_usuario " . "and {$t}.fk_tipo_usuario=pk_tipo_usuario")->limit(1)}) " . "end)")); }
/** * Método que retorna um select básico para ser usado nas consultas * @return Select */ public function select() { $coordenador = new Coordenador(); $sqlCoordenacao = new SqlCoordenacao(); $select = parent::select(); return $select->columns(array("tipo" => "public.usuario_coordenador.tipo", "status" => "public.usuario_coordenador.status"), $coordenador->getColunaBase())->columns(array("pk_usuario_coordenador"))->join($coordenador->getPerfil()->getTabela(), array("fk_usuario" => "pk_usuario"))->join("public.coordenacao_vin", array("fk_usuario_tipo_vin" => "pk_usuario_tipo_vin"))->join("public.coordenacao", array("pk_coordenacao" => "fk_coordenacao"))->import($sqlCoordenacao->select()); }
/** * Método que gera uma consulta basica para ser usada pela classe. * * @return Select Objeto contendo as consultas básicas */ public function select() { $responsavel = new Responsavel(); $tabela = $responsavel->getPerfil()->getTabela(); $select = parent::select(); return $select->columns(array("{$responsavel->getColunaBase()}status" => "{$tabela}.status", "pk_usuario_responsavel"))->join($tabela, array('fk_usuario' => 'pk_usuario')); }
/** * Método que gera um select genérico para uso da classe * @return Select Um select genérico */ public function select() { $prof = new Professor(); $select = parent::select(); return $select->join($prof->getPerfil()->getTabela(), array("fk_usuario" => "pk_usuario"))->columns("pk_usuario_professor"); }
/** * Método usado para adicionar a coluna que informa o usuário que * realizou a inserção do item listado. * Especialização do método original pois esta classe não usa o modelo de logs. * * @param string $indice A coluna referente ao apontador da tabela * * @return Select Um objeto Select contendo a coluna e o alias * para o retorno do usuário */ protected function usrInsert($indice, $coluna = "usuario_insert") { $select = new Select(' '); $sqlUsuario = new SqlUsuario(); return $select->columns(array('usuario_insert' => $sqlUsuario->select()->columnsReset()->columns("usuario||','||tipo_usuario||','||" . "funcao_usuario||','||" . "'(0,0,0,abc,0,{$this->tg->getTabela()}.data_inclusao," . "0,000.000.000,asd)'")->where("pk_usuario={$this->tg->getTabela()}.fk_usuario_inc " . 'and pk_tipo_usuario=' . Perfil::COORDENADOR)->limit(1))); }
/** * Método que converte a página em PDF do tópico em arquivo jpg * @param int $topicoId O código do tópico * @param int $pagina O número da página */ public function getPage() { $topicoId = $this->get("topico"); $pagina = $this->get("pagina"); $sqlLivro = new SqlLivro(); $sqlUsuario = new SqlUsuario(); try { //Validando o usuário if (!isset($_SESSION['usuario'])) { throw new Exception("Você precisa estar logado para ter acesso a este recurso"); } $usuario = unserialize($_SESSION['usuario']); if (!$usuario instanceof Usuario2) { throw new Exception("Você precisa estar logado para ter acesso a este recurso"); } $tipoUsuario = $usuario->get_tipoUsuario(); $sqlUsuario->get($usuario->get_idUsuario(), new Usuario(new Perfil($tipoUsuario[0]->get_idTipoUsuario()))); // $topico = $sqlLivro->getTopico((int) $topicoId); if (!(int) $pagina) { throw new Exception("A página informada é inválida"); } if (!$topico->getConteudoDigital()) { throw new Exception("Não há conteúdo digitalizado para a página e tópico informados"); } if ($pagina > $topico->getPaginaFinal() || $pagina < $topico->getPaginaInicial()) { throw new Exception("Este tópico não possue a página informada"); } if ($topico->getPaginaFinal() - $topico->getPaginaInicial() == 1) { $pagina = ""; } else { $pagina = (int) ($pagina - $topico->getPaginaInicial()); } $pathPDF = $topico->getPdfTopico(); $path = substr($pathPDF, 0, strrpos($pathPDF, ".")); $pathPNG = "{$path}{$pagina}.png"; if (!file_exists($pathPNG)) { //Convertendo o pdf para png throw new \GGE\Lib\Base\Exception("A página não foi encontrada"); } $imagem = new Image($pathPNG); $imagem->setNewWidth($this->get("width")); $imagem->setNewHeight($this->get("height")); $imagem->setQuality(75); $imagem->setAntiAlias(TRUE); $imagem->setType(""); $getImage = new GetImage($imagem); $getImage->__toString(); die; } catch (SqlException $sql) { echo "Ocorreu um erro interno. Tente novamente mais tarde"; } catch (Exception $exc) { echo $exc->getMessage() . "<br>"; } }
/** * Método que gera uma consulta basica para ser usada pela classe. * * @return Select Objeto contendo as consultas básicas */ public function select() { $aluno = new Aluno(); $select = parent::select(); return $select->columns(array("aluno_status" => "public.usuario_aluno.status", "pk_usuario_aluno"))->join($aluno->getPerfil()->getTabela(), array('fk_usuario' => 'pk_usuario')); }
/** * Método usado para adicionar a coluna que informa o usuário que * realizou a inserção do item listado. O objeto referente ao usuário * que realizou a inserção é \Kernel\Modelo\Perfis\UsuarioInteracao. * * @param string $indice A coluna referente ao apontador da tabela * @param string $coluna A coluna do usuário de inserção do registro * * @return Select Um objeto Select contendo a coluna e o alias * para o retorno do usuário */ protected function usrInsert($indice, $coluna = "usuario_insert") { if (!String::validarTipo($indice)) { throw new SqlException('A coluna de indice para o usuário ' . 'de inserção é inválida', 99); } $select = new Select(' '); $sqlUsuario = new SqlUsuario(); return $select->columns(array($coluna => $sqlUsuario->select()->columnsReset()->columns("usuario||','||tipo_usuario||','||" . "funcao_usuario||','||" . Logs::TABELA)->join(Logs::TABELA, array('log_interacao_pk_usuario' => 'pk_usuario', 'log_interacao_pk_tipo_usuario' => 'pk_tipo_usuario'))->where("log_interacao_id_interado={$indice} " . 'and log_interacao_acao=' . Logs::INSERT)->limit(1))); }
/** * Método que atualiza a foto do aluno * @param int $pkAluno O código do aluno na tabela de usuários */ private function editarFoto($pkAluno = 0) { header('Content-Type: application/json; charset=UTF-8'); $sqlUsuario = new SqlUsuario(); $usrAux = new Usuarios(); try { $aluno = $usrAux->getAluno((int) $pkAluno); if (!isset($_FILES["novafoto"])) { throw new Exception("Ocorreu um erro ao tentar atualizar a foto. " . "Recarregue a página e tente novamente"); } $foto = $_FILES["novafoto"]; $sqlUsuario->atualizarFoto($aluno->defineFoto($foto)); die(json_encode(array("status" => true, "mensagem" => "Foto editada com sucesso"))); } catch (Exception $exc) { die(json_encode(array("status" => false, "mensagem" => $exc->getMessage()))); } }