Esempio n. 1
0
 /**
  * Método que lista os professores de acordo com os filtros informados e adiciona o número total de faltas de cada um
  * @param int $unidade
  * @param int $ensino
  * @param int $serie
  * @param int $turma
  * @param int $area
  * @param int $frente
  * @param int $disciplina
  * @param int $periodoDe
  * @param int $periodoAte
  * @return PDOStatement
  */
 public function listarPorUnidadeEnsinoSerieTurmaFrente($unidade = FALSE, $ensino = FALSE, $serie = FALSE, $turma = FALSE, $area = FALSE, $frente = FALSE, $disciplina = FALSE, $periodoDe = FALSE, $periodoAte = FALSE)
 {
     $anoLetivo = Loader::data("config", "site", "ano_letivo");
     $where = "public.usuario_professor.status=1 and public.turma.ano='{$anoLetivo}'";
     $where .= " and public.usuario.nome!='Integral'";
     $where .= $unidade ? ' and public.turma.fk_unidade=' . $unidade : '';
     $where .= is_int($ensino) ? ' and "public".serie.ensino = ' . $ensino : '';
     $where .= $serie ? ' and public.turma.fk_serie=' . $serie : '';
     $where .= $turma ? ' and public.turma.pk_turma=' . $turma : '';
     $where .= $frente ? ' and "public".materia.fk_materia_mae=' . $frente : '';
     $where .= $area ? ' and "public".materia_mae.area=' . $area : '';
     $where .= $disciplina ? ' and "public".materia.pk_materia=' . $disciplina : '';
     $inner = 'inner join "public".usuario on "public".usuario.pk_usuario="public".usuario_professor.fk_usuario ';
     $inner .= 'inner join "public".grade on "public".grade.fk_usuario_professor="public".usuario_professor.pk_usuario_professor ';
     $inner .= 'inner join "public".turma on "public".turma.pk_turma="public".grade.fk_turma ';
     $inner .= 'inner join "public".materia_vin on "public".materia_vin.pk_materia_vin="public".grade.fk_materia_vin ';
     $inner .= 'inner join "public".materia on "public".materia.pk_materia="public".materia_vin.fk_materia ';
     $inner .= 'inner join "public".materia_mae on "public".materia.fk_materia_mae="public".materia_mae.pk_materia_mae ';
     $inner .= 'inner join "public".serie on "public".turma.fk_serie="public".serie.pk_serie';
     $outrasColunas = '(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)=\'' . $anoLetivo . '\'' . (Data::validar($periodoDe, 'd/m/Y') && Data::validar($periodoAte, 'd/m/Y') ? ' and "public".aula.data_aula >= \'' . Data::brasilParaSql($periodoDe) . '\' and "public".aula.data_aula <= \'' . Data::brasilParaSql($periodoAte) . '\'' : '') . ') as totalaulas ';
     $distinct = array('"public".usuario.pk_usuario');
     return $this->usuarioProfessor->select($where, array('*', $outrasColunas), $inner, array(), $distinct);
 }
