PageRenderTime 53ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/oc-load.php

https://code.google.com/
PHP | 238 lines | 182 code | 29 blank | 27 comment | 12 complexity | 98d047b0ef918e8eea566b97e625d5c2 MD5 | raw file
Possible License(s): GPL-2.0, LGPL-2.1
  1. <?php
  2. /*
  3. * OSCLass รข&#x20AC;&#x201C; software for creating and publishing online classified
  4. * advertising platforms
  5. *
  6. * Copyright (C) 2010 OSCLASS
  7. *
  8. * This program is free software: you can redistribute it and/or
  9. * modify it under the terms of the GNU Affero General Public License
  10. * as published by the Free Software Foundation, either version 3 of
  11. * the License, or (at your option) any later version.
  12. *
  13. * This program is distributed in the hope that it will be useful, but
  14. * WITHOUT ANY WARRANTY; without even the implied warranty of
  15. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. * GNU Affero General Public License for more details.
  17. *
  18. * You should have received a copy of the GNU Affero General Public
  19. * License along with this program. If not, see <http://www.gnu.org/licenses/>.
  20. */
  21. define('OSCLASS_VERSION', '3.0.2') ;
  22. if( !defined('ABS_PATH') ) {
  23. define( 'ABS_PATH', dirname(__FILE__) . '/' );
  24. }
  25. define('LIB_PATH', ABS_PATH . 'oc-includes/') ;
  26. define('CONTENT_PATH', ABS_PATH . 'oc-content/') ;
  27. define('THEMES_PATH', CONTENT_PATH . 'themes/') ;
  28. define('PLUGINS_PATH', CONTENT_PATH . 'plugins/') ;
  29. define('TRANSLATIONS_PATH', CONTENT_PATH . 'languages/') ;
  30. if( !file_exists(ABS_PATH . 'config.php') ) {
  31. require_once LIB_PATH . 'osclass/helpers/hErrors.php' ;
  32. $title = 'OSClass &raquo; Error' ;
  33. $message = 'There doesn\'t seem to be a <code>config.php</code> file. OSClass isn\'t installed. <a href="http://forums.osclass.org/">Need more help?</a></p>' ;
  34. $message .= '<p><a class="button" href="' . osc_get_absolute_url() .'oc-includes/osclass/install.php">Install</a></p>' ;
  35. osc_die($title, $message) ;
  36. }
  37. // load database configuration
  38. require_once ABS_PATH . 'config.php' ;
  39. require_once LIB_PATH . 'osclass/default-constants.php' ;
  40. // Sets PHP error handling
  41. if( OSC_DEBUG ) {
  42. ini_set( 'display_errors', 1 ) ;
  43. error_reporting( E_ALL | E_STRICT ) ;
  44. if( OSC_DEBUG_LOG ) {
  45. ini_set( 'display_errors', 0 ) ;
  46. ini_set( 'log_errors', 1 ) ;
  47. ini_set( 'error_log', CONTENT_PATH . 'debug.log' ) ;
  48. }
  49. } else {
  50. error_reporting( E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING ) ;
  51. }
  52. require_once LIB_PATH . 'osclass/db.php';
  53. require_once LIB_PATH . 'osclass/Logger/LogDatabase.php' ;
  54. require_once LIB_PATH . 'osclass/classes/database/DBConnectionClass.php';
  55. require_once LIB_PATH . 'osclass/classes/database/DBCommandClass.php';
  56. require_once LIB_PATH . 'osclass/classes/database/DBRecordsetClass.php';
  57. require_once LIB_PATH . 'osclass/classes/database/DAO.php';
  58. require_once LIB_PATH . 'osclass/helpers/hDatabaseInfo.php';
  59. require_once LIB_PATH . 'osclass/model/Preference.php';
  60. require_once LIB_PATH . 'osclass/helpers/hPreference.php';
  61. // check if OSClass is installed
  62. if( !getBoolPreference('osclass_installed') ) {
  63. require_once LIB_PATH . 'osclass/helpers/hErrors.php' ;
  64. $title = 'OSClass &raquo; Error' ;
  65. $message = 'OSClass isn\'t installed. <a href="http://forums.osclass.org/">Need more help?</a></p>' ;
  66. $message .= '<p><a class="button" href="' . osc_get_absolute_url() .'oc-includes/osclass/install.php">Install</a></p>' ;
  67. osc_die($title, $message) ;
  68. }
  69. require_once LIB_PATH . 'osclass/helpers/hDefines.php';
  70. require_once LIB_PATH . 'osclass/helpers/hLocale.php';
  71. require_once LIB_PATH . 'osclass/helpers/hMessages.php';
  72. require_once LIB_PATH . 'osclass/helpers/hUsers.php';
  73. require_once LIB_PATH . 'osclass/helpers/hItems.php';
  74. require_once LIB_PATH . 'osclass/helpers/hSearch.php';
  75. require_once LIB_PATH . 'osclass/helpers/hUtils.php';
  76. require_once LIB_PATH . 'osclass/helpers/hCategories.php';
  77. require_once LIB_PATH . 'osclass/helpers/hTranslations.php';
  78. require_once LIB_PATH . 'osclass/helpers/hSecurity.php';
  79. require_once LIB_PATH . 'osclass/helpers/hSanitize.php';
  80. require_once LIB_PATH . 'osclass/helpers/hValidate.php';
  81. require_once LIB_PATH . 'osclass/helpers/hPage.php';
  82. require_once LIB_PATH . 'osclass/helpers/hPagination.php';
  83. require_once LIB_PATH . 'osclass/helpers/hPremium.php';
  84. require_once LIB_PATH . 'osclass/helpers/hTheme.php';
  85. require_once LIB_PATH . 'osclass/core/Params.php';
  86. require_once LIB_PATH . 'osclass/core/Cookie.php';
  87. require_once LIB_PATH . 'osclass/core/Session.php';
  88. require_once LIB_PATH . 'osclass/core/View.php';
  89. require_once LIB_PATH . 'osclass/core/BaseModel.php';
  90. require_once LIB_PATH . 'osclass/core/AdminBaseModel.php';
  91. require_once LIB_PATH . 'osclass/core/SecBaseModel.php';
  92. require_once LIB_PATH . 'osclass/core/WebSecBaseModel.php';
  93. require_once LIB_PATH . 'osclass/core/AdminSecBaseModel.php';
  94. require_once LIB_PATH . 'osclass/core/Translation.php';
  95. require_once LIB_PATH . 'osclass/AdminThemes.php';
  96. require_once LIB_PATH . 'osclass/WebThemes.php';
  97. require_once LIB_PATH . 'osclass/compatibility.php';
  98. require_once LIB_PATH . 'osclass/utils.php';
  99. require_once LIB_PATH . 'osclass/formatting.php';
  100. require_once LIB_PATH . 'osclass/feeds.php';
  101. require_once LIB_PATH . 'osclass/locales.php';
  102. require_once LIB_PATH . 'osclass/plugins.php';
  103. require_once LIB_PATH . 'osclass/helpers/hPlugins.php';
  104. require_once LIB_PATH . 'osclass/ItemActions.php';
  105. require_once LIB_PATH . 'osclass/emails.php';
  106. require_once LIB_PATH . 'osclass/model/Admin.php';
  107. require_once LIB_PATH . 'osclass/model/Alerts.php';
  108. require_once LIB_PATH . 'osclass/model/Cron.php';
  109. require_once LIB_PATH . 'osclass/model/Category.php';
  110. require_once LIB_PATH . 'osclass/model/CategoryStats.php';
  111. require_once LIB_PATH . 'osclass/model/City.php';
  112. require_once LIB_PATH . 'osclass/model/CityArea.php';
  113. require_once LIB_PATH . 'osclass/model/Country.php';
  114. require_once LIB_PATH . 'osclass/model/Currency.php';
  115. require_once LIB_PATH . 'osclass/model/OSCLocale.php';
  116. require_once LIB_PATH . 'osclass/model/Item.php';
  117. require_once LIB_PATH . 'osclass/model/ItemComment.php';
  118. require_once LIB_PATH . 'osclass/model/ItemResource.php';
  119. require_once LIB_PATH . 'osclass/model/ItemStats.php';
  120. require_once LIB_PATH . 'osclass/model/Page.php';
  121. require_once LIB_PATH . 'osclass/model/PluginCategory.php';
  122. require_once LIB_PATH . 'osclass/model/Region.php';
  123. require_once LIB_PATH . 'osclass/model/User.php';
  124. require_once LIB_PATH . 'osclass/model/UserEmailTmp.php';
  125. require_once LIB_PATH . 'osclass/model/ItemLocation.php';
  126. require_once LIB_PATH . 'osclass/model/Widget.php';
  127. require_once LIB_PATH . 'osclass/model/Search.php';
  128. require_once LIB_PATH . 'osclass/model/LatestSearches.php';
  129. require_once LIB_PATH . 'osclass/model/SiteInfo.php';
  130. require_once LIB_PATH . 'osclass/model/Field.php';
  131. require_once LIB_PATH . 'osclass/model/Log.php';
  132. require_once LIB_PATH . 'osclass/model/CountryStats.php';
  133. require_once LIB_PATH . 'osclass/model/RegionStats.php';
  134. require_once LIB_PATH . 'osclass/model/CityStats.php';
  135. require_once LIB_PATH . 'osclass/model/LocationsTmp.php';
  136. require_once LIB_PATH . 'osclass/classes/Cache.php';
  137. require_once LIB_PATH . 'osclass/classes/ImageResizer.php';
  138. require_once LIB_PATH . 'osclass/classes/RSSFeed.php';
  139. require_once LIB_PATH . 'osclass/classes/Sitemap.php';
  140. require_once LIB_PATH . 'osclass/classes/Pagination.php';
  141. require_once LIB_PATH . 'osclass/classes/Watermark.php';
  142. require_once LIB_PATH . 'osclass/classes/Rewrite.php';
  143. require_once LIB_PATH . 'osclass/classes/Stats.php';
  144. require_once LIB_PATH . 'osclass/classes/AdminMenu.php';
  145. require_once LIB_PATH . 'osclass/classes/AdminToolbar.php';
  146. require_once LIB_PATH . 'osclass/classes/Breadcrumb.php';
  147. require_once LIB_PATH . 'osclass/alerts.php';
  148. require_once LIB_PATH . 'osclass/frm/Form.form.class.php';
  149. require_once LIB_PATH . 'osclass/frm/Page.form.class.php';
  150. require_once LIB_PATH . 'osclass/frm/Category.form.class.php';
  151. require_once LIB_PATH . 'osclass/frm/Item.form.class.php';
  152. require_once LIB_PATH . 'osclass/frm/Contact.form.class.php';
  153. require_once LIB_PATH . 'osclass/frm/Comment.form.class.php';
  154. require_once LIB_PATH . 'osclass/frm/User.form.class.php';
  155. require_once LIB_PATH . 'osclass/frm/Language.form.class.php';
  156. require_once LIB_PATH . 'osclass/frm/SendFriend.form.class.php';
  157. require_once LIB_PATH . 'osclass/frm/Alert.form.class.php';
  158. require_once LIB_PATH . 'osclass/frm/Field.form.class.php';
  159. require_once LIB_PATH . 'osclass/frm/Admin.form.class.php';
  160. require_once LIB_PATH . 'osclass/frm/ManageItems.form.class.php';
  161. require_once LIB_PATH . 'osclass/functions.php';
  162. require_once LIB_PATH . 'osclass/helpers/hAdminMenu.php';
  163. define('__OSC_LOADED__', true);
  164. // Moved from BaseModel, since we need some session magic on index.php ;)
  165. Session::newInstance()->session_start() ;
  166. if( OC_ADMIN ) {
  167. // init admin menu
  168. AdminMenu::newInstance()->init();
  169. } else {
  170. // init Rewrite class only if it's the frontend
  171. Rewrite::newInstance()->init();
  172. }
  173. Plugins::init() ;
  174. if(osc_timezone() != '') {
  175. date_default_timezone_set(osc_timezone());
  176. }
  177. function osc_show_maintenance() {
  178. if(defined('__OSC_MAINTENANCE__')) { ?>
  179. <div id="maintenance" name="maintenance">
  180. <?php _e("The website is currently undergoing maintenance"); ?>
  181. </div>
  182. <?php }
  183. }
  184. function osc_show_maintenance_css() {
  185. if(defined('__OSC_MAINTENANCE__')) { ?>
  186. <style>
  187. #maintenance {
  188. position: static;
  189. top: 0px;
  190. right: 0px;
  191. background-color: #bc0202;
  192. width: 100%;
  193. height:20px;
  194. text-align: center;
  195. padding:5px 0;
  196. font-size:14px;
  197. color: #fefefe;
  198. }
  199. </style>
  200. <?php }
  201. }
  202. function osc_meta_generator() {
  203. echo '<meta name="generator" content="OSClass ' . OSCLASS_VERSION . '" />';
  204. }
  205. osc_add_hook("header", "osc_show_maintenance");
  206. osc_add_hook("header", "osc_show_maintenance_css");
  207. osc_add_hook("header", "osc_meta_generator");
  208. /* file end: ./oc-load.php */
  209. ?>