Source for file config.php

Documentation is available at config.php

  1. <?
  2.     /**
  3.      * config.php
  4.      * 
  5.      * Armazena e inicializa todas as configurações de caminho, url, dados para conexão db, etc
  6.      * Faz o include de arquivos de configuração específicos de acordo com os módulos ativos em $CFG
  7.      * 
  8.      * Por FRAMEWORK entende-se o conjunto de classes e arquivos comuns a todos os clientes
  9.      * que utilizem-se de determinado servidor.
  10.      * 
  11.      * Por APLICAÇÃO entende-se pelo conjunto de arquivos pertencentes a um determinado projeto
  12.      * de um determinado cliente.
  13.      * 
  14.      * Por MÓDULO entende-se uma funcionalidade relacionada e referente a uma regra de negócio
  15.      * ou caso de uso específicos.
  16.      *
  17.      * @copyright 2008 Soomp
  18.      * @package Soomp
  19.      * @author Marcio Merlone <mmerlone@gmail.com>
  20.      * @version 1.0
  21.      * @since 29/ago/2006
  22.      */
  23.     /* $Id: config.php,v 1.29 2007/05/29 20:41:21 mmerlone Exp $ */
  24.  
  25.     /**
  26.      * @name $CFG_MODULOS array
  27.      *  Determina os recursos que serão ativados no projeto
  28.      *  Faz incluir somente os arquivos de configuração necessários
  29.      *  Formato do array:
  30.      *  <code>
  31.      *  array('modulo' => X);
  32.      *  </code>
  33.      *  Onde:
  34.      *  - modulo = nome do módulo ou feature a habilitar
  35.      *  - X =
  36.      *          - 0 inativo
  37.      *          - 1 ativo
  38.      * 
  39.      *  O arquivo de configuração deverá ter o formato:
  40.      *  config.${recurso}.php
  41.      * 
  42.      *  Recursos implementados:
  43.      *  - usuario...: Habilita o uso de usuários e login no sistema.
  44.      *  - modulo....: Habilita o uso de módulos no projeto (@todo remover se for sempre)
  45.      *  - db........: Habilita uso do banco de dados para o projeto
  46.      *  - i18n......: Habilita internacionalização
  47.      *  - dbsession.: Habilita o armazenamento da sessão php em banco de dados
  48.      *  - rss.......: Habilita disponibilização de rss no projeto
  49.      * 
  50.      *  IMPORTANTE:
  51.      *  Carregar os configs na ordem de dependências, isto é, para carregar dbsession é necessário carregar
  52.      *  db antes.
  53.      */
  54.     $CFG array(
  55.                 'exception'     => 0,
  56.                 'db'            => 1,
  57.                 'i18n'            => 1,
  58.                 'rss'            => 0,
  59.                  );
  60.  
  61.     /**
  62.      * @name CFG_TITLE Título das páginas em <head><title>
  63.      */
  64.     define('CFG_TITLE''Framework OpenMind Tecnologia');
  65.     
  66.     /**
  67.      * @name CFG_META_AUTHOR
  68.      * @link http://www.w3.org/TR/html4/struct/global.html#h-7.4.4
  69.      * @link http://searchenginewatch.com/showPage.html?page=2167931
  70.      */
  71.     define('CFG_META_AUTHOR''Áton Tecnologia Ltda.');
  72.  
  73.     /**
  74.      * @name CFG_META_DESCRIPTION Meta tags para descrição do site
  75.      */
  76.     define('CFG_META_DESCRIPTION''Aplicação teste do framework Áton');
  77.  
  78.     /**
  79.      * @name CFG_META_KEYWORDS Meta tags de strings de busca dos search engines
  80.      */
  81.     define('CFG_META_KEYWORDS''php,mysql,ldap,postgresql,mvc,object,class,smarty,adodb,framework,team,ajax');
  82.  
  83.     /**
  84.      * @name CFG_META_COPYRIGHT Meta tags de direitos de cópia
  85.      */
  86.     define('CFG_META_COPYRIGHT'CFG_META_AUTHOR);
  87.  
  88.     /**
  89.      * @name $CFG_PROJETO string Obrigatório, nome do projeto. Afeta :
  90.      *  - compilação dos templates smarty
  91.      *  - nome da sessão
  92.      */
  93.     define('CFG_PROJETO''framework');
  94.  
  95.     /**
  96.      * @name CFG_LOCAL_FRAMEWORK Caminho para o framework a ser utilizado.
  97.      */
  98.     define('CFG_LOCAL_FRAMEWORK''/home/mmerlone/framework/09-Implementacao/');
  99.  
  100.     /**
  101.      * @name $CFG_PATH string Caminho para o arquivos não mapeados para web (classes, includes, templates, etc) DA APLICAÇÃO
  102.      */
  103.     define('CFG_PATH'CFG_LOCAL_FRAMEWORK.'skel/');
  104.  
  105.     /**
  106.      * @name CFG_SMARTY_COMPILE Diretório de templates compilados do smarty
  107.      */
  108.     define('CFG_SMARTY_COMPILE''/tmp/php/templates_c');
  109.  
  110.     /**
  111.      * @name CFG_CHARSET define o charset a ser utilizado nas páginas
  112.      */
  113.     define('CFG_CHARSET''UTF-8');
  114.  
  115.     /**
  116.      * @name CFG_DEBUG Habilita debug - sempre compila templates smarty, sempre relê arquivo php de tradução, ...
  117.      *  0 - desabilitado
  118.      *  1 - função debug() executa o print_r das variáveis
  119.      *  2 - função debug() executa o var_dump das variáveis
  120.      *  O print_r é melhor alinhado e não informa o tipo das variáveis. Recomendado.
  121.      */
  122.     define('CFG_DEBUG'2);
  123.  
  124.     /**
  125.      * @name CFG_DEBUG_REDIRECT Desabilita o redirecionamento automático do método requisicao::redireciona
  126.      */
  127.     define('CFG_DEBUG_REDIRECT'false);
  128.  
  129.     /**
  130.      * @name CFG_OBFU_EMAIL Se endereços de e-mail devem ser obfuscados (eu@tld -> eu%40tld) pelo Smarty [true|false]
  131.      */
  132.     define('CFG_OBFU_EMAIL'true);
  133.  
  134.     /**
  135.      * @name CFG_LOADING_TIMEOUT Tempo em milisegundos para esconder a imagem
  136.      *  "Aguarde,carregando..." caso demore a chegar no foot.tpl
  137.      *  Após este tempo remove a imagem loading e exibe mensagem de alerta em
  138.      *  vermelho.
  139.      */
  140.     define('CFG_LOADING_TIMEOUT'1500);
  141.  
  142.     /**
  143.      * @name CFG_ITENS_PAG Define a quantidade padrão de itens por página em listas
  144.      */
  145.     define('CFG_ITENS_PAG'10);
  146.  
  147.     /**
  148.      * @name CFG_SESSION_DB Define se a sessão será armazenada no banco de dados
  149.      *  pelo ADODB - veja config.dbsession.php
  150.      */
  151.     define('CFG_SESSION_DB'false);
  152.  
  153.     /**
  154.      * @name CFG_SESSION_PATH Define onde serão salvos os arquivos de sessão.
  155.      *  ATENÇÃO! Caso outros projetos tenham valores diferentes de CFG_SESSION_EXPIRE
  156.      *  os caminhos devem ser diferentes!
  157.      * @link http://br.php.net/manual/en/ref.session.php#ini.session.gc-maxlifetime
  158.      */
  159.     define('CFG_SESSION_PATH'CFG_PATH.'/session/');
  160.  
  161.     /**
  162.      * @name CFG_SESSION_EXPIRE Define o tempo para expirar o login em segundos
  163.      *  Para desabilitar especifique 0 (zero)
  164.      */
  165.     define('CFG_SESSION_EXPIRE'1440)// 1440 secs = 28 min
  166.  
  167.     /***********************************************************
  168.      * 
  169.      * Nada a configurar abaixo.
  170.      * 
  171.      */
  172.  
  173.         die('ERRO: O diretorio '.CFG_LOCAL_FRAMEWORK.' nao existe. Verifique o arquivo config.php!');
  174.     }
  175.  
  176.     /**
  177.      * Carrega os arquivos de configuração dos módulos ativos.
  178.      */
  179.     require_once(CFG_LOCAL_FRAMEWORK.'requisicao.classe.php');
  180.     require_once(CFG_LOCAL_FRAMEWORK.'usuario.classe.php');
  181.     require_once(CFG_LOCAL_FRAMEWORK.'grupo.classe.php');
  182.  
  183.     foreach($CFG as $modulo => $ativo){
  184.         $config CFG_PATH.'/config/config.'.$modulo.'.php';
  185.         if($ativo){
  186.             if(is_file($config)){
  187.                 require_once($config);
  188.             }else{
  189.                 trigger_error('Arquivo de configuração '.$config.' não encontrado!'E_USER_WARNING);
  190.             }
  191.         }
  192.     }
  193.     require_once(CFG_PATH.'config/config.usuario.php');
  194.     require_once(CFG_PATH.'config/config.modulo.php');
  195.     require_once(CFG_LOCAL_FRAMEWORK.'functions.php');
  196.  
  197.     ini_set('session.use_only_cookies'true);
  198.     if(defined('CFG_SESSION_EXPIRE'&& CFG_SESSION_EXPIRE){
  199.         ini_set('session.gc_maxlifetime'CFG_SESSION_EXPIRE);
  200.     }
  201.     if(defined('CFG_SESSION_DB'&& CFG_SESSION_DB){
  202.         require_once(CFG_PATH.'/config/config.dbsession.php');
  203.     }else{
  204.         ini_set('session.save_path'CFG_SESSION_PATH);
  205.     }
  206.  
  207.  
  208.     session_start();
  209.     $_SESSION['debugged'false;
  210.     header('Content-Type: text/html; charset='.CFG_CHARSET);
  211.  
  212. ?>

Documentation generated on Sun, 09 Mar 2008 23:51:00 -0300 by phpDocumentor 1.4.0

SourceForge.net Logo Support This Project