Esempio n. 2
0
 public function registrsoFap($pkUsuarioProfessor, $tipoFap = FALSE, $ano = FALSE, $de = FALSE, $ate = FALSE, $escola = FALSE, $unidade = FALSE, $ensino = FALSE, $serie = FALSE, $turma = FALSE, $area = FALSE, $frente = FALSE, $disciplina = FALSE)
 {
     $where = 'fap.fap_registro.fk_usuario_professor=' . $pkUsuarioProfessor;
     $where .= ' and "public".usuario_tipo_vin.fk_tipo_usuario!=11';
     $where .= is_int($unidade) ? ' and "public".turma.fk_unidade=' . $unidade : '';
     $where .= is_int($ensino) ? ' and "public".serie.ensino=' . $ensino : '';
     $where .= is_int($serie) ? ' and "public".serie.pk_serie=' . $serie : '';
     $where .= is_int($turma) ? ' and "public".turma.pk_turma=' . $turma : '';
     $where .= is_int($area) ? ' and "public".materia_mae.are=' . $area : '';
     $where .= is_int($disciplina) ? ' and "public".materia.pk_materia=' . $disciplina : '';
     $where .= Data::validar($de, "Y-m-d") ? ' and fap.fap_registro.data_evento>\'' . $de . '\'' : '';
     $where .= Data::validar($ate, "Y-m-d") ? ' and fap.fap_registro.data_evento<\'' . $ate . '\'' : '';
     $where .= !Data::validar($de, "Y-m-d") && !Data::validar($ate, "Y-m-d") && Data::validar($ano, "Y") ? ' and extract(year from fap.fap_registro.data_evento)=' . $ano : '';
     $where .= is_int($tipoFap) ? ' and fap.fap_tipo.pk_fap_tipo=' . $tipoFap : '';
     $inner = 'inner join fap.fap_subtipo on fap.fap_subtipo.pk_fap_subtipo=fap.fap_registro.fk_fap_subtipo ';
     $inner .= 'inner join fap.fap_tipo on fap.fap_tipo.pk_fap_tipo=fap.fap_subtipo.fk_fap_tipo ';
     $inner .= 'inner join "public".usuario on "public".usuario.pk_usuario=fap.fap_registro.fk_usuario_inc ';
     $inner .= 'inner join "public".usuario_tipo_vin on "public".usuario_tipo_vin.fk_usuario=' . '"public".usuario.pk_usuario ';
     $inner .= 'inner join "public".tipo_usuario on "public".tipo_usuario.pk_tipo_usuario=' . '"public".usuario_tipo_vin.fk_tipo_usuario ';
     $inner .= 'left join "public".coordenacao_vin on "public".coordenacao_vin.fk_usuario_tipo_vin=' . '"public".usuario_tipo_vin.pk_usuario_tipo_vin ';
     $inner .= 'left join "public".coordenacao on "public".coordenacao.pk_coordenacao=' . '"public".coordenacao_vin.fk_coordenacao ';
     //Tabelas usadas para filtragem de conteúdo
     $inner .= 'left join "public".aula on "public".aula.pk_aula=fap.fap_registro.fk_aula ';
     $inner .= 'left join "public".grade on "public".grade.pk_grade="public".aula.fk_grade ';
     $inner .= 'left join "public".turma on "public".turma.pk_turma="public".grade.fk_turma ';
     $inner .= 'left join "public".serie on "public".serie.pk_serie="public".turma.fk_serie ';
     $inner .= 'left join "public".materia_vin on "public".materia_vin.pk_materia_vin=' . '"public".grade.fk_materia_vin ';
     $inner .= 'left join "public".materia on "public".materia.pk_materia="public".materia_vin.fk_materia ';
     if (is_int($frente)) {
         #?Apenas se for filtrar por materia mãe
         $where .= ' and "public".materia.fk_materia_mae=' . $frente;
         $inner .= 'left join "public".materia_mae on "public".materia_mae.pk_materia_mae=' . '"public".materia.fk_materia_mae';
     }
     $query = 'select * from fap.fap_registro ' . $inner . 'where ' . $where . 'order by (fap.fap_registro.pk_fap_registro) desc';
     return $this->queryStatement($query);
 }
