You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

94 lines
2.7 KiB

  1. <?php
  2. /**
  3. * Внутренний файл инициализации.
  4. * Если вы не меняли стандартное расположение файлов,
  5. * то ничего тут править не надо.
  6. *
  7. * @copyright
  8. * @link
  9. * @package Nakon
  10. * @subpackage System
  11. * @since
  12. * @version SVN: $Id$
  13. * @filesource $URL: svn+ssh://192.168.10.199/www/svn/nakon/trunk/config/sys.inc.php $
  14. */
  15. /**
  16. * Пути к файлам системы.
  17. */
  18. $a = dirname(__FILE__).'/../../';
  19. define('INIT_PATH', $a.'config');
  20. define('CORE_PATH', $a.'core/classes');
  21. define('LIB_PATH', $a.'lib');
  22. define('MODEL_PATH', $a.'lib/models');
  23. define('CACHE_PATH', $a.'cache');
  24. if (!defined('SITE_PART')) {
  25. define('SITE_PART', 'admin');
  26. }
  27. define('HTDOCS_PATH', $a.SITE_PART.'/htdocs');
  28. define('DECORATOR_PATH', $a.SITE_PART.'/decorators');
  29. define('ACTION_PATH', $a.SITE_PART.'/actions');
  30. define('TPL_PATH', $a.SITE_PART.'/templates');
  31. define('CONFIG_PATH', $a.SITE_PART.'/config');
  32. unset($a);
  33. define('WRAPPERS_TPL_PATH', TPL_PATH.'/wrappers');
  34. define('ACTION_TPL_PATH', TPL_PATH.'/actions');
  35. define('STATIC_TPL_PATH', TPL_PATH.'/static');
  36. define('DECORATOR_POSTFIX', 'Decorator');
  37. define('MODEL_POSTFIX', 'Model');
  38. define('ACTION_POSTFIX', 'Action');
  39. define('TIME_NOW', time());
  40. /**
  41. * Основные файлы системы.
  42. * Эти файлы загружаются всегда, т.к. без них работа системы невозможна
  43. */
  44. require(CORE_PATH.'/Env.class.php');
  45. require(CORE_PATH.'/Load.class.php');
  46. require(CORE_PATH.'/Router.class.php');
  47. require(CORE_PATH.'/PageController.class.php');
  48. require(CORE_PATH.'/Decorator.class.php');
  49. require(CORE_PATH.'/Action.class.php');
  50. /**
  51. * Файлы конфигурации.
  52. */
  53. if (file_exists(INIT_PATH.'/local.inc.php')) {
  54. require(INIT_PATH.'/local.inc.php');
  55. } else {
  56. require(INIT_PATH.'/global.inc.php');
  57. }
  58. Env::setParams($CONFIG);
  59. require(CONFIG_PATH.'/config.inc.php');
  60. Env::setParams($CONFIG);
  61. function __autoload($name)
  62. {
  63. preg_match_all('/[A-Z]+[^A-Z]+/', $name, $match);
  64. $type = end($match[0]);
  65. $class_name = substr($name, 0, -strlen($type));
  66. switch ($type) {
  67. case $name:
  68. require(CORE_PATH.'/'.$name.'.class.php');
  69. break;
  70. case ACTION_POSTFIX:
  71. require(ACTION_PATH.'/'.strtolower($match[0][0]).'/'.$class_name.'.action.php');
  72. break;
  73. case DECORATOR_POSTFIX:
  74. require(DECORATOR_PATH.'/'.$class_name.'.decorator.php');
  75. break;
  76. case MODEL_POSTFIX:
  77. require(MODEL_PATH.'/'.$class_name.'.model.php');
  78. break;
  79. default:
  80. require(LIB_PATH.'/'.$name.'.lib.php');
  81. }
  82. }
  83. ?>