/** * Método que retorna todos os tipos cadastrados em formato de objeto JSON com as suas respectivas associações */ public function listar() { $fapTipo = new ModelBase("fap.fap_tipo"); $fapSubTipo = new ModelBase("fap.fap_subtipo"); $fapTipoTodos = $fapTipo->select("pk_fap_tipo>0"); while ($fap = $fapTipoTodos->fetchObject("fap_fap_tipo")) { $tmpFap = new stdClass(); $tmpFap->id = $fap->pk_fap_tipo; $tmpFap->nome = $fap->fap_tipo_nome; $tmpFap->categoria = $fap->cat; $tmpFap->subTipos = array(); $fapSubTipoTodos = $fapSubTipo->select("fk_fap_tipo={$fap->pk_fap_tipo}"); while ($fapSub = $fapSubTipoTodos->fetchObject("fap_fap_subtipo")) { $tmpSub = new stdClass(); $tmpSub->id = $fapSub->pk_fap_subtipo; $tmpSub->nome = $fapSub->fap_subtipo_nome; $tmpSub->cor = $fapSub->cor_subtipo; $tmpSub->score = $fapSub->pontuacao; $tmpSub->obs = $fapSub->obs; $tmpSub->positiva = (bool) $fapSub->positiva; array_push($tmpFap->subTipos, $tmpSub); } $this->appendResposta($tmpFap); } $this->statusTrue()->setStatusCod(0)->printResposta(); }
public function loadPermissions() { $permissions = ModelBase::select($this->db, 'viewPermissionsByUser', 'user_role_user_id = ?', [$this->val('user_id')]); $this->permissions = []; foreach ($permissions as $permission) { $this->permissions[] = $permission->val('permission_name'); } }
public function prepare($db) { $this->paging = Paging::getFromUrl(); $this->paging->limit = $this->page_size; Paging::$max_pages_links = $this->max_pages_links; $this->search = isset($_GET['s']) ? $_GET['s'] : ''; // add filtering logic here $this->data = ModelBase::select($db, $this->name, $this->where, $this->bindings, $this->types, $this->paging, $this->orderby); }
/** * Método que permite editar a conta selecionada * @param int $contaId */ public function editar($contaId = FALSE) { $id = (int) $contaId; $this->contas->setId($id); $conta = $this->contas->getObject(); if (!$id || !$conta) { echo Javascript::alert("A conta informada é inválida"); echo Javascript::history_back(); return; } // $acao = $this->load->model('public_acao'); $acao = new ModelBase("public.acao"); $this->setData('conta', $conta)->setData('acao', $acao->select("", array(), "", array('modulo')))->printView(); }
/** * Método que exibe a página com os detalhes do uso do sap de acordo com o professor informado * @param type $profCod O código do professor na tabela usuario_professor */ public function detalhes_de_uso_do_afa($profCod = FALSE) { // $this->forceMobile(); $profCodigo = (int) $profCod; if (!$profCodigo && !$this->getFiltros()->shadowbox) { echo Javascript::alert('O professor informado é inválido'); echo Javascript::shadowboxClose(); echo Javascript::close(); return; } $afaTipos = new ModelBase('afa.Afa_Tipo_Anotacao'); $afa = new Kernel_Models_Afa(); $this->setData('professor', $this->professores->selectUsuarioProfessor($profCodigo))->loadPlugin('google.jsapi')->loadPlugin('jquery.tablesorter')->setData('afaTipos', $afaTipos->select('pk_afa_tipo_anotacao>1'))->setData('avaliacoes', $afa->selectRegistrosDeProfessores(FALSE, $profCodigo, TRUE))->printView(); }
/** * 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(); }
/** * 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(); }
public function prepare($db, $data) { $this->data = $data; if ($this->is_admin_form) { $this->action = sprintf($this->action, $this->data->val($this->id)); $this->del_url = sprintf($this->del_url, $this->data->val($this->id)); } foreach ($this->fields as $field) { if (isset($field->name)) { $field->value = $this->data->val($field->name); if ($field->type == 'select' && !isset($field->select_data)) { $field->select_data = ModelBase::select($db, $field->select_table, null, null, null, null, $field->select_label_field); } elseif ($field->type == 'foreign_key_link') { $entity = new ModelBase($db); $entity->table_name = $field->link_table; $filter = sprintf('%s = ?', $field->link_id_field); $entity->loadSingleFiltered($filter, [$this->data->val($field->name)]); $field->link_label = $entity->val($field->link_label_field); $field->link_url = sprintf($field->link_template, $entity->val($field->link_id_field)); } } } }
/** * Método que verifica se os dados informados são válidos * @param boolean $editar Define se o método ira fazer a validação de um objeto a ser editado ou não * @return boolean|int Retorna FALSE caso os dados estejam corretos ou um código referente ao erro */ public function validar($editar = FALSE) { if (!Strings::validar($this->nome_descricao)) { return 1; } if (!filter_var($this->email_from, FILTER_VALIDATE_EMAIL)) { return 2; } if (!$editar) { $tmp = $this->select("email_from='" . $this->email_from . "'"); if ($tmp) { if ($tmp->rowCount()) { return 10; } } } if (!Strings::validar($this->from_name)) { return 3; } if (!Strings::validar($this->senha)) { return 4; } if ($this->tipo_seguranca != 'ssl' && $this->tipo_seguranca != 'tsl') { return 5; } if (!is_int($this->porta)) { return 6; } if (!Strings::validar($this->host)) { return 7; } if ($this->envio_exclusivo != 0) { $tmp = explode("/", $this->envio_exclusivo); $acao = new ModelBase("public.acao"); if (!$acao->select("modulo='" . $tmp[0] . "' and controle='" . $tmp[1] . "' and metodo='" . $tmp[2] . "'", array(), "", array(), array(), 1)->rowCount()) { return 8; } } return 0; }
/** * Método que retorna uma mensagem de acordo com o id informado. * @param int $idMensagem O indice da mensagem no banco * @return Kernel_Models_AgendasSemanais Um objeto contendo todos os dados da mensagen * @throws Exception Caso o id seja inválido */ public function getMensagem($idMensagem) { $this->setId($idMensagem); $mensagem = $this->getObject(); if (!$mensagem) { throw new Exception("A mensagem informada é inválida"); } //Buscando destinatários $tipoDestinatario = $mensagem->getTipoDestinatarios(); $objDestinatario = new $tipoDestinatario(); $destinModel = new ModelBase($this->getTabela() . "_destinatarios "); $destinatarios = $destinModel->select("mensagem=" . $mensagem->getId()); //Adicionadno os destinatários ao objeto atual while ($destinatario = $destinatarios->fetchObject()) { $mensagem->setDestinatarios($objDestinatario->get($destinatario->pk_destinatario)); } //retornando o objeto montado return $mensagem; }
<?php /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ /** * * @author Servidor */ $fapTiposRegistros = new ModelBase("fap.fap_tipo"); $fapTiposRegistrosListar = $fapTiposRegistros->select(); ?> <select name="fap_tipo" class="filtro"> <option value=""><?php echo $filtros->fap_tipo ? 'Todas os tipos de registros' : 'Filtrar por tipo de registro'; ?> </option> <?php if ($fapTiposRegistrosListar) { while ($row = $fapTiposRegistrosListar->fetchObject()) { ?> <option value="<?php echo $row->pk_fap_tipo; ?> "<?php echo $row->pk_fap_tipo === $filtros->fap_tipo ? ' selected' : ''; ?> ><?php echo $row->fap_tipo_nome;
/** * Retorna um histórico de aulas dadas * @param int $pkUsuario O código do professor. Não precisa ser informado caso o professor esteja logado * @param int $de Um filtro indicando que devem ser exibidos os registros a partir de uma determinada data * @param int $ate Um filtro indicando até onde devem ser exibidos os registros * @param int $escola Exibir apenas de uma escola * @param int $unidade Exibir os registros apenas de uma unidade * @param int $serie Os registros de uma unica série * @param int $turma Os registros de uma unica turma */ public function get_historico_aulas($pkUsuario = 0) { $validarUser = new Kernel_Models_ValidarUsuarios(); $professor = $validarUser->professor($pkUsuario); if ($professor) { $this->statusTrue()->setStatusCod(0); // $aulas = $this->load->model('public_aula'); $aulas = new ModelBase("public.aula"); $aulasList = $aulas->select('fk_usuario=' . $professor->getId() . ' and extract(year from data_aula)=\'' . date('Y') . '\'', array(), "inner join public.usuario_professor on pk_usuario_professor=fk_usuario_professor"); //Lendo as aulas do professor while ($row = $aulasList->fetchObject()) { $ret = new stdClass(); $ret->conteudo = $row->conteudo; $ret->dt_aula = $row->data_aula; $ret->obs = $row->obs; $this->appendResposta($ret); } } else { $this->setMensagem("O professor informado é inválido"); } $this->printResposta(); }
/** * Método que retorna um chamado de acordo com o id informado. * * @param int $chamadoId O código referente ao chamado * * @return eqpedagogica_models_Ouvidoria|boolean retorna um objeto do tipo Ouvidoria com as mensagens * associadas ou FALSE em caso de erro */ public function getChamado($chamadoId) { $this->setId($chamadoId); $query = 'select public.helpdesk.*,public.usuario.nome as destinatario_nome, ' . 'public.usuario.foto as destinatario_foto ' . 'from ' . $this->getTabela() . ' '; $query .= 'inner join public.usuario on pk_usuario=destinatario '; $query .= 'inner join public.usuario_tipo_vin on ' . 'fk_tipo_usuario=destinatario_tipo and fk_usuario=destinatario '; $query .= 'where id=' . $this->getId(); $retorno = $this->queryStatement($query); if (!$retorno->rowCount()) { //caso o chamdo não seja encontrado $this->appendErro('O chamado informado é inválido'); return false; } $chamado = $retorno->fetchObject(get_class($this)); //Buscando as mensagens do chamado $mensagem = new ModelBase($this->getTabela() . '_mensagens'); $chamado->mensagens = $mensagem->select("chamado={$chamadoId}"); return $chamado; }
public function loadAllowedPaymentTypes() { $this->allowed_payment_types = ModelBase::select($this->db, 'viewAllowedPaymentTypes', 'allowed_payment_type_delivery_type_id = ?', [$this->val('delivery_type_id')]); }
/** * Exibe a página do relatório semanal do professor * @param type $pkUsuario * @return type Método que gera a página com o resumo semanal do professor */ public function meu_resumo_semanal($pkUsuario = FALSE) { $validarUser = new Kernel_Models_ValidarUsuarios(); $professor = $validarUser->professor($pkUsuario); $this->load->helper('andamento'); $aulas = new ModelBase("public.aula"); $registros = new Kernel_Models_Fap(); $contratos = new Kernel_Models_Contratos(); $agendasProf = new docentes_models_AgendaSemanal(); $centralNotifi = new Kernel_Models_Notificacoes(); $equipes = new Kernel_Models_Equipes(); $unidade = new Kernel_Models_Unidade(); $serie = new Kernel_Models_Serie(); //Definindo os dados do professor $fapRegistros = $registros->registrosDeProfessor($professor); $contratos->setUsuario($professor); $resposta = $contratos->getResposta($professor, 1); $ultAula = $aulas->select("fk_livro!=0 and fk_usuario=" . $professor->getId(), array(), "inner join usuario_professor on fk_usuario_professor=pk_usuario_professor", array("pk_aula"), array(), 1, 0, FALSE); if ($resposta == 2) { $this->appendJs('/themes/appjs/assets/js/agendas/professor/meu_resumo_semanal_contrato_prof.min.js'); } //Configurando as notificações $ids = array('novidades_docentes_fap', 'novidades_docentes_afa', 'novidades_docentes_acompanhamento', 'novidades_docentes_pesuisas_alunos', 'novidades_docentes_pesquisas_coord', 'novidades_docentes_diario_cl', 'novidades_docentes_mensagens'); $parametros = array('professorId' => (string) $professor->getId()); $centralNotifi->getUltimos($ids, $parametros); //Repassando os dados para o view $this->definirTema("appjs")->loadPlugin('bootstrap')->bowerLoad('metisMenu')->bowerLoad('angularjs')->loadPlugin('conceitos')->loadPlugin('notif.center')->setData('htmlBody', 'ng-app="app"')->setData('professor', $professor)->setData('unidades', $unidade->listarTodas(null, $professor))->setData("series", $serie->listarTodas(null, $professor))->setData('equipes', $equipes->listarTodas(null, $professor))->setData('fap', $fapRegistros)->setData('ultimaAula', $ultAula)->setdata('contrato', $resposta)->setData('temMensagem', $agendasProf->temMensagem($professor))->setData('ids', $ids)->setData('parametros', $parametros)->setData('centralNotifi', $centralNotifi)->setData('iconeNotif', base_url() . 'themes/geral/images/logo.png')->setData('arquivos', new Arquivos())->printView(); }
public function loadVariants() { $this->variants = ModelBase::select($this->db, 'product_variants', 'product_variant_product_id = ?', [$this->val('product_id')]); }
static function getAllowedPT($db) { return ModelBase::select($db, 'allowed_payment_types'); }
/** * Método de envio de mensagens(envio geral) */ public function contatenos() { $data = $this->getParametroVisao(); $msg = ''; // if ($_SERVER['REQUEST_METHOD'] == "POST") { ini_set('default_charset', 'utf8'); //Executando o cadastro da mensagem $titulo = filter_input(INPUT_POST, 'assunto', FILTER_SANITIZE_MAGIC_QUOTES); $mensagem = filter_input(INPUT_POST, 'mensagem', FILTER_SANITIZE_MAGIC_QUOTES); $destinatario = filter_input(INPUT_POST, 'destinatario', FILTER_SANITIZE_MAGIC_QUOTES); if (!$destinatario) { echo Javascript::alert("O destinatário informado é invalido. Selecione um na lista"); echo Javascript::history_back(); exit; } if (!$titulo) { echo Javascript::alert("O assunto informado é inválido"); echo Javascript::history_back(); exit; } if (!$mensagem) { echo Javascript::alert("A mensagem informada é inválida"); echo Javascript::history_back(); exit; } $novaMensagem = "<p>Mensagem para {$destinatario}</p>"; $novaMensagem .= "<div>Assunto:{$titulo}</div>"; $novaMensagem .= "<div>Mensagem</div><div>{$mensagem}</div>"; if (!Mail::envioSimples($novaMensagem, "Mensagem enviada pela áres restrita", "*****@*****.**", "Colégio GGE")) { echo Javascript::alert("Ocorreu um erro ao tentar enviar a mensagem. Tente novamente mais tarde"); echo Javascript::history_back(); exit; } echo Javascript::alert("Mensagem enviada com sucesso"); echo Javascript::window_location(base_url() . 'transf/mensagem/contatenos/'); exit; } //Exibindo a página if ($data['mobile']) { $data['usuario'] = unserialize($_SESSION['usuario']); $data['page'] = 'default'; $data['tema'] = $this->load->setTheme('responsive'); } else { $data['page'] = 'home'; $data['tema'] != '' ? $this->load->setTheme($data['tema']) : ''; } $data['msg'] = $msg; $data['abaAtiva'] = 10; $data['alias'] = $data['abaPage'] = __FUNCTION__; $data["js"] = array("/js/plugins/filtros/filtros.min.js"); // $data["arrayFiltros"] = array("unidade", "serie", "turma"); $filtrosSistema = new FiltrosSistema(); $data["filtros"] = $filtrosSistema; // $tipo_usuario = $this->load->model('public_tipo_usuario'); $tipo_usuario = new ModelBase("public.tipo_usuario"); $data['pk_tipo_usuario'] = filter_input(INPUT_GET, 'tipousuario', FILTER_VALIDATE_INT); $data['tipo_usuario'] = $tipo_usuario->select("pk_tipo_usuario=3 or pk_tipo_usuario=15 and pk_tipo_usuario!=11"); // switch ($data['pk_tipo_usuario']) { case Kernel_Models_TiposUsuario::TIPO_COORDENADOR: $usuarios = new Kernel_Models_Coordenador(); $data['destinatarios'] = $usuarios->listarTodos($filtrosSistema); $data["arrayFiltros"] = array("unidade"); break; case Kernel_Models_TiposUsuario::TIPO_PROFESSOR: $usuarios = new Kernel_Models_Professor(); $data['destinatarios'] = $usuarios->listarTodos($filtrosSistema); $data["arrayFiltros"] = array("unidade", "serie", "turma"); break; default: $data['destinatarios'] = FALSE; break; } $filtrosSistema->init($data["arrayFiltros"]); $this->load->view($this->load->getUrlTema(), $data); }
<?php $sessions = ModelBase::select($db, 'viewSessionsStats');