/** * Mostrar o formulário de inclusão e edição do registro * * @param int $pk ID do registro a ser selecionado * @param bool $mst Nome da página mestra a ser carregada */ protected function mostrarForm($pk = null, $mst = null) { $inc = $this->formPadrao('grupo', 'grupos-de-usuarios/salvar', 'grupos-de-usuarios/salvar', 'admin/grupos-de-usuarios', $pk); # Visão $this->carregarHTML('comum/visoes/titulo_h2'); $this->carregarHTML('form_grupo', $mst); # Sub-módulos $mm = new DevM\Modulo(); $ls = $mm->listar('M.modulo_publicar = 1 AND M.modulo_pai IS NOT NULL', 'M.modulo_ordem, M.modulo_nome', 'M.modulo_id, M.modulo_pai, M.modulo_nome, M.modulo_descr, M.modulo_link'); # Funcionalidades $mf = new DevM\ModuloFunc(); $lf = $mf->listar(null, 'func_modulo, func_modulo_descr', 'func_modulo, func_modulo_id, func_modulo_descr'); # Parâmetros $this->visao->adParam('sub-modulos', $ls); $this->visao->adParam('funcs', $lf); # Usuário que está logado não pode alterar as permissões do seu próprio grupo, exceção apenas para o root $this->visao->adParam('mostrar-perms?', $inc || ($this->modelo->id != $_SESSION['usuario_info_grupo'] || $_SESSION['usuario_id'] == -1)); if (!$inc) { # Membros do grupo $mu = new AdminM\Usuario(); $lu = $mu->listar("usuario_info_grupo = {$this->modelo->id}", 'usuario_info_nome', 'usuario_info_nome'); # Parâmetros $this->visao->adParam('membros', $lu); } // Fim if }
public function __construct($m, $nm, $nc) { parent::__construct($m, $nm, $nc); # Alterar o tema utilizado $this->visao->setPgMestra($_SESSION['tema_pagina_mestra']); $this->visao->adParam('conf-site', ['tema_diretorio' => $_SESSION['tema_diretorio'], 'tema_pagina_mestra' => $_SESSION['tema_pagina_mestra']]); # Carregar o menu $this->carregarHTML('comum/visoes/menu'); # Selecionar os módulos e sub-módulos $mm = new DevM\Modulo(); $lm = $mm->listar('M.modulo_publicar = 1 AND M.modulo_pai IS NULL', 'M.modulo_ordem, M.modulo_nome', 'M.modulo_id, M.modulo_nome, M.modulo_descr, M.modulo_link'); $ls = $_SESSION['usuario_id'] != -1 ? $mm->listarMenu('M.modulo_publicar = 1 AND M.modulo_pai IS NOT NULL', 'M.modulo_ordem, M.modulo_nome', 'M.modulo_id, M.modulo_pai, M.modulo_nome, M.modulo_descr, M.modulo_link, M.modulo_ordem') : $mm->listar('M.modulo_publicar = 1 AND M.modulo_menu = 1 AND M.modulo_pai IS NOT NULL', 'M.modulo_ordem, M.modulo_nome', 'M.modulo_id, M.modulo_pai, M.modulo_nome, M.modulo_descr, M.modulo_link, M.modulo_ordem'); # Adicionar alguns links específicos do Painel-DL $this->visao->aux_links->novoLink('publicar', ['data-ajax' => true, 'data-ajax-msg' => TXT_AJAX_PUBLICANDO_REGISTRO, 'data-acao' => 'publicar-registro', 'class' => 'com-icone -publicar']); $this->visao->aux_links->novoLink('excluir-registro', ['data-ajax' => true, 'data-ajax-msg' => TXT_AJAX_EXCLUINDO_REGISTROS, 'data-acao' => '', 'class' => 'com-icone -excluir']); $this->visao->aux_links->novoLink('ocultar', ['data-ajax' => true, 'data-ajax-msg' => TXT_AJAX_PUBLICANDO_REGISTRO, 'data-acao' => 'ocultar-registro', 'class' => 'com-icone -nao-publicar']); $this->visao->aux_links->novoLink('detalhes', ['class' => 'com-icone -detalhes']); $this->visao->aux_links->novoLink('lista', ['class' => 'com-icone -lista']); $this->visao->aux_links->novoLink('bloquear', ['data-ajax' => true, 'data-ajax-msg' => TXT_AJAX_BLOQUEANDO_USUARIOS, 'data-acao' => 'bloquear-usuarios', 'class' => 'com-icone -bloquear']); $this->visao->aux_links->novoLink('desbloquear', ['data-ajax' => true, 'data-ajax-msg' => TXT_AJAX_DESBLOQUEANDO_USUARIOS, 'data-acao' => 'desbloquear-usuarios', 'class' => 'com-icone -desbloquear']); $this->visao->aux_links->novoLink('testar-email', ['data-ajax' => true, 'data-ajax-msg' => TXT_AJAX_ENVIANDO_EMAIL, 'data-acao' => 'testar-email', 'class' => 'com-icone -email']); $this->visao->aux_links->novoLink('voltar', ['class' => 'com-icone -voltar']); $this->visao->aux_links->novoLink('incluir-funcionalidades-padrao', ['class' => 'com-icone -nova-pasta', 'data-acao' => 'criar-funcionalidades']); $this->visao->aux_links->novoLink('configuracoes', ['class' => 'com-icone -configuracoes']); # Botões $this->visao->aux_form->novoBotao('excluir-registro', ['type' => 'button', 'data-ajax' => true, 'data-ajax-msg' => TXT_AJAX_EXCLUINDO_REGISTROS, 'data-acao' => 'excluir-registro', 'class' => 'botao -excluir']); # Dados do usuário $mus = new AdminM\Usuario($_SESSION['usuario_id']); # Parâmetros $this->visao->adParam('menu-modulos', $lm); $this->visao->adParam('menu-submodulos', $ls); $this->visao->adParam('usr-foto', $mus->mostrarFoto(\DL3::$dir_relativo, 'p')); $this->visao->adParam('mostrar-filtro-menu?', $_SESSION['usuario_pref_filtro_menu']); /* * Se a classe chamada for Login\Controle\Login, ainda não é necessário verificar o permissionamento */ if (get_called_class() !== 'Login\\Controle\\Login') { $this->visao->adParam('perm-usr-senha?', \DL3::$autent->verificarPerm('Admin\\Controle\\Usuario', 'formAlterarSenha') && $_SESSION['usuario_id'] > 0); $this->visao->adParam('perm-usr-conta?', \DL3::$autent->verificarPerm('Admin\\Controle\\Usuario', 'minhaConta') && $_SESSION['usuario_id'] > 0); } // Fim if }
/** * Mostrar o formulário de inclusão e edição do registro * * @param int|null $md ID do módulo dessa funcionalidade * @param bool|null $mst Nome da página mestra a ser carregada * @param int|null $pk Valor da PK do registro a ser selecionado */ protected function mostrarForm($pk = null, $md = null, $mst = null) { $inc = $this->formPadrao('func', 'modulos/funcionalidades/salvar', 'modulos/funcionalidades/salvar', null, $pk); # Visão $this->carregarHTML('comum/visoes/titulo_h2'); $this->carregarHTML('form_funcs', $mst); $this->visao->setTitulo($inc ? sprintf(TXT_PAGINA_TITULO_CADASTRAR_NOVA, $this->nome) : sprintf(TXT_PAGINA_TITULO_EDITAR_ESSA, $this->nome)); # Grupos de usuários $mgu = new AdminM\GrupoUsuario(); $lgu = $mgu->carregarSelect('grupo_usuario_publicar = 1', false); # Parâmetros $this->visao->adParam('grupos', $lgu); $this->visao->adParam('modulo', $md); if ($inc) { # Módulos $mf = new DevM\Modulo($md); $this->modelo->setClasse($mf->nomeClasse()); $this->visao->adParam('modulo-classe', $this->modelo->getClasse()); } // Fim if $classe = $this->modelo->getClasse(); /* * Obter a lista completa de todos os métodos existentes na classe especificada */ if (class_exists($classe)) { $rfx = new \ReflectionClass($classe); $metodos = preg_grep('~^_{2}~', array_column(array_map(function ($m) use($classe) { if ($m->class === $classe) { return (array) $m; } // Fim if }, (array) $rfx->getMethods(\ReflectionMethod::IS_PROTECTED)), 'name'), PREG_GREP_INVERT); sort($metodos); $this->visao->adParam('lista-metodos', $metodos); } // Fim if }
/** * Mostrar o formulário de inclusão e edição do registro */ protected function mostrarForm() { $this->formPadrao('config', null, 'configuracoes/salvar', 'website/configuracoes', 1); # Visão $this->carregarHTML('comum/visoes/titulo_h2'); $this->carregarHTML('form_configuracao'); $this->visao->setTitulo(TXT_PAGINA_TITULO_CONFIGURACAOSITE); # Selecionar os temas $mtm = new DevM\Tema(); $ltm = $mtm->carregarSelect('tema_publicar = 1', false); # Selecionar os formatos de datas $mfd = new DevM\FormatoData(); $lfd = $mfd->carregarSelect('formato_data_publicar = 1', false); # Selecionar as configurações de envio de e-mails $mce = new AdminM\ConfigEmail(); $lce = $mce->carregarSelect(null, false, 'id', 'titulo'); # Verificar se o módulo de fotos está ativo $mmd = new DevM\Modulo(7); # Parâmetros $this->visao->adParam('temas', $ltm); $this->visao->adParam('formatos-data', $lfd); $this->visao->adParam('confs-email', $lce); $this->visao->adParam('albuns-de-fotos?', $mmd->getPublicar()); }