header.inc.php 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. <?php
  2. define('BX_DOL', 1);
  3. define('BX_DOL_START', microtime ());
  4. //--- Main URLs ---//
  5. define('BX_DOL_URL_ROOT', '%SITE_URL%');
  6. define('BX_DOL_URL_PLUGINS', BX_DOL_URL_ROOT . 'plugins/');
  7. define('BX_DOL_URL_MODULES', BX_DOL_URL_ROOT . 'modules/');
  8. define('BX_DOL_URL_CACHE_PUBLIC', BX_DOL_URL_ROOT . 'cache_public/');
  9. define('BX_DOL_URL_BASE', BX_DOL_URL_ROOT . 'template/');
  10. //--- Main Pathes ---//
  11. define('BX_DIRECTORY_PATH_ROOT', '%ROOT_DIR%');
  12. define('BX_DIRECTORY_PATH_INC', BX_DIRECTORY_PATH_ROOT . 'inc/');
  13. define('BX_DIRECTORY_PATH_BASE', BX_DIRECTORY_PATH_ROOT . 'template/');
  14. define('BX_DIRECTORY_PATH_CACHE', BX_DIRECTORY_PATH_ROOT . 'cache/');
  15. define('BX_DIRECTORY_PATH_CACHE_PUBLIC', BX_DIRECTORY_PATH_ROOT . 'cache_public/');
  16. define('BX_DIRECTORY_PATH_CLASSES', BX_DIRECTORY_PATH_ROOT . 'inc/classes/');
  17. define('BX_DIRECTORY_PATH_PLUGINS', BX_DIRECTORY_PATH_ROOT . 'plugins/');
  18. define('BX_DIRECTORY_PATH_MODULES', BX_DIRECTORY_PATH_ROOT . 'modules/');
  19. define('BX_DIRECTORY_PATH_TMP', BX_DIRECTORY_PATH_ROOT . 'tmp/');
  20. define('BX_DIRECTORY_STORAGE', BX_DIRECTORY_PATH_ROOT . 'storage/');
  21. //--- DB Connection ---//
  22. define('BX_DATABASE_HOST', '%DB_HOST%');
  23. define('BX_DATABASE_SOCK', '%DB_SOCK%');
  24. define('BX_DATABASE_PORT', '%DB_PORT%');
  25. define('BX_DATABASE_USER', '%DB_USER%');
  26. define('BX_DATABASE_PASS', '%DB_PASSWORD%');
  27. define('BX_DATABASE_NAME', '%DB_NAME%');
  28. //--- System settings ---//
  29. define('BX_SYSTEM_CONVERT', '%CONVERT_PATH%');
  30. define('BX_SYSTEM_COMPOSITE', '%COMPOSITE_PATH%');
  31. define('BX_DOL_DIR_RIGHTS', 0777);
  32. define('BX_DOL_FILE_RIGHTS', 0666);
  33. define('BX_DOL_STORAGE_OBJ_IMAGES', 'sys_images');
  34. define('BX_DOL_INT_MAX', 2147483647);
  35. define('BX_DOL_TRANSCODER_OBJ_ICON_APPLE', 'sys_icon_apple');
  36. define('BX_DOL_TRANSCODER_OBJ_ICON_FACEBOOK', 'sys_icon_facebook');
  37. define('BX_DOL_TRANSCODER_OBJ_ICON_FAVICON', 'sys_icon_favicon');
  38. //--- Module types ---//
  39. if (!defined('BX_DOL_MODULE_TYPE_MODULE')) {
  40. define('BX_DOL_MODULE_TYPE_MODULE', 'module');
  41. define('BX_DOL_MODULE_TYPE_LANGUAGE', 'language');
  42. define('BX_DOL_MODULE_TYPE_TEMPLATE', 'template');
  43. }
  44. //--- Studio settings ---//
  45. define('BX_DOL_STUDIO_FOLDER', 'studio');
  46. define('BX_DOL_URL_STUDIO', BX_DOL_URL_ROOT . BX_DOL_STUDIO_FOLDER . '/');
  47. define('BX_DOL_URL_STUDIO_BASE', BX_DOL_URL_STUDIO . 'template/');
  48. define('BX_DOL_DIR_STUDIO', BX_DIRECTORY_PATH_ROOT . BX_DOL_STUDIO_FOLDER . '/');
  49. define('BX_DOL_DIR_STUDIO_INC', BX_DOL_DIR_STUDIO . 'inc/');
  50. define('BX_DOL_DIR_STUDIO_CLASSES', BX_DOL_DIR_STUDIO . 'classes/');
  51. define('BX_DOL_DIR_STUDIO_BASE', BX_DOL_DIR_STUDIO . 'template/');
  52. //--- BoonEx Unity Settings ---//
  53. define('BX_DOL_UNITY_URL_ROOT', 'http://www.boonex.com/');
  54. define('BX_DOL_UNITY_URL_MARKET', BX_DOL_UNITY_URL_ROOT . 'market/');
  55. define('BX_DOL_UNITY_URL_PRODUCT', BX_DOL_UNITY_URL_ROOT . 'm/');
  56. //--- BoonEx OAuth Settings ---//
  57. define('BX_DOL_OAUTH_URL_REQUEST_TOKEN', BX_DOL_UNITY_URL_ROOT . 'scripts_public/oauth_request_token.php5');
  58. define('BX_DOL_OAUTH_URL_AUTHORIZE', BX_DOL_UNITY_URL_ROOT . 'scripts_public/oauth_authorize.php5');
  59. define('BX_DOL_OAUTH_URL_ACCESS_TOKEN', BX_DOL_UNITY_URL_ROOT . 'scripts_public/oauth_access_token.php5');
  60. define('BX_DOL_OAUTH_URL_FETCH_DATA', BX_DOL_UNITY_URL_ROOT . 'scripts_public/oauth_fetch_data.php5');
  61. //--- User Roles ---//
  62. define('BX_DOL_ROLE_GUEST', 0);
  63. define('BX_DOL_ROLE_MEMBER', 1);
  64. define('BX_DOL_ROLE_ADMIN', 2);
  65. // profile statuses
  66. define('BX_PROFILE_STATUS_SUSPENDED', 'suspended'); ///< profile status - suspended, profile is syspended by admin/moderator and usually can't access the site
  67. define('BX_PROFILE_STATUS_ACTIVE', 'active'); ///< profile status - active, profile is active on the site
  68. define('BX_PROFILE_STATUS_PENDING', 'pending'); ///< profile status - pending, default method of approving is manual approving
  69. define('BX_DOL_SECRET', '%SECRET%');
  70. define('CHECK_DOLPHIN_REQUIREMENTS', 1);
  71. if (defined('CHECK_DOLPHIN_REQUIREMENTS')) {
  72. //check requirements
  73. $aErrors = array();
  74. $aErrors[] = (ini_get('register_globals') == 0) ? '' : '<font color="red">register_globals is On (warning, you should have this param in Off state, or your site will unsafe)</font>';
  75. $aErrors[] = (ini_get('safe_mode') == 0) ? '' : '<font color="red">safe_mode is On, disable it</font>';
  76. $aErrors[] = (version_compare(PHP_VERSION, '5.2.0', '<')) ? '<font color="red">PHP version too old, please update to PHP 5.2.0 at least</font>' : '';
  77. $aErrors[] = (!extension_loaded( 'mbstring')) ? '<font color="red">mbstring extension not installed. <b>Warning!</b> Dolphin cannot work without <b>mbstring</b> extension.</font>' : '';
  78. if (version_compare(phpversion(), "5.2", ">") == 1) {
  79. $aErrors[] = (ini_get('allow_url_include') == 0) ? '' : '<font color="red">allow_url_include is On (warning, you should have this param in Off state, or your site will unsafe)</font>';
  80. };
  81. $aErrors = array_diff($aErrors, array('')); //delete empty
  82. if (count($aErrors)) {
  83. $sErrors = implode(" <br /> ", $aErrors);
  84. echo <<<EOF
  85. {$sErrors} <br />
  86. Please go to the <br />
  87. <a href="http://www.boonex.com/trac/dolphin/wiki/GenDolTShooter">Dolphin Troubleshooter</a> <br />
  88. and solve the problem.
  89. EOF;
  90. exit;
  91. }
  92. }
  93. //check correct hostname
  94. $aUrl = parse_url( BX_DOL_URL_ROOT );
  95. if (isset($_SERVER['HTTP_HOST']) and 0 != strcasecmp($_SERVER['HTTP_HOST'], $aUrl['host']) and 0 != strcasecmp($_SERVER['HTTP_HOST'], $aUrl['host'] . ':80')) {
  96. header( "Location:http://{$aUrl['host']}{$_SERVER['REQUEST_URI']}" );
  97. exit;
  98. }
  99. // check if install folder exists
  100. if (!defined ('BX_SKIP_INSTALL_CHECK') && file_exists(BX_DIRECTORY_PATH_ROOT . 'install')) {
  101. $ret = <<<EOJ
  102. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  103. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
  104. <head>
  105. <title>Dolphin Smart Community Builder Installed</title>
  106. <link href="install/general.css" rel="stylesheet" type="text/css" />
  107. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  108. </head>
  109. <body>
  110. <div id="main">
  111. <div id="header">
  112. <img src="install/images/boonex-logo.png" alt="" /></div>
  113. <div id="content">
  114. <div class="installed_pic">
  115. <img alt="Dolphin Installed" src="install/images/dolphin_installed.jpg" />
  116. </div>
  117. <div class="installed_text">
  118. Please, remove INSTALL directory from your server and reload this page to activate your community site.
  119. </div>
  120. <div class="installed_text">
  121. NOTE: Once you remove this page you can safely <a href="administration/modules.php">install modules via Admin Panel</a>.
  122. </div>
  123. </body>
  124. </html>
  125. EOJ;
  126. echo $ret;
  127. exit();
  128. }
  129. // set some PHP options
  130. error_reporting(E_ALL);
  131. ini_set('magic_quotes_sybase', 0);
  132. mb_internal_encoding('UTF-8');
  133. mb_regex_encoding('UTF-8');
  134. // include files needed for basic functionality
  135. require_once(BX_DIRECTORY_PATH_CLASSES . "BxDol.php");
  136. require_once(BX_DIRECTORY_PATH_INC . "utils.inc.php");
  137. require_once(BX_DIRECTORY_PATH_INC . "security.inc.php");
  138. require_once(BX_DIRECTORY_PATH_INC . "db.inc.php");
  139. require_once(BX_DIRECTORY_PATH_INC . "profiles.inc.php");
  140. bx_import('BxDolConfig');
  141. bx_import('BxDolService');
  142. bx_import('BxDolAlerts');
  143. $o = new BxDolAlerts('system', 'begin', 0);
  144. $o->alert();