Public paste
Undefined
By: Guest | Date: Apr 1 2010 19:13 | Format: PHP | Expires: never | Size: 10.53 KB | Hits: 946

  1. <?PHP
  2.  
  3.         FINAL CLASS ILLI_Container_Constants EXTENDS ILLI_Container
  4.         {
  5.                 public function init()
  6.                 {
  7.                         ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')
  8.                        
  9.                                 // register the accepted offset-types for all settings;
  10.                                 // the 3rd param is a switch-case-setting
  11.                        
  12.                                 // name of application
  13.                                 // this allows you to use a single-installation of ILLI for several apps; default is localhost
  14.                                 -> set_Rule('string','APPLICATION_PROFILE')
  15.                                
  16.                                 // php-ini
  17.                                 -> set_Rule('array', 'PHP_INI')
  18.                                
  19.                                 // aparse incoming get-vars
  20.                                 // todo: move that into routing
  21.                                 -> set_Rule('array', 'CLEANVARS_GET')
  22.                                 // accepted vars, but hide for parsing
  23.                                 -> set_Rule('array', 'CLEANVARS_GET_IGNORE')
  24.                                 // allow ILLI to kill all unregistred vars
  25.                                 -> set_Rule('bool',  'CLEANVARS_GET_DISCARD_UNREGISTERED')
  26.                                 // allow only incoming get if client accept session-cookie
  27.                                 -> set_Rule('bool',  'CLEANVARS_GET_DISCARD_ALL_ON_MISSING_SESSIONCOOKIE')
  28.                                
  29.                                 // aparse incoming post-vars
  30.                                 // todo: move that into routing
  31.                                 -> set_Rule('array', 'CLEANVARS_POST')
  32.                                 // accepted vars, but hide for parsing
  33.                                 -> set_Rule('array', 'CLEANVARS_POST_IGNORE')
  34.                                 // allow ILLI to kill all unregistred vars
  35.                                 -> set_Rule('bool',  'CLEANVARS_POST_DISCARD_UNREGISTERED')
  36.                                 // allow only incoming post if client accept session-cookie
  37.                                 -> set_Rule('bool',  'CLEANVARS_POST_DISCARD_ALL_ON_MISSING_SESSIONCOOKIE')
  38.                                
  39.                                 // env-mode-tolerance; defaults are PRODUCTION and DEVELOPMENT
  40.                                 -> set_Rule('string','ENVIRONMENT_MODE', array('PRODUCTION','DEVELOPMENT'))
  41.                                
  42.                                 // url-deep-path; for root set = '/'
  43.                                 -> set_Rule('string','BASE_DEVELOPMENT')
  44.                                 -> set_Rule('string','BASE_PRODUCTION')
  45.                                
  46.                                 // select layout-dir for view
  47.                                 -> set_Rule('string','LAYOUT')
  48.                                
  49.                                 // show errors and exception only for defined i.p.
  50.                                 -> set_Rule('array', 'DEVELOPMENT_IP')
  51.                                
  52.                                 // will redirect all requests to self-repaired, clean uri
  53.                                 -> set_Rule('bool',  'FORWARD_TO_REPAIRED_URI')
  54.                                
  55.                                 // page-encoding; this is global for pageoutput and form-accepted-charset
  56.                                 -> set_Rule('string','ENCODING')
  57.                                
  58.                                 // set cache timeouts for filetypes
  59.                                 // @to0do: move that value into routing-table
  60.                                 -> set_Rule('array', 'CLIENT_CACHE_CONTROL_MAX_AGE')
  61.                                 -> set_Rule('array', 'CLIENT_CACHE_PRAGMA_CACHE')
  62.                                
  63.                                 // min/max-php-version
  64.                                 -> set_Rule('string','PHP_MIN_VERSION')
  65.                                 -> set_Rule('string','PHP_MAX_VERSION');
  66.                 }
  67.                
  68.                 public function run()
  69.                 {
  70.                        
  71.                         // default values
  72.                         if(!(ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->offsetExists('APPLICATION_PROFILE')))
  73.                                 ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->APPLICATION_PROFILE = 'localhost';
  74.                                
  75.                         if(!(ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->offsetExists('PHP_INI')))
  76.                                 ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->PHP_INI = array
  77.                                 (
  78.                                         'session.use_cookies' => true,
  79.                                         'session.use_only_cookies' => true,
  80.                                         'session.use_trans_sid' => false,
  81.                                         'session.hash_function' => '1',
  82.                                         'session.hash_bits_per_character' => 5,
  83.                                         'url_rewriter.tags' => '',
  84.                                         'expose_php' => 'off'
  85.                                 );
  86.                                
  87.                         if(!(ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->offsetExists('CLEANVARS_GET')))
  88.                                 ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->CLEANVARS_GET = array();
  89.                                                                
  90.                         if(!(ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->offsetExists('CLEANVARS_GET_IGNORE')))
  91.                                 ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->CLEANVARS_GET_IGNORE = array();     
  92.                                                                
  93.                         if(!(ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->offsetExists('CLEANVARS_GET_DISCARD_UNREGISTERED')))
  94.                                 ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->CLEANVARS_GET_DISCARD_UNREGISTERED = TRUE;  
  95.                                
  96.                         if(!(ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->offsetExists('CLEANVARS_GET_DISCARD_ALL_ON_MISSING_SESSIONCOOKIE')))
  97.                                 ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->CLEANVARS_GET_DISCARD_ALL_ON_MISSING_SESSIONCOOKIE = TRUE;
  98.                                
  99.                         if(!(ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->offsetExists('CLEANVARS_POST')))
  100.                                 ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->CLEANVARS_POST = array();
  101.                                                                
  102.                         if(!(ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->offsetExists('CLEANVARS_POST_IGNORE')))
  103.                                 ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->CLEANVARS_POST_IGNORE = array();
  104.                                
  105.                         if(!(ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->offsetExists('CLEANVARS_POST_DISCARD_UNREGISTERED')))
  106.                                 ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->CLEANVARS_POST_DISCARD_UNREGISTERED = TRUE;
  107.                                                                
  108.                         if(!(ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->offsetExists('CLEANVARS_POST_DISCARD_ALL_ON_MISSING_SESSIONCOOKIE')))
  109.                                 ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->CLEANVARS_POST_DISCARD_ALL_ON_MISSING_SESSIONCOOKIE = TRUE;
  110.                                
  111.                         if(!(ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->offsetExists('FORWARD_TO_REPAIRED_URI')))
  112.                                 ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->FORWARD_TO_REPAIRED_URI = TRUE;
  113.                                
  114.                         if(!(ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->offsetExists('DEVELOPMENT_IP')))
  115.                                 ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->DEVELOPMENT_IP = array('127.0.0.1', '127.0.0.2');
  116.                                
  117.                         if(!(ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->offsetExists('LAYOUT')))
  118.                                 ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->LAYOUT = 'default';
  119.                                
  120.                         if(!(ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->offsetExists('BASE_DEVELOPMENT')))
  121.                                 ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->BASE_DEVELOPMENT = '/';
  122.                                
  123.                         if(!(ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->offsetExists('BASE_PRODUCTION')))
  124.                                 ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->BASE_PRODUCTION = '/';
  125.                                
  126.                         if(!(ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->offsetExists('ENCODING')))
  127.                                 ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->ENCODING = 'UTF-8';
  128.                        
  129.                         // hardcoded to disallow usage
  130.                         ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')
  131.                                 -> set_Entry('ENVIRONMENT_MODE', (in_array($_SERVER['REMOTE_ADDR'], ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->DEVELOPMENT_IP) ? 'DEVELOPMENT' : 'PRODUCTION'))
  132.                                 -> set_Entry('PHP_MIN_VERSION', '5.2')
  133.                                 -> set_Entry('PHP_MAX_VERSION', '6');
  134.                        
  135.                         // write directories
  136.                         ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Directories')
  137.                                 -> set_Rule('core')
  138.                                 -> set_Rule('app')                             
  139.                                 -> set_Entry('core', 'ROOT',      rtrim(str_replace(array("/","\"), DIRECTORY_SEPARATOR, dirname(dirname(dirname(dirname(dirname(dirname(__FILE__))))))), '/\').DIRECTORY_SEPARATOR)
  140.                                 -> set_Entry('core', 'SYSTEM',    rtrim(str_replace(array("/","\"), DIRECTORY_SEPARATOR, dirname(dirname(dirname(dirname(dirname(__FILE__)))))), '/\').DIRECTORY_SEPARATOR)                            
  141.                                 -> set_Entry('core', 'APP',       ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Directories')->CORE->SYSTEM.'APP'.DIRECTORY_SEPARATOR)
  142.                                 -> set_Entry('core', 'LIBRARIES', ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Directories')->CORE->SYSTEM.'LIBRARIES'.DIRECTORY_SEPARATOR)
  143.                                 -> set_Entry('core', 'FILES',     ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Directories')->CORE->SYSTEM.'FILES'.DIRECTORY_SEPARATOR)
  144.                                 -> set_Entry('core', 'MEDIA',     ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Directories')->CORE->FILES.'media'.DIRECTORY_SEPARATOR)
  145.                                 -> set_Entry('core', 'PARTIALS',  ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Directories')->CORE->FILES.'partials'.DIRECTORY_SEPARATOR)
  146.                                 -> set_Entry('core', 'STYLES',    ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Directories')->CORE->MEDIA.'styles'.DIRECTORY_SEPARATOR)
  147.                                 -> set_Entry('core', 'JSCRIPTS',  ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Directories')->CORE->MEDIA.'javascripts'.DIRECTORY_SEPARATOR)
  148.                                 -> set_Entry('app', 'ROOT',       ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Directories')->CORE->APP.DIRECTORY_SEPARATOR.ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Configuration')->APPLICATION_PROFILE.DIRECTORY_SEPARATOR)                           
  149.                                 -> set_Entry('app', 'BROADCAST',  ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Directories')->APP->ROOT.'broadcast'.DIRECTORY_SEPARATOR)
  150.                                 -> set_Entry('app', 'CACHE',      ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Directories')->APP->ROOT.'cache'.DIRECTORY_SEPARATOR)
  151.                                 -> set_Entry('app', 'CONFIGS',    ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Directories')->APP->ROOT.'configs'.DIRECTORY_SEPARATOR)
  152.                                 -> set_Entry('app', 'FILES',      ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Directories')->APP->ROOT.'files'.DIRECTORY_SEPARATOR)
  153.                                 -> set_Entry('app', 'LAYOUTS',    ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Directories')->APP->ROOT.'layouts'.DIRECTORY_SEPARATOR)
  154.                                 -> set_Entry('app', 'MODULES',    ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Directories')->APP->ROOT.'modules'.DIRECTORY_SEPARATOR)
  155.                                 -> set_Entry('app', 'ROUTING',    ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Directories')->APP->CONFIGS.'routing'.DIRECTORY_SEPARATOR)
  156.                                 -> set_Entry('app', 'MEDIA',      ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Directories')->APP->FILES.'media'.DIRECTORY_SEPARATOR)
  157.                                 -> set_Entry('app', 'PARTIALS',   ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Directories')->APP->FILES.'partials'.DIRECTORY_SEPARATOR)
  158.                                 -> set_Entry('app', 'STYLES',     ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Directories')->APP->MEDIA.'styles'.DIRECTORY_SEPARATOR)
  159.                                 -> set_Entry('app', 'JSCRIPTS',   ILLI_Constructeur::get_Instance('ILLI_Container_Constants_Directories')->APP->MEDIA.'javascripts'.DIRECTORY_SEPARATOR);
  160.                 }
  161.         }