/** * 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); }
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); }
/** * 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; }
/** * 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(); }
/** * 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; }