Esempio n. 3
0
 /**
  * Método que verifica se os dados informados são válidos
  * @param boolean $isEdit Define se a validação será para editar o currículo ou inserir
  * @return boolean|string Retorna FALSE em caso de sucesso ou uma string informando o erro
  */
 public function validar($isEdit = FALSE)
 {
     if (!$isEdit) {
         if ($this->buscarCpf()) {
             return "Parece que o CPF informado já esta sendo usado em outra conta. " . "Faça login na sua conta com este CPF e edite o seu currículo";
         }
     }
     if ($this->tipo_curriculo != "profissional" && $this->tipo_curriculo != "estagiario") {
         return "Você precisa escolher entre \"Emprego\" ou \"Estágio\"";
     }
     if (!Strings::validar($this->nome)) {
         return "O nome informádo é inválido";
     }
     if (!Data::validar($this->dt_nascimento, "Y-m-d")) {
         return "A data de nascimento informada é inválida";
     }
     if (!filter_var($this->email, FILTER_VALIDATE_EMAIL)) {
         return "O e-mail informado é inválido";
     }
     if (!Strings::validar($this->estado_civil)) {
         return "O estado civil informado é inválido";
     }
     if (!$isEdit) {
         if (!PadraoBrasil::validaCPF($this->cpf)) {
             return "O CPF informado é inválido";
         }
     }
     if (!PadraoBrasil::validarRG($this->rg)) {
         return "O RG informado é inválido";
     }
     if (!Strings::validar($this->rg_emissor)) {
         return "O orgão expedidor do RG informado é inválido";
     }
     if (!PadraoBrasil::validaUF($this->rg_emissor_uf)) {
         return "O estado do orgão emissor é inválido";
     }
     if (!PadraoBrasil::validaSexo($this->sexo)) {
         return "O sexo informado é inválido";
     }
     if (!Strings::validar($this->endereco)) {
         return "O endereço informado é inválido";
     }
     if (!PadraoBrasil::validaCep($this->cep)) {
         return "O CEP informado é inválido";
     }
     if (!Strings::validar($this->bairro)) {
         return "O bairro informado é inválido";
     }
     if (!Strings::validar($this->cidade)) {
         return "A cidade informada é inválida";
     }
     if (!PadraoBrasil::validaUF($this->uf)) {
         return "O estado informado é inválido";
     }
     if (Strings::validar($this->tel)) {
         if (!PadraoBrasil::validarTelefone($this->tel)) {
             return "O telefone informado é inválido";
         }
     } else {
         $this->tel = '';
     }
     if (Strings::validar($this->cel)) {
         if (!PadraoBrasil::validarTelefone($this->cel)) {
             return "O celular informado é inválido";
         }
     } else {
         $this->cel = '';
     }
     if (!in_array($this->area_interesse, array_keys($this->arrayAreasInter))) {
         return "A área de interesse informada é inválida";
     }
     if (!Strings::validar($this->area_interesse_especificar)) {
         $this->area_interesse_especificar = '';
     }
     if (Strings::validar($this->exp_prof_ult_emprego)) {
         if (!Strings::validar($this->exp_prof_ult_cargo)) {
             return "O cargo do ultimo emprego é inválido";
         }
         if (!Data::validar($this->exp_prof_ult_dt_entrada, "Y-m-d")) {
             return "A data de entrada do ultimo emprego é inválida";
         }
         if (strlen($this->exp_prof_ult_dt_saida)) {
             if (!Data::validar($this->exp_prof_ult_dt_saida, "Y-m-d")) {
                 return "A data de saída do ultimo emprego é inválida";
             }
         } else {
             $this->exp_prof_ult_dt_saida = NULL;
         }
         if (!Strings::validar($this->exp_prof_ult_breve_descri)) {
             return "A descrição do ultimo emprego é inválida";
         }
     } else {
         $this->exp_prof_ult_cargo = "";
         $this->exp_prof_ult_dt_entrada = NULL;
         $this->exp_prof_ult_dt_saida = NULL;
         $this->exp_prof_ult_breve_descri = "";
     }
     if (Strings::validar($this->exp_prof_penul_emprego)) {
         if (!Strings::validar($this->exp_prof_penul_cargo)) {
             return "O cargo do penultimo emprego é inválido";
         }
         if (!Data::validar($this->exp_prof_penul_dt_entrada, "Y-m-d")) {
             return "A data de entrada do penultimo emprego é inválida";
         }
         if (!Data::validar($this->exp_prof_penul_dt_saida, "Y-m-d")) {
             return "A data de saída do penultimo emprego é inválida";
         }
         if (!Strings::validar($this->exp_prof_penul_breve_descri)) {
             return "A descrição do penultimo emprego é inválida";
         }
     } else {
         $this->exp_prof_penul_emprego = "";
         $this->exp_prof_penul_cargo = "";
         $this->exp_prof_penul_dt_entrada = NULL;
         $this->exp_prof_penul_dt_saida = NULL;
         $this->exp_prof_penul_breve_descri = "";
     }
     if (!Strings::validar($this->form_aca_tipo)) {
         return "O tipo da formação informada é inválida";
     }
     if (!Strings::validar($this->form_aca_instituicao)) {
         return "A instituição da formação é inválida";
     }
     if (!Strings::validar($this->form_aca_curso)) {
         return "O curso informado é inválido";
     }
     if (Strings::validar($this->form_aca_status)) {
         if ($this->form_aca_status != "completo") {
             if (!filter_var($this->form_aca_periodo, FILTER_VALIDATE_INT)) {
                 return "O periodo informado é inválido";
             }
         } else {
             $this->form_aca_periodo = 0;
         }
     } else {
         $this->form_aca_status = "";
         $this->form_aca_periodo = "";
     }
     if (!Strings::validar($this->form_aca_especializacao)) {
         $this->form_aca_especializacao = '';
     }
     if (!Strings::validar($this->curso_complemento)) {
         $this->curso_complemento = '';
     }
     if (in_array($this->ingles_nivel, array_keys($this->arrayNiveisIdiomas))) {
         if (!Strings::validar($this->ingles_instituicao)) {
             return "A instituição do curso de inglês é inválida";
         }
     } else {
         $this->ingles_nivel = "";
         $this->ingles_instituicao = "";
     }
     if (Strings::validar($this->idioma)) {
         if (!in_array($this->idioma_nivel, array_keys($this->arrayNiveisIdiomas))) {
             return "O nível do idioma secundário é inválido";
         }
         if (!Strings::validar($this->idioma_isntituicao)) {
             return "A instituição do idioma secundário é invalida";
         }
     } else {
         $this->idioma = "";
         $this->idioma_nivel = "";
         $this->idioma_isntituicao = "";
     }
     if (!Strings::validar($this->obs)) {
         $this->obs = '';
     }
     return FALSE;
 }
