function inclusaoComponentes($params, HTML_Template_IT $view, HTML_Template_IT $viewPrincipal = null) { $blocos = array_keys($view->blocklist); /* * Procuramos por componentes na página gerada pelo componente principal * para que a injeção de dependências (JS e CSS) também ocorra. */ if ($blocos) { foreach ($blocos as $bloco) { if (preg_match_all("/componente_(.*)/", $bloco, $componentes)) { $classe = substr($bloco, 11); //VER UMA FORMA MAIS INTELIGENTE DE TRATAR O CODIGO ABAIXO--> COMO INCLUIR COMPONENTES DE CLASSES ADMIN if (class_exists("Controle" . $classe)) { $controle = "Controle" . $classe; } else { if (class_exists("Admin" . $classe)) { $controle = "Admin" . $classe; } } if (class_exists($controle)) { /* * Apenas o componente ControleMenuPerfil utiliza o * terceiro parâmetro. Para os demais, ele é * silenciosamente ignorado. */ $componente = new $controle($params); $conteudoComponente = $componente->index(); /* * Inserimos as dependências (JS e CSS) dos módulos secundários. */ if ($viewPrincipal) { Componente::inclusaoDependencias($params, $viewPrincipal, $componente); } else { Componente::inclusaoDependencias($params, $view, $componente); } if ($conteudoComponente instanceof HTML_Template_IT) { self::inclusaoComponentes($params, $conteudoComponente, $viewPrincipal); } if ($conteudoComponente) { $view->setCurrentBlock($bloco); $view->setVariable("conteudo", $conteudoComponente->get()); $view->parseCurrentBlock(); } } } } } }
$view->setVariable("aplicacao", $conteudo); } else { header("Location: " . URL . "Permissao_404"); } } else { $interface = "index.html"; if (!ControleSessao::$control || ControleSessao::$control == "admin.php") { $controle = "ControleLogin"; } else { $controle = "Controle" . ControleSessao::$control; } if (class_exists($controle)) { $componentePrincipal = new $controle(null); $view = Control::carregarInterface($interface); $conteudoComponente = $componentePrincipal->index(); Componente::inclusaoDependencias(null, $view, $componentePrincipal); $view->setVariable("aplicacao", $conteudoComponente->get()); $conteudo = $conteudoComponente->get(); } else { header("Location: Login"); } } ControleSessao::apresentarConteudo($view); } function verificarControleMenu($controle, $params, $view) { $instControle = new $controle($params); if ($instControle->permissaoConsultarUsuarios()) { $view->setVariable('url_usuario', URL . 'Usuario_Sistema'); $view->parse('PermissaoMenuUsuario'); }