} $zip->close(); } header('Content-Type: application/zip'); header('Content-Disposition: attachment; filename="arquivos_' . $digital . '.zip"'); header('Content-Length: ' . filesize($zipAbsFilename)); readfile($zipAbsFilename); unlink($zipAbsFilename); exit; break; case 'delete': LogErrorReader::factory()->delete()->getLog('Log deletado com sucesso!'); exit; break; case 'garbageCollectionImagesByDigital': Imagens::factory()->garbageCollection($_REQUEST['digital'])->clearCache($_REQUEST['digital']); exit; break; case 'tester': LogErrorReader::factory()->tester(); exit; break; case 'clearAll': LogErrorReader::factory()->clearAllCache()->getLog('Cache removido com sucesso!'); exit; break; case 'logoffAll': //Remove Cache das sessões $pattern = __BASE_PATH__ . "/cache/sessions/sess_*"; $arrSessionFiles = glob($pattern); foreach ($arrSessionFiles as $key => $absoluteFileName) {
<?php /* * Copyright 2008 ICMBio * Este arquivo é parte do programa SISICMBio * O SISICMBio é um software livre; você pode redistribuíção e/ou modifição dentro dos termos * da Licença Pública Geral GNU como publicada pela Fundação do Software Livre (FSF); na versão * 2 da Licença. * * Este programa é distribuíção na esperança que possa ser útil, mas SEM NENHUMA GARANTIA; sem * uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a * Licença Pública Geral GNU/GPL em português para maiores detalhes. * Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título "LICENCA.txt", * junto com este programa, se não, acesse o Portal do Software Público Brasileiro no endereço * www.softwarepublico.gov.br ou escreva para a Fundação do Software Livre(FSF) * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * */ print json_encode(array('percent' => Imagens::factory()->percentCacheProcess($_REQUEST['numero_processo'])));
<?php /* * Copyright 2008 ICMBio * Este arquivo é parte do programa SISICMBio * O SISICMBio é um software livre; você pode redistribuíção e/ou modifição dentro dos termos * da Licença Pública Geral GNU como publicada pela Fundação do Software Livre (FSF); na versão * 2 da Licença. * * Este programa é distribuíção na esperança que possa ser útil, mas SEM NENHUMA GARANTIA; sem * uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a * Licença Pública Geral GNU/GPL em português para maiores detalhes. * Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título "LICENCA.txt", * junto com este programa, se não, acesse o Portal do Software Público Brasileiro no endereço * www.softwarepublico.gov.br ou escreva para a Fundação do Software Livre(FSF) * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * */ Imagens::factory()->generateCacheForProcess($_REQUEST['numero_processo'])->generateLinksForProcess($_REQUEST['numero_processo'])->toJson(true);
<?php /* * Copyright 2008 ICMBio * Este arquivo é parte do programa SISICMBio * O SISICMBio é um software livre; você pode redistribuíção e/ou modifição dentro dos termos * da Licença Pública Geral GNU como publicada pela Fundação do Software Livre (FSF); na versão * 2 da Licença. * * Este programa é distribuíção na esperança que possa ser útil, mas SEM NENHUMA GARANTIA; sem * uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a * Licença Pública Geral GNU/GPL em português para maiores detalhes. * Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título "LICENCA.txt", * junto com este programa, se não, acesse o Portal do Software Público Brasileiro no endereço * www.softwarepublico.gov.br ou escreva para a Fundação do Software Livre(FSF) * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * */ include "bibliotecas/fpdf/fpdf.php"; include "bibliotecas/pdfbookmark/PDF_Bookmark.php"; $allow = AclFactory::checaPermissao(Controlador::getInstance()->acl, Controlador::getInstance()->usuario, DaoRecurso::getRecursoById(999)); header("Content-type:application/pdf"); header("Content-Disposition:attachment;filename=PDF-DOC-{$_REQUEST['digital']}.pdf"); $hashs = explode(',', $_REQUEST['hash']); $md5 = array(); foreach ($hashs as $hash) { $hash = explode('|', $hash); $md5[] = $hash[0]; } Imagens::factory()->generatePDFForDigitalByMD5($_REQUEST['digital'], false, 'png', $md5, $allow);
<button class="button-alter-status-image" value="2">Excluir</button> <?php } ?> <hr> <br> <div id="thumbs" class="navigation"> <a class="pageLink prev" style="visibility: hidden;" href="#" title="Página Anterior"></a> <ul class="thumbs noscript"> <?php foreach ($images as $key => $image) { ?> <?php $lote = Imagens::factory()->generateLote($image['DIGITAL']); $url = sprintf("%scache/%s/%s/", __CAM_IMAGENS__, $lote, $image['DIGITAL']); //url para geração de imagem $url2 = sprintf("%s/modelos/imagens/getPNG.php?digital=%s&page=", __URLSERVERAPP__, $image['DIGITAL']); ?> <li> <a class="thumb" title="<?php print $image['DIGITAL']; ?> " href="<?php print $image['FLG_PUBLICO'] == 1 || $allow ? "{$url2}{$image['MD5']}" : '/imagens/documento_confidencial_view.png'; ?> "> <span class="page-num <?php print $image['FLG_PUBLICO'] == 1 ? 'blue' : 'red'; ?>
* www.softwarepublico.gov.br ou escreva para a Fundação do Software Livre(FSF) * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * */ // this script can run forever set_time_limit(300); // tell the client the request has finished processing //header('Location: index.php'); // redirect (optional) header('Status: 200'); // status code header('Connection: close'); // disconnect // clear ob stack @ob_end_clean(); // continue processing once client disconnects ignore_user_abort(false); ob_start(); /* ------------------------------------------ */ /* this is where regular request code goes.. */ /* end where regular request code runs.. */ /* ------------------------------------------ */ $iSize = ob_get_length(); header("Content-Length: {$iSize}"); // if the session needs to be closed, persist it // before closing the connection to avoid race // conditions in the case of a redirect above session_write_close(); // send the response payload to the client @ob_end_flush(); flush(); Imagens::factory()->isExistsDirCache()->generateCacheForProcess($_REQUEST['numero_processo']);
* */ // this script can run forever set_time_limit(0); // tell the client the request has finished processing //header('Location: index.php'); // redirect (optional) header('Status: 200'); // status code header('Connection: close'); // disconnect // clear ob stack @ob_end_clean(); // continue processing once client disconnects ignore_user_abort(false); ob_start(); /* ------------------------------------------ */ /* this is where regular request code goes.. */ /* end where regular request code runs.. */ /* ------------------------------------------ */ $iSize = ob_get_length(); header("Content-Length: {$iSize}"); // if the session needs to be closed, persist it // before closing the connection to avoid race // conditions in the case of a redirect above session_write_close(); // send the response payload to the client @ob_end_flush(); flush(); /* ------------------------------------------ */ /* code here runs after the client diconnect */ Imagens::factory()->isExistsDirCache()->generateCacheForDigital($_REQUEST['digital'], false, $_REQUEST['between']);
#tipo do imovel $tipoimovel = $aImovel[0]['tipoimovel']; #busca o tipo do imovel $objTiposImoveis = new TiposImoveis(); $objTiposImoveis = $objTiposImoveis->getObject($tipoimovel); $tipoimovel = $objTiposImoveis[0]['tipo']; #demais dados da tabelas $rua = $aImovel[0]['rua']; $numero = $aImovel[0]['numero']; $cidade = $aImovel[0]['cidade']; $bairro = $aImovel[0]['bairro']; $estado = $aImovel[0]['estado']; $descricao = $aImovel[0]['descricao']; $tipoanuncio = $aImovel[0]['tipoanuncio'] == "1" ? "Aluguel" : "Venda"; #inicializa instancia da classe de imagens $objImagensImovel = new Imagens(); #monta filtro do parametro da url para buscar imovel para visulização $sFiltro = "imovel = " . $parametro1; #busca lista de imagens do imovel $arrImagens = $objImagensImovel->getList($sFiltro); $iTotalImagens = sizeof($arrImagens); $arrImgCarrossel = ""; //carrega imagens do corrossel for ($i = 0; $i < $iTotalImagens; $i++) { $arrImgCarrossel .= "<div><img u='image' class='img-thumbnail' src='../imagens/" . $arrImagens[$i]['imagem'] . "' /></div>"; } #Busca 3 imóveis randomicamente $arrImoveisRel = $oImoveis->getImoveisRelacionados($cidade, $parametro1); $iTotalImoveisRel = sizeof($arrImoveisRel); $lstImoveisRel = ""; //carrega lista dos imoveis randomicos
*/ define('CF_APP_BASE_PATH', realpath(__DIR__ . '/..')); define('CF_APP_ENVIRONMENT', getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'prd'); /** * Configurations */ include CF_APP_BASE_PATH . '/classes/CFUtils.php'; include CF_APP_BASE_PATH . '/classes/CFConfig.php'; include CF_APP_BASE_PATH . '/classes/Config.php'; /** * HandleFatalError */ register_shutdown_function('HandleFatalError'); /** * HandleFatalError */ function HandleFatalError() { $error = error_get_last(); if (!is_null($error) && ($error['type'] == E_ERROR || $error['type'] == E_CORE_ERROR || $error['type'] == E_COMPILE_ERROR || $error['type'] == E_RECOVERABLE_ERROR)) { include 'classes/Error.php'; include 'classes/Email.php'; Error::factory()->handleFatalError()->sendEmailFatalError(); } } /** * Config */ Config::factory()->buildDBConfig()->buildAppConstants()->buildAppDefines()->buildEnvironment(); Imagens::factory()->clearAllCache();
<?php use Documento\Imagem, Documento\Imagem\IDocumentoImagem; if (isset($_REQUEST['digital']) && strlen($_REQUEST['digital']) > 0) { $documentoImagemAgg = Imagem\DocumentoImagemFactory::factory($_REQUEST['digital']); $documentoImagemAgg->getPDF()->show(); } //Se for um processo, precisamos realizar um merge dos PDFs //@todo refazer em classe apropriada if (isset($_REQUEST['numero_processo']) && strlen($_REQUEST['numero_processo']) > 0) { $images = Imagens::factory()->recoverInformationDBByProcess($_REQUEST['numero_processo']); $cfg = Config::factory(); $pdfMergedAbsoluteFilename = $cfg->getParam('config.basepath') . '/cache/TEMP_PDF_PROCESSO_' . md5($_REQUEST['numero_processo'] . microtime()); $arrPDFs = array(); $documentoImagem = null; $i = 0; $digital = ''; foreach ($images as $image) { if ($digital != $image['DIGITAL']) { $digital = $image['DIGITAL']; $documentoImagem = Imagem\DocumentoImagemFactory::factory($digital); $pdfDocAbsoluteFilename = sprintf("{$pdfMergedAbsoluteFilename}_%04d.pdf", ++$i); $arrPDFs[] = $pdfDocAbsoluteFilename; //Salva em arquivos PDFs temporários file_put_contents($pdfDocAbsoluteFilename, $documentoImagem->getPDF()->getData()); } } $cmd = "gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile={$pdfMergedAbsoluteFilename}.pdf "; foreach ($arrPDFs as $pdfFilename) { $cmd .= $pdfFilename . " "; }
<?php /* * Copyright 2008 ICMBio * Este arquivo é parte do programa SISICMBio * O SISICMBio é um software livre; você pode redistribuíção e/ou modifição dentro dos termos * da Licença Pública Geral GNU como publicada pela Fundação do Software Livre (FSF); na versão * 2 da Licença. * * Este programa é distribuíção na esperança que possa ser útil, mas SEM NENHUMA GARANTIA; sem * uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a * Licença Pública Geral GNU/GPL em português para maiores detalhes. * Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título "LICENCA.txt", * junto com este programa, se não, acesse o Portal do Software Público Brasileiro no endereço * www.softwarepublico.gov.br ou escreva para a Fundação do Software Livre(FSF) * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * */ include "bibliotecas/fpdf/fpdf.php"; include "bibliotecas/pdfbookmark/PDF_Bookmark.php"; $allow = AclFactory::checaPermissao(Controlador::getInstance()->acl, Controlador::getInstance()->usuario, DaoRecurso::getRecursoById(999)); header('Content-type:application/pdf'); header('Content-Disposition:attachment;filename=PDF-PROC-' . preg_replace("/[^0-9]+/", "-", $_REQUEST['numero_processo']) . '.pdf'); $hashs = explode(',', $_REQUEST['hash']); $md5 = array(); foreach ($hashs as $hash) { $hash = explode('|', $hash); $md5["{$hash[1]}"][] = $hash[0]; } Imagens::factory()->generatePDFForProcessByDigitalsAndMD5($md5, $allow);
<?php /* * Copyright 2008 ICMBio * Este arquivo é parte do programa SISICMBio * O SISICMBio é um software livre; você pode redistribuíção e/ou modifição dentro dos termos * da Licença Pública Geral GNU como publicada pela Fundação do Software Livre (FSF); na versão * 2 da Licença. * * Este programa é distribuíção na esperança que possa ser útil, mas SEM NENHUMA GARANTIA; sem * uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a * Licença Pública Geral GNU/GPL em português para maiores detalhes. * Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título "LICENCA.txt", * junto com este programa, se não, acesse o Portal do Software Público Brasileiro no endereço * www.softwarepublico.gov.br ou escreva para a Fundação do Software Livre(FSF) * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * */ Imagens::factory()->generateLinksForDigital($_REQUEST['digital'], $_REQUEST['between'])->toJson(true);
<?php /* * Copyright 2008 ICMBio * Este arquivo é parte do programa SISICMBio * O SISICMBio é um software livre; você pode redistribuíção e/ou modifição dentro dos termos * da Licença Pública Geral GNU como publicada pela Fundação do Software Livre (FSF); na versão * 2 da Licença. * * Este programa é distribuíção na esperança que possa ser útil, mas SEM NENHUMA GARANTIA; sem * uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a * Licença Pública Geral GNU/GPL em português para maiores detalhes. * Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título "LICENCA.txt", * junto com este programa, se não, acesse o Portal do Software Público Brasileiro no endereço * www.softwarepublico.gov.br ou escreva para a Fundação do Software Livre(FSF) * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * */ Imagens::factory()->generateCacheForDigital($_REQUEST['digital'])->generateLinksForDigital($_REQUEST['digital'])->toJson(true);
/** * @return Imagens */ public function clearAllCache() { $handleLotes = opendir(__CAM_UPLOAD__); //Interacao nos lotes... if ($handleLotes) { while (false !== ($lote = readdir($handleLotes))) { if ($lote != '.' && $lote != '..') { $dirLote = __CAM_UPLOAD__ . '/cache/' . $lote; if (!is_dir($dirLote)) { continue; } //Interacao nos digitais... $handleDigitais = opendir($dirLote); if ($handleDigitais) { while (false !== ($digital = readdir($handleDigitais))) { if ($digital != '.' && $digital != '..') { $last = __CAM_UPLOAD__ . "/cache/{$lote}/{$digital}/last-1"; if (!is_file($last)) { continue; } // Se idade do arquivo em dias for maior que o definido no arquivo de configuracao entao limpa o cache... if (round((time() - filemtime($last)) / 86400) >= __CACHEIMAGENSDIAS__) { Imagens::factory()->clearCache($digital); } } } closedir($handleDigitais); } } } closedir($handleLotes); } return $this; }
//Classes require_once "../util/includes-json-class.php"; if (!empty($_POST['FRMcadastro'])) { //Cadastra Imoveis $oImoveis = new Imoveis(); $oImoveis->_item['tipoimovel'] = $_POST['FRMtipoimovel']; $oImoveis->_item['tipoanuncio'] = $_POST['FRMtipoanuncio']; $oImoveis->_item['rua'] = $_POST['FRMrua']; $oImoveis->_item['numero'] = $_POST['FRMnumero']; $oImoveis->_item['cidade'] = $_POST['FRMcidade']; $oImoveis->_item['bairro'] = $_POST['FRMbairro']; $oImoveis->_item['estado'] = $_POST['FRMestado']; $oImoveis->_item['descricao'] = $_POST['FRMdescricao']; $iIdImovel = $oImoveis->createNewObject(); //Cadastra Imagens $oImagens = new Imagens(); $iTotalImg = count($_FILES['FRMimagem']['name']); for ($i = 0; $i < $iTotalImg; $i++) { //Upload de arquivos // verifica se foi enviado um arquivo if (isset($_FILES['FRMimagem']['name'][$i]) && $_FILES["FRMimagem"]["error"][$i] == 0) { $arquivo_tmp = $_FILES['FRMimagem']['tmp_name'][$i]; $nome = $_FILES['FRMimagem']['name'][$i]; // Pega a extensao $extensao = strrchr($nome, '.'); // Converte a extensao para mimusculo $extensao = strtolower($extensao); // Somente imagens, .jpg;.jpeg;.gif;.png // Aqui eu enfilero as extesões permitidas e separo por ';' // Isso server apenas para eu poder pesquisar dentro desta String if (strstr('.jpg;.jpeg;.gif;.png', $extensao)) {
$aMenu = array(0 => array('title' => 'Imóveis', 'href' => '/community', 'child' => array(0 => array('title' => 'Cadastrar', 'href' => 'community', 'child' => array(0 => array('title' => 'Irc', 'href' => 'irc'), 1 => array('title' => 'Events', 'href' => 'events'))), 1 => array('title' => 'Buscar', 'href' => 'getting-involved', 'child' => array(0 => array('title' => 'Translation', 'href' => 'translation'), 1 => array('title' => 'Design', 'href' => 'contribute/themes'), 2 => array('title' => 'Coding', 'href' => 'contribute/development'))))), 1 => array('title' => 'Contatos', 'href' => 'support', 'child' => array(0 => array('title' => 'Search', 'href' => 'search/apachesolr_search'), 1 => array('title' => 'Forums', 'href' => 'Forum'), 2 => array('title' => 'Community Documentation', 'href' => 'documentation'))), 2 => array('title' => 'Tipos de Imóveis', 'href' => 'support', 'child' => array(0 => array('title' => 'Search', 'href' => 'search/apachesolr_search'), 1 => array('title' => 'Forums', 'href' => 'Forum'), 2 => array('title' => 'Community Documentation', 'href' => 'documentation')))); if (!empty($_POST['FRMcadastro'])) { //Cadastra Imoveis $oImoveis = new Imoveis(); $oImoveis->_item['tipoimovel'] = $_POST['FRMtipoimovel']; $oImoveis->_item['tipoanuncio'] = $_POST['FRMtipoanuncio']; $oImoveis->_item['rua'] = $_POST['FRMrua']; $oImoveis->_item['numero'] = $_POST['FRMnumero']; $oImoveis->_item['cidade'] = $_POST['FRMcidade']; $oImoveis->_item['bairro'] = $_POST['FRMbairro']; $oImoveis->_item['estado'] = $_POST['FRMestado']; $oImoveis->_item['descricao'] = $_POST['FRMdescricao']; $oImoveis->createNewObject(true); $iIdImovel = 1; //Cadastra Imagens $oImagens = new Imagens(); $iTotalImg = count($_FILES['FRMimagem']['name']); for ($i = 0; $i < $iTotalImg; $i++) { //Upload de arquivos // verifica se foi enviado um arquivo if (isset($_FILES['FRMimagem']['name'][$i]) && $_FILES["FRMimagem"]["error"][$i] == 0) { $arquivo_tmp = $_FILES['FRMimagem']['tmp_name'][$i]; $nome = $_FILES['FRMimagem']['name'][$i]; // Pega a extensao $extensao = strrchr($nome, '.'); // Converte a extensao para mimusculo $extensao = strtolower($extensao); // Somente imagens, .jpg;.jpeg;.gif;.png // Aqui eu enfilero as extesões permitidas e separo por ';' // Isso server apenas para eu poder pesquisar dentro desta String if (strstr('.jpg;.jpeg;.gif;.png', $extensao)) {
} } // se não tem imagem anterior então estamos mudando a imagem atual para a primeira posição if (empty($_REQUEST['newPosPrev'])) { $newPos = $_REQUEST['newPosNext']; $fieldValue = 'ORDEM + 1'; $extraConditional = " AND ORDEM < {$_REQUEST['oldPos']} "; } // se não tem próxima imagem então estamos mudando a imagem atual para a derradeira posição if (empty($_REQUEST['newPosNext'])) { $newPos = $_REQUEST['newPosPrev']; $fieldValue = 'ORDEM - 1'; $extraConditional = " AND ORDEM > {$_REQUEST['oldPos']} "; } Imagens::updateImagensFieldByDigital('ORDEM', $fieldValue, $_REQUEST['digital'], $extraConditional); Imagens::updateImagensFieldByDigital('ORDEM', $newPos, $_REQUEST['digital'], " AND ORDEM = {$temporaryOrdemValue} "); $out = array('success' => 'true'); } catch (Exception $e) { $out = array('success' => 'false', 'error' => Util::fixErrorString($e->getMessage())); } } else { $out = array('success' => 'false', 'error' => Util::fixErrorString('Informações importantes estão ausentes!')); } } else { $out = array('success' => 'false', 'error' => Util::fixErrorString('Acesso negado!')); } break; default: $out = array('success' => 'false', 'error' => 'Opcao Invalida!'); break; }
* O SISICMBio é um software livre; você pode redistribuíção e/ou modifição dentro dos termos * da Licença Pública Geral GNU como publicada pela Fundação do Software Livre (FSF); na versão * 2 da Licença. * * Este programa é distribuíção na esperança que possa ser útil, mas SEM NENHUMA GARANTIA; sem * uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a * Licença Pública Geral GNU/GPL em português para maiores detalhes. * Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título "LICENCA.txt", * junto com este programa, se não, acesse o Portal do Software Público Brasileiro no endereço * www.softwarepublico.gov.br ou escreva para a Fundação do Software Livre(FSF) * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * */ /** * Caso exista o travamento na geração de imagens de cache, o método de geração de cache será chamado novamente. */ $imagens = Imagens::factory(); $digital = $_REQUEST['digital']; $lastFile = sprintf('%s/cache/%s/%s/last-1', __CAM_UPLOAD__, $imagens->generateLote($digital), $digital); if ($imagens->isLocked($digital)) { if (file_exists($lastFile)) { $tempoEntreGeracaoDeArquivos = time() - filemtime($lastFile); // hora atual em segundos menos a hora de geração do arquivo. if ($tempoEntreGeracaoDeArquivos > 10) { $imagens->unlock($digital); print json_encode(array('percent' => 'error')); // apenas atualiza a data de alteração do arquivo para que ele não // seja chamado imediatamente depois quando este arquivo for chamado // novamente. touch($lastFile); exit; }