Esempio n. 4
0
 /**
  * Método que envia a solicitação de alteração de dados cadastrais
  */
 public function solicita_alt()
 {
     $pkUsuario = filter_input(INPUT_POST, 'usuario', FILTER_VALIDATE_INT);
     //Recebendo o código do usuário para a validação do mesmo
     if ($this->tipoLogado != Perfil::ADMIN) {
         if ($this->usuario->get_idUsuario() != $pkUsuario) {
             $this->setMensagem('Desculpe, você não pode pedir as alterações dos dados de outro usuário')->printResposta();
             die;
         }
     }
     if (!$pkUsuario) {
         $this->setMensagem('O usuário informado é inválido.')->printResposta();
     }
     $dadosMensagem = array();
     $mensagem = '';
     $emailNews = new Kernel_Models_NewsletterContas();
     $usuarioObj = new Kernel_Models_Usuario();
     $usuario = $usuarioObj->get($pkUsuario);
     $mail = new Mail();
     $nome = filter_input(INPUT_POST, 'nome', FILTER_SANITIZE_MAGIC_QUOTES);
     $dtnascimento = filter_input(INPUT_POST, 'data_nascimento', FILTER_SANITIZE_MAGIC_QUOTES);
     $cpf = filter_input(INPUT_POST, 'cpf', FILTER_SANITIZE_MAGIC_QUOTES);
     $rg = filter_input(INPUT_POST, 'rg', FILTER_SANITIZE_MAGIC_QUOTES);
     $sexo = filter_input(INPUT_POST, 'sexo', FILTER_SANITIZE_MAGIC_QUOTES);
     $telefone = filter_input(INPUT_POST, 'telefone', FILTER_SANITIZE_MAGIC_QUOTES);
     $cep = filter_input(INPUT_POST, 'cep', FILTER_SANITIZE_MAGIC_QUOTES);
     $endereco = filter_input(INPUT_POST, 'endereco', FILTER_SANITIZE_MAGIC_QUOTES);
     $numero = filter_input(INPUT_POST, 'numero', FILTER_SANITIZE_MAGIC_QUOTES);
     $complemento = filter_input(INPUT_POST, 'complemento', FILTER_SANITIZE_MAGIC_QUOTES);
     $bairro = filter_input(INPUT_POST, 'bairro', FILTER_SANITIZE_MAGIC_QUOTES);
     $cidade = filter_input(INPUT_POST, 'cidade', FILTER_SANITIZE_MAGIC_QUOTES);
     $uf = filter_input(INPUT_POST, 'estado', FILTER_SANITIZE_MAGIC_QUOTES);
     //Validando os dados
     if ($nome) {
         if (!Strings::validar($nome)) {
             $this->setMensagem('O nome informado é inválido')->printResposta();
             die;
         }
         $dadosMensagem['nome'] = $nome;
     }
     if ($dtnascimento) {
         if (!Data::validar($dtnascimento, 'd/m/Y')) {
             $this->setMensagem('A data de nascimento é inválida')->printResposta();
             die;
         }
         $dadosMensagem['data de nascimento'] = $dtnascimento;
     }
     if ($cpf) {
         if (!PadraoBrasil::validaCPF($cpf)) {
             $this->setMensagem('O cpf informado é inválido')->printResposta();
             die;
         }
         $dadosMensagem['cpf'] = $cpf;
     }
     if ($rg) {
         if (!PadraoBrasil::validarRG($rg)) {
             $this->setMensagem('O rg informado é inválido')->printResposta();
             die;
         }
         $dadosMensagem['rg'] = $rg;
     }
     if ($sexo) {
         if (!PadraoBrasil::validaSexo($sexo)) {
             $this->setMensagem('O sexo informado é inválido')->printResposta();
             die;
         }
         $dadosMensagem['sexo'] = $sexo;
     }
     if ($telefone) {
         if (!PadraoBrasil::validarTelefone($telefone)) {
             $this->setMensagem('O telefone informado é inválido')->printResposta();
             die;
         }
         $dadosMensagem['telefone'] = $telefone;
     }
     if ($cep) {
         if (PadraoBrasil::validaCep($cep)) {
             $this->setMensagem('O cep informado é inválido')->printResposta();
             die;
         }
         $dadosMensagem['cep'] = $cep;
     }
     if ($endereco) {
         $dadosMensagem['endereço'] = $endereco;
     }
     if ($numero) {
         $dadosMensagem['número'] = $numero;
     }
     if ($complemento) {
         $dadosMensagem['complemento'] = $complemento;
     }
     if ($bairro) {
         $dadosMensagem['bairro'] = $bairro;
     }
     if ($cidade) {
         $dadosMensagem['cidade'] = $cidade;
     }
     if ($uf) {
         if (!PadraoBrasil::validaUF($uf)) {
             $this->setMensagem('O estado informado é inválido')->printResposta();
             die;
         }
         $dadosMensagem['estado'] = PadraoBrasil::getEstado($uf);
     }
     //Montando a mensagem
     foreach ($dadosMensagem as $key => $value) {
         $mensagem .= '<div class="form-group">' . '<label>Alterar ' . $key . ' para ' . $value . '</label>' . '</div>';
     }
     $mail->loadModelo()->mensagemDeModelo(array('titulo' => 'Solicitação de alteração dos dados pessoais', 'subtitulo' => 'O usuário ' . $usuario->nome . '(código ' . $usuario->pk_usuario . ')' . ' solicita alteração nos seguintes dados:', 'conteudo' => $mensagem));
     if ($emailNews->enviar('RH Colégio GGE', '*****@*****.**', 'Solicitaçao de alteração de dados cadastrais', $mail->getMensagem())) {
         $this->setMensagem('Solicitação encaminhada com sucesso ao RH')->setStatusCod(0)->statusTrue();
     } else {
         $this->setMensagem('Ocorreu o seguinte erro ao enviar a solicitação: ' . $emailNews->getErros() . '. Por favor, informe o ocorrido ao administrador do sistema e tente novamente mais tarde.');
     }
     $this->printResposta();
 }
Esempio n. 5
0
 /**
  * Método que lista os conceitos do professor
  * @param int $pkUsuarioProfessor
  * @param int $unidade
  * @param int $ensino
  * @param int $serie
  * @param int $turma
  * @param int $area
  * @param int $frente
  * @param int $disciplina
  * @param DateInterval $periodoDe
  * @param DateTime $periodoAte
  * @param int $ano
  */
 public function listarConceitos($pkUsuarioProfessor, $unidade = FALSE, $ensino = FALSE, $serie = FALSE, $turma = FALSE, $area = FALSE, $frente = FALSE, $disciplina = FALSE, $periodoDe = FALSE, $periodoAte = FALSE, $ano = FALSE, $tipoFap = FALSE, array $order = array('fap.fap_registro.pk_fap_registro'), $oderAsc = FALSE)
 {
     if (!$this->fapRegistros instanceof fap_fap_registro) {
         throw new Exception('Invalid object: o objeto informado é inválido');
     }
     $where = 'fap.fap_registro.fk_usuario_professor=' . $pkUsuarioProfessor;
     $where .= ' and "public".usuario_tipo_vin.fk_tipo_usuario!=11';
     $where .= is_int($unidade) ? ' and "public".turma.fk_unidade=' . $unidade : '';
     $where .= is_int($ensino) ? ' and "public".serie.ensino=' . $ensino : '';
     $where .= is_int($serie) ? ' and "public".serie.pk_serie=' . $serie : '';
     $where .= is_int($turma) ? ' and "public".turma.pk_turma=' . $turma : '';
     $where .= is_int($area) ? ' and "public".materia_mae.are=' . $area : '';
     $where .= is_int($disciplina) ? ' and "public".materia.pk_materia=' . $disciplina : '';
     $where .= Data::validar($periodoDe, "d/m/Y") ? ' and fap.fap_registro.data_evento>\'' . Data::brasilParaSql($periodoDe) . '\'' : '';
     $where .= Data::validar($periodoAte, "d/m/Y") ? ' and fap.fap_registro.data_evento<\'' . Data::brasilParaSql($periodoAte) . '\'' : '';
     $where .= !Data::validar($periodoDe, "d/m/Y") && !Data::validar($periodoAte, "d/m/Y") ? ' and extract(year from fap.fap_registro.data_evento)=' . (Data::validar($ano, "Y") ? $ano : Loader::data("config", "site", "ano_letivo")) : '';
     $where .= is_int($tipoFap) ? ' and fap.fap_tipo.pk_fap_tipo=' . $tipoFap : '';
     $inner = 'inner join fap.fap_subtipo on fap.fap_subtipo.pk_fap_subtipo=fap.fap_registro.fk_fap_subtipo ';
     $inner .= 'inner join fap.fap_tipo on fap.fap_tipo.pk_fap_tipo=fap.fap_subtipo.fk_fap_tipo ';
     $inner .= 'inner join "public".usuario on "public".usuario.pk_usuario=fap.fap_registro.fk_usuario_inc ';
     $inner .= 'inner join "public".usuario_tipo_vin on "public".usuario_tipo_vin.fk_usuario="public".usuario.pk_usuario ';
     $inner .= 'inner join "public".tipo_usuario on "public".tipo_usuario.pk_tipo_usuario="public".usuario_tipo_vin.fk_tipo_usuario ';
     /////////////////////////
     $inner .= 'left join "public".coordenacao_vin on "public".coordenacao_vin.fk_usuario_tipo_vin="public".usuario_tipo_vin.pk_usuario_tipo_vin ';
     $inner .= 'left join "public".coordenacao on "public".coordenacao.pk_coordenacao="public".coordenacao_vin.fk_coordenacao ';
     /////////////////////Tabelas usadas para filtragem de conteúdo
     $inner .= 'left join "public".aula on "public".aula.pk_aula=fap.fap_registro.fk_aula ';
     $inner .= 'left join "public".grade on "public".grade.pk_grade="public".aula.fk_grade ';
     $inner .= 'left join "public".turma on "public".turma.pk_turma="public".grade.fk_turma ';
     $inner .= 'left join "public".serie on "public".serie.pk_serie="public".turma.fk_serie ';
     $inner .= 'left join "public".materia_vin on "public".materia_vin.pk_materia_vin="public".grade.fk_materia_vin ';
     $inner .= 'left join "public".materia on "public".materia.pk_materia="public".materia_vin.fk_materia ';
     if (is_int($frente)) {
         #?Apenas se for filtrar por materia mãe
         $where .= ' and "public".materia.fk_materia_mae=' . $frente;
         $inner .= 'left join "public".materia_mae on "public".materia_mae.pk_materia_mae=' . '"public".materia.fk_materia_mae';
     }
     $tmp = $this->fapRegistros->select($where, array(), $inner, $order, array(), 0, 0, $oderAsc);
     return $tmp;
 }