/** * @abstract Executa o comando para retornar os dados * em JSON para o AJAx * @param $xjson * @return String JSON */ public function responde($xjson = false) { $msg = Sistema_Mensagem::instanciar(); $json = new Sistema_Json(); //Adiciona as Variáveis adicionais na resposta do Ajax if ($this->_vars != null) { foreach ($this->_vars as $campo => $valor) { $respostajax[$campo] = $valor; } } $respostajax['qtd'] = $msg->getMensagem(true) ? count($msg->getMensagem(true)) : 0; $respostajax['mensagem'] = $msg->getMensagem(); $respostajax['tipo'] = $msg->getTipo(); $respostajax['campos'] = $msg->getCamposErro(); $respostajax['erro'] = $msg->temErro() ? 1 : 0; $respostajax['alerta'] = $msg->temAlerta() ? 1 : 0; if (is_array($this->_botoes)) { foreach ($this->_botoes as $k => $v) { $respostajax['botao'][] = $v; } } $resposta = $json->encode($respostajax); $resposta = str_replace("\n", '<br />', $resposta); # Verifica se irá retornar junto com o cabeçalho HTTP if ($xjson) { header("Content-Type: text/html; charset=iso-8859-1"); header('X-JSON: ' . $resposta); } else { # Retorna como texto header("Content-Type: text/html; charset=iso-8859-1"); echo $resposta; } }
public function acaoTesteAcao() { $l = Sistema_Layout::instanciar(); $m = Sistema_Mensagem::instanciar(); $m->setSucesso("tESte"); $l->setNomePagina("Teste para Aчуo"); $l->setCorpo("Texto Acao"); }
public function __construct($classe, $form = "") { $this->_class = $classe; $this->_form = $form; $this->_msg = Sistema_Mensagem::instanciar(); $this->l = Sistema_Layout::instanciar(); $this->l->includeCss(SISTEMA_URL . "css/formulario.css"); $this->l->includeJavaScript(SISTEMA_URL . "javascript/formulario.js"); }
/** * Construtor da Classe * @example "templates/index.tpl" * @param string $template caminho do template */ public function __construct($template) { $msg = Sistema_Mensagem::instanciar(); $this->template_dir = SISTEMA_DIR . 'templates'; $this->compile_dir = SISTEMA_DIR . 'templates/templates_c'; $this->config_dir = SISTEMA_DIR . 'templates/configs'; $this->cache_dir = SISTEMA_DIR . 'templates/cache'; $this->caching = false; $template_nome = SISTEMA_DIR . $template; if (file_exists($template_nome)) { $this->_template = $template_nome; } else { $msg->setErro("Erro ao Criar Template: Arquivo de Template não é válido"); return false; } $this->addVar("SISTEMA_URL", SISTEMA_URL); }
/** * Seta uma entrada no histórico * @param $tipo * @param $chave * @param $tabela */ public function setHistorico($tipo, $chave, $tabela) { # pega o IP $ip = $_SERVER["REMOTE_ADDR"]; # pega a data # Data eh gravada direto pelo banco no formato TIMESTAMP # pega a acao da tela $acao = $this->_acao; # Codigo do usuario $usr_cod = $_SESSION['login']['codigo']; # Monta a SQL $ins = sprintf("INSERT INTO historico \n\t\t\t\t\t\t(hist_ip,hist_acao,usr_cod,hist_tipo,hist_chave,hist_tabela)\n\t\t\t\t\t\tVALUES\n\t\t\t\t\t\t('%s','%s','%s','%s','%s','%s')", $ip, $acao, $usr_cod, $tipo, $chave, $tabela); # Executa a inserção if (!Sistema_Conecta::Execute($ins)) { $msg = Sistema_Mensagem::instanciar(); $msg->setErro("Não foi possível gravar o histórico para a ação " . $acao); } }
/** * get * * @abstract Retorna o valor de uma variável independente de onde * ela esteja armazenada. * * @param string variavel Nome da variável que está sendo procurada * @param string local Local onde a variável está armazenada, este parâmetro * por padrão é null, porém se existir duas variáveis com o mesmo nome * mas em dois locais diferentes deve ser especificado o POST, GET ou SESSION * */ public static function get($variavel, $local = "") { $msg = Sistema_Mensagem::instanciar(); $valor = ""; # acesso com o local sendo informado, usado apenas quando if ($local) { switch ($local) { case "GET": $valor = self::validaParametro($_GET[$variavel]); break; case "POST": $valor = self::validaParametro($_POST[$variavel]); break; case "SESSION": $valor = self::validaParametro($_SESSION[$variavel]); break; default: break; } return $valor; } else { $achouVariavel = 0; # é post if (!$_POST[$variavel] === false) { $achouVariavel++; $valor = $_POST[$variavel]; } # é get if (!$_GET[$variavel] === false) { $achouVariavel++; $valor = $_GET[$variavel]; } # é session if (!$_SESSION[$variavel] === false) { $achouVariavel++; $valor = $_SESSION[$variavel]; } if ($achouVariavel > 1) { $msg->setErro("ERRO : var duplicated."); } else { return self::validaParametro($valor); } } }
/** * @abstract Construtor impossibilita a instancia * da classe, somente se for utilizado o metodo * statico instanciar * @return Sistema_Controle */ private function __construct() { # Instancia o objeto Login $this->_login = Sistema_Login::instanciar(); # Verifica se esta logado if (!$this->_login->usuarioLogado()) { if (strstr($_SERVER['HTTP_USER_AGENT'], 'MSIE')) { die("Para acessar a área administrativa use o Firefox"); } else { # Chama a tela de login $l = Sistema_Layout::instanciar(); $l->includeCSS(SISTEMA_URL . "css/login.css"); $l->includeJavaScript(SISTEMA_URL . "javascript/formulario.js"); $l->exibir('login.tpl'); die; } } # Instancia a classe Mensagem $this->_msg = Sistema_Mensagem::instanciar(); }
$sql = "SELECT * FROM trabalho WHERE trb_cod = " . Sistema_Variavel::get('cod'); $trb = Sistema_Conecta::Execute($sql); foreach ($trb[0] as $k => $v) { $_POST[$k] = $v; } // verifica se o cara que ta logado é o dono do projeto if ($login->getCodigo() != $_POST['usr_cod']) { die("Este trablho pertence a outro usuário."); } if ($_POST['trb_status'] != ATIVO && $_POST['trb_status'] != ACEITOCOMRESALVAS) { die("Este não pode ser editado."); } } // salvar os dados do projeto if (Sistema_Variavel::get('salvar')) { $msg = Sistema_Mensagem::instanciar(); // verifica se as areas basicas foram escolhidas /* if (($_POST['trb_area'] == "") && ($_POST['trb_areabasica'] == "") && ($_POST['trb_outraqual'] == "")){ $mensagem = '<div class="clean-error">É necessário escolher a área básica</div><br/>'; }*/ if ($_POST['trb_categoria'] != "Pesquisa/Extensão") { $autores = explode(";", $_POST['trb_coautor']); $orientadores = explode(";", $_POST['trb_orientador']); if (sizeof($autores) > 3 || sizeof($orientadores) > 2) { $mensagem = '<div class="clean-error">Para Casos Clínicos e Revisão de Literatura no máximo 3 co-autores e 2 orientadores</div><br/>'; } } $palavraschave = explode(";", $_POST['trb_palavraschave']); if (sizeof($palavraschave) != 3 && sizeof($palavraschave) != 4) { $mensagem = '<div class="clean-error">Informe 3 ou 4 palavras chaves separadas por ; (ponto e virgula)</div><br/>';
/** * Construtor da classe * @return Sistema_Persistencia */ public function __construct($codigo = 0) { $this->_codigo = $codigo; $this->_msg = Sistema_Mensagem::instanciar(); $this->_login = Sistema_Login::instanciar(); }
/** * Ação para testes * @return String */ public function acaoGerarmidia() { $sql = "\r\n\t\tSELECT\r\n\t\t\t*\r\n\t\tFROM trabalho t\r\n\t\t\tINNER JOIN usuario u ON\r\n\t\t\t\tt.usr_cod = u.usr_cod\r\n\t\tWHERE\r\n\t\t\tt.trb_status = " . ACEITO . " OR \r\n\t\t\tt.trb_status = " . ACEITOCOMRESALVAS; $trabalhos = Sistema_Conecta::Execute($sql); // limpar os arquivos da pasta $dir_aceitos = SISTEMA_DIR . "cd\\trabalhos_aceitos\\"; $dir_enviados = UPLOAD_DIR; Modulo_Trabalho_Funcao::funlinkRecursive($dir_arquivos, false); # percorre os trabalhos que foram aceitos foreach ($trabalhos as $trabalho) { $a = '{"ID":"' . $trabalho['trb_cod'] . '",'; $a .= '"TITULO":"' . $trabalho['trb_titulo'] . '",'; $a .= '"AUTOR":"' . $trabalho['usr_nome'] . '",'; $a .= '"AREA":"' . $trabalho['trb_area'] . '",'; $a .= '"DESCRICAO":"' . $trabalho['trb_resumo'] . '"}'; $aux[] = utf8_encode(strtoupper(strtr($a, "áéíóúâêôãõàèìòùç", "ÁÉÍÓÚÂÊÔÃÕÀÈÌÒÙÇ"))); // copiar os arquivos dos trabalhos que foram aceitos para a pasta do CD $arquivoName = $trabalho['trb_cod'] . ".pdf"; $arquivo_aceito = $dir_aceitos . $arquivoName; if (!file_exists($arquivo_aceito)) { die("O arquivo do trabalho " . $trabalho['trb_cod'] . " não foi localizado."); } $arquivo_enviado = $dir_enviados . $arquivoName; copy($arquivo_enviado, $arquivo_aceito); } $texto = implode(",", $aux); $conteudo = 'var json = [' . $texto . ']; var trabalhos = new TAFFY(json);'; // grava o arquivo $filename = SISTEMA_DIR . 'cd\\base.js'; // Primeiro vamos ter certeza de que o arquivo existe e pode ser alterado if (is_writable($filename)) { if (!($handle = fopen($filename, 'w'))) { echo "Não foi possível abrir o arquivo ({$filename})"; exit; } // Escreve $conteudo no nosso arquivo aberto. if (fwrite($handle, $conteudo) === FALSE) { echo "Não foi possível escrever no arquivo ({$filename})"; exit; } $msg = Sistema_Mensagem::instanciar(); $msg->setSucesso("Midia gerada com sucesso."); fclose($handle); } else { echo "O arquivo {$filename} não pode ser alterado"; } }
/** * Ação responsável para salvar os dados vindos * do formulário * @return JSON */ public function ajaxSalvarEntradas() { # Verifica se o aluno existe $usr_cod = Sistema_Conecta::getOne("SELECT usr_cod FROM usuario WHERE usr_cod=" . $_POST['usr_cod']); if ($usr_cod > 0) { # Verifica se o aluno ja foi dado entrada $etcr_cod = Sistema_Conecta::getOne("SELECT etcr_cod FROM entrada_cursos WHERE usr_cod=" . $usr_cod . " AND crs_cod=" . $_POST['crs_cod']); if ($etcr_cod > 0) { $msg = Sistema_Mensagem::instanciar(); $msg->setAlerta("Participante com o código " . $usr_cod . " já cadastrado para este curso"); } else { $obj = new Classe_EntradaCursos(); $obj->setDados($_POST); $id = $obj->salvar(); if ($id > 0) { $msg = Sistema_Mensagem::instanciar(); $msg->limparMensagem(); $msg->setSucesso("Participante " . $usr_cod . " cadastrado com sucesso"); } } } else { $msg = Sistema_Mensagem::instanciar(); $msg->setAlerta("Participante com o código " . $_POST['usr_cod'] . " não cadastrado"); } $json = new Sistema_Ajax(); //$json->addVar($id); $json->responde(); }
<?php session_start(); # Start para a sessão PHP # Não deixa a página permanecer no cache header("Cache-Control: no-cache, must-revalidate"); header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); /** * @abstract Arquivo principal do sistema, todas as página * que deverão ser visualizadas no navegador serão chamadas * por este arquivo. * * @copyright - * @author - * @version 1.0 * @since 10/03/2009 */ # Inclui o arquivo de configuração include 'config.php'; # Instancia a classe para mensagens $mensagem = Sistema_Mensagem::instanciar(); # Instancia a classe de controle do sistema $controle = Sistema_Controle::instanciar(); # Executa o controle $controle->executar(); # Exibe o conteudo $template = Sistema_Layout::instanciar(); $template->exibir();
/** * @abstract Função responsável por executar todas * as SQL do sistema, ela fará o tratamento de execessoes * * @param string Sql que será executada * @param array PDO.. tipo de retorno * PDO::FETCH_OBJ: retorna um objeto * PDO::FETCH_BOTH: retorna como indice um numero e a chave * PDO::FETCH_ASSOC: retorna como indice a chave * */ public static function Execute($sql, $PDO = false) { $con = self::getConexao(); # Verifica se é uma SELECT $temp = strpos(strtoupper('X' . $sql), "SELECT"); $pers = $con->prepare($sql); if ($temp == true) { try { $resultado = $con->query($sql); # verifica se tem algum erro $erros = $con->errorInfo(); if ($erros[0] != 0) { $mensagem = sprintf("Erro ao executar a SQL <br/> <i style='color:red'>%s</i><br/> <b>MENSAGEM DO BANCO :</b> %s", $sql, $erros[2]); throw new Sistema_Excessoes($erros[2], 4); } else { if (!$PDO) { return $resultado->fetchAll(); } else { return $resultado->fetchAll($PDO); } } } catch (Sistema_Excessoes $e) { $msg = Sistema_Mensagem::instanciar(); $msg->setErro($e); } } else { $con->beginTransaction(); $pers->execute(); $erros = $pers->errorInfo(); if ($erros[0] != 0) { $con->rollBack(); $mensagem = sprintf("Erro ao executar a SQL <br/> <i style='color:red'>%s</i><br/> <b>MENSAGEM DO BANCO :</b><br> %s", $sql, $erros[2]); //throw new Sistema_Excessoes($erros[2],4); $msg = Sistema_Mensagem::instanciar(); $msg->setErro($mensagem); } else { $resultado = true; if (strpos(strtoupper('X' . $sql), "INSERT") == true) { $resultado = $con->lastInsertId(); } $con->commit(); return $resultado; } } }
public function __construct() { $this->_msg = Sistema_Mensagem::instanciar(); }
public function exibir($template = null) { $msg = Sistema_Mensagem::instanciar(); # Inclui os cabeçalhos JavaScript if ($this->inc_javaScripts != null) { $inc_cabecalho = "<!-- JavaScript -->\n"; foreach ($this->inc_javaScripts as $arquivo => $nulo) { $inc_cabecalho .= "\t<script type='text/javascript' src='" . $arquivo . "'></script> \n"; } $inc_cabecalho .= "\n\n\n"; } $this->cabecalho = $inc_cabecalho . $this->cabecalho; # Inclui os cabeçalhos CSS if ($this->inc_css != null) { $this->cabecalho .= "<!-- Folhas de estilos -->\n"; foreach ($this->inc_css as $arquivo => $nulo) { $this->cabecalho .= "\t<link rel='stylesheet' type='text/css' media='all' href='" . $arquivo . "' />\n"; } $this->cabecalho .= "\n\n\n"; } $this->assign('cabecalho', $this->cabecalho); if ($template == null) { # Inclui as mensagens na tela $this->assign('mensagem', $msg->getMensagem()); $this->assign('tipo_msg', $msg->getTipo()); $menu = new Sistema_Menu(); $this->assign('menu', $menu->getMenu()); $this->assign('corpo', $this->corpo); $this->assign('info', $this->info); $this->assign('nome_pagina', $this->nomepagina); $this->assign('extra', $this->extra); $this->assign('nome_usuario', $this->usuario); $this->assign('onload', $this->onload); $this->assign('funcaojs', $this->getFuncoesJS()); $this->assign('botoes', $this->getBotoes()); $info = sprintf(" Seja bem vindo, <b>%s</b>. %s", $_SESSION['login']['nome'], date("d/m/Y H:i:s")); $this->assign('infotopo', $info); $this->display('index.tpl'); } else { $this->display($template); } }