PageRenderTime 21ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/core/classes/Env.php

http://github.com/caferrari/vorticephp
PHP | 60 lines | 57 code | 3 blank | 0 comment | 0 complexity | 2e11267e0ff486414adb0b5e2e137846 MD5 | raw file
Possible License(s): BSD-3-Clause
  1. <?php
  2. class Env {
  3. private static $vars;
  4. public function setup(){
  5. self::$vars = &$_SERVER;
  6. $tmproot = str_replace('\\', '/', dirname($_SERVER['SCRIPT_FILENAME']) . '/');
  7. $tmproot = preg_replace('@/core/$@', '/', $tmproot);
  8. if (file_exists($tmproot . 'app/config.php')) include tmproot . 'app/config.php';
  9. if (!defined('root')) define ('root', $tmproot);
  10. if (!defined('virtualroot')) define ('virtualroot', preg_replace('@/+@', '/', preg_replace('@' . $_SERVER['DOCUMENT_ROOT'] . '|core/core.php@', '/', $_SERVER['SCRIPT_FILENAME'])));
  11. if (!defined('webroot')) define ('webroot', root . 'app/webroot');
  12. if (!file_exists(root . 'environment')) $env = 'production';
  13. else $env = file_get_contents(root . 'environment');
  14. if (preg_match('@^([a-z0-9]+)@', $env, $mat))
  15. define ('environment', $mat[0]);
  16. define ('production', environment=='production');
  17. if (!defined('default_controller')) define ('default_controller', 'index');
  18. if (!defined('default_action')) define ('default_action', 'index');
  19. if (!defined('default_lang')) define ('default_lang', 'pt-br');
  20. if (!defined('apphash')) define ('apphash', md5(__FILE__));
  21. define ('windows', preg_match('@^[a-zA-Z]:@', __FILE__));
  22. define ('ajax', isset($_SERVER['HTTP_X_REQUESTED_WITH']));
  23. define ('post', $_SERVER['REQUEST_METHOD'] === 'POST');
  24. define ('mobile', is_mobile());
  25. define ('bot', is_bot());
  26. Env::set('apphash', apphash);
  27. Env::set('post', post);
  28. Env::set('windows', windows);
  29. Env::set('ajax', ajax);
  30. Env::set('mobile', mobile);
  31. Env::set('bot', bot);
  32. Env::set('root', root);
  33. Env::set('virtualroot', virtualroot);
  34. Env::set('webroot', webroot);
  35. Env::set('environment', environment);
  36. Env::set('production', production);
  37. }
  38. public function set($index, $val){
  39. self::$vars[$index] = $val;
  40. }
  41. public function &get($index){
  42. return self::$vars[$index];
  43. }
  44. public static function isPost(){
  45. return self::$vars['post'];
  46. }
  47. }