public static function run() { $sessao = new TSessao(true); include 'util/Validacao.php'; $flashes = null; $usuario = $sessao->getVar('usuario'); include 'app.functions/validate.php'; $valida = validate($usuario); //include 'relatorios/teste.php'; if ($valida) { if ($usuario) { $menu = new TMenu($usuario->permissoes, array('gerenciar')); TApplication::setStyle('menu'); TApplication::setStyle('controler_bar'); } if (!$_GET) { if ($usuario == null) { require "app.comuns/app.control/login.php"; TApplication::setStyle('login'); $templatePage = "app.comuns/template/login.phtml"; } else { if ($sessao->getVar('msg1') != null) { if ($sessao->getVar('msg1') == 5) { Flash::addFlash('Você não tem permissão!'); $flashes = Flash::getFlashes(); $sessao->removeVar('msg1'); } } $templatePage = "app.comuns/template/panel.phtml"; } } else { $modulo = isset($_GET['modulo']) ? $_GET['modulo'] : null; $page = isset($_GET['page']) ? $_GET['page'] : null; if (file_exists("modulos/{$modulo}/app.control/{$page}.php")) { require "modulos/{$modulo}/app.control/{$page}.php"; } if (file_exists("modulos/{$modulo}/template/{$page}.phtml")) { $templatePage = "modulos/{$modulo}/template/{$page}.phtml"; } } if (isset($validacao)) { if ($validacao !== true) { $erros = $validacao; } } if (Flash::hasFlashes()) { $flashes = Flash::getFlashes(); } if (!isset($_GET['ajax'])) { TApplication::setStyle('style'); TApplication::setStyle('principal'); TApplication::setStyle('redmond/jquery-ui-1.8.16.custom'); require 'layout/index.phtml'; } } else { header('location: index.php'); } }
function validate($usuario) { // verifica se o usuario está logado if ($usuario) { if ($_GET) { $permissoes = $usuario->permissoes; $valida = false; if (isset($permissoes[$_GET['modulo']])) { if (in_array($_GET['page'], $permissoes[$_GET['modulo']])) { $valida = true; } } if (!$valida) { // se o usuario não tem permissao redireciona pra pagina principal // sessão para indicar que dever ser mostrado a menssagem de não permitido $sessao = new TSessao(true); $sessao->addVar('msg1', 5); //header('location: index.php'); } return $valida; } else { return true; } } else { // redireciona o usuario que não está logado para a pagina de login pra não exibir nada no get if ($_GET != null) { if ($_GET['page'] == 'add-usuario' and $_GET['modulo'] == 'usuarios') { return true; } else { return false; } } else { return true; } } }
public static function autenticar(Login $login) { TTransaction::open('my_config'); $sessao = new TSessao(true); if ($conn = TTransaction::get()) { $sql = 'SELECT * FROM usuarios WHERE login_usuario like ? AND senha_usuario like ?'; $sth = $conn->prepare($sql); $sth->execute(array($login->getUsuario(), $login->getSenha())); $result = $sth->fetch(PDO::FETCH_OBJ); if ($result) { include 'app.functions/buscaPermissoes.php'; $result->permissoes = buscaPermissoes($result->id_usuario); $sessao->addVar('usuario', $result); header('location:index.php'); } else { $sessao->addVar('msg', 1); header('location:index.php'); } TTransaction::close(); } else { echo 'Sem conexão com banco!'; } }