| 1 | <?php | 
|---|
| 2 | # -- BEGIN LICENSE BLOCK --------------------------------------- | 
|---|
| 3 | # | 
|---|
| 4 | # This file is part of Dotclear 2. | 
|---|
| 5 | # | 
|---|
| 6 | # Copyright (c) 2003-2010 Olivier Meunier & Association Dotclear | 
|---|
| 7 | # Licensed under the GPL version 2.0 license. | 
|---|
| 8 | # See LICENSE file or | 
|---|
| 9 | # http://www.gnu.org/licenses/old-licenses/gpl-2.0.html | 
|---|
| 10 | # | 
|---|
| 11 | # -- END LICENSE BLOCK ----------------------------------------- | 
|---|
| 12 |  | 
|---|
| 13 | if (!empty($_GET['pf'])) { | 
|---|
| 14 |      require dirname(__FILE__).'/../load_plugin_file.php'; | 
|---|
| 15 |      exit; | 
|---|
| 16 | } | 
|---|
| 17 |  | 
|---|
| 18 | if (!isset($_SERVER['PATH_INFO'])) { | 
|---|
| 19 |      $_SERVER['PATH_INFO'] = ''; | 
|---|
| 20 | } | 
|---|
| 21 |  | 
|---|
| 22 | require_once dirname(__FILE__).'/../prepend.php'; | 
|---|
| 23 | require_once dirname(__FILE__).'/rs.extension.php'; | 
|---|
| 24 |  | 
|---|
| 25 | # Loading blog | 
|---|
| 26 | if (defined('DC_BLOG_ID')) { | 
|---|
| 27 |      try { | 
|---|
| 28 |           $core->setBlog(DC_BLOG_ID); | 
|---|
| 29 |      } catch (Exception $e) { | 
|---|
| 30 |           init_prepend_l10n(); | 
|---|
| 31 |           __error(__('Database problem') | 
|---|
| 32 |                ,DC_DEBUG ? | 
|---|
| 33 |                     __('The following error was encountered while trying to read the database:').'</p><ul><li>'.$e->getMessage().'</li></ul>' : | 
|---|
| 34 |                     __('Something went wrong while trying to read the database.') | 
|---|
| 35 |                ,20); | 
|---|
| 36 |      } | 
|---|
| 37 | } | 
|---|
| 38 |  | 
|---|
| 39 | if ($core->blog->id == null) { | 
|---|
| 40 |      __error(__('Blog is not defined.') | 
|---|
| 41 |           ,__('Did you change your Blog ID?') | 
|---|
| 42 |           ,30); | 
|---|
| 43 | } | 
|---|
| 44 |  | 
|---|
| 45 | if ((boolean)!$core->blog->status) { | 
|---|
| 46 |      $core->unsetBlog(); | 
|---|
| 47 |      __error(__('Blog is offline.') | 
|---|
| 48 |           ,__('This blog is offline. Please try again later.') | 
|---|
| 49 |           ,70); | 
|---|
| 50 | } | 
|---|
| 51 |  | 
|---|
| 52 | # Loading media | 
|---|
| 53 | try { | 
|---|
| 54 |      $core->media = new dcMedia($core); | 
|---|
| 55 | } catch (Exception $e) {} | 
|---|
| 56 |  | 
|---|
| 57 | # Creating template context | 
|---|
| 58 | $_ctx = new context(); | 
|---|
| 59 | try { | 
|---|
| 60 |      $core->tpl = new dcTemplate(DC_TPL_CACHE,'$core->tpl',$core); | 
|---|
| 61 | } catch (Exception $e) { | 
|---|
| 62 |      __error(__('Can\'t create template files.') | 
|---|
| 63 |           ,$e->getMessage() | 
|---|
| 64 |           ,40); | 
|---|
| 65 | } | 
|---|
| 66 |  | 
|---|
| 67 | # Loading locales | 
|---|
| 68 | $_lang = $core->blog->settings->system->lang; | 
|---|
| 69 | $_lang = preg_match('/^[a-z]{2}(-[a-z]{2})?$/',$_lang) ? $_lang : 'en'; | 
|---|
| 70 |  | 
|---|
| 71 | if (l10n::set(dirname(__FILE__).'/../../locales/'.$_lang.'/date') === false && $_lang != 'en') { | 
|---|
| 72 |      l10n::set(dirname(__FILE__).'/../../locales/en/date'); | 
|---|
| 73 | } | 
|---|
| 74 | l10n::set(dirname(__FILE__).'/../../locales/'.$_lang.'/public'); | 
|---|
| 75 | l10n::set(dirname(__FILE__).'/../../locales/'.$_lang.'/plugins'); | 
|---|
| 76 |  | 
|---|
| 77 | # Loading plugins | 
|---|
| 78 | try { | 
|---|
| 79 |      $core->plugins->loadModules(DC_PLUGINS_ROOT,'public',$_lang); | 
|---|
| 80 | } catch (Exception $e) {} | 
|---|
| 81 |  | 
|---|
| 82 | # Loading themes | 
|---|
| 83 | $core->themes = new dcThemes($core); | 
|---|
| 84 | $core->themes->loadModules($core->blog->themes_path); | 
|---|
| 85 |  | 
|---|
| 86 | # Defining theme if not defined | 
|---|
| 87 | if (!isset($__theme)) { | 
|---|
| 88 |      $__theme = $core->blog->settings->system->theme; | 
|---|
| 89 | } | 
|---|
| 90 |  | 
|---|
| 91 | if (!$core->themes->moduleExists($__theme)) { | 
|---|
| 92 |      $__theme = $core->blog->settings->system->theme = 'default'; | 
|---|
| 93 | } | 
|---|
| 94 |  | 
|---|
| 95 | $__parent_theme = $core->themes->moduleInfo($__theme,'parent'); | 
|---|
| 96 | if ($__parent_theme) { | 
|---|
| 97 |      if (!$core->themes->moduleExists($__parent_theme)) { | 
|---|
| 98 |           $__theme = $core->blog->settings->system->theme = 'default'; | 
|---|
| 99 |           $__parent_theme = null; | 
|---|
| 100 |      } | 
|---|
| 101 | } | 
|---|
| 102 |       | 
|---|
| 103 | # If theme doesn't exist, stop everything | 
|---|
| 104 | if (!$core->themes->moduleExists($__theme)) { | 
|---|
| 105 |      __error(__('Default theme not found.') | 
|---|
| 106 |           ,__('This either means you removed your default theme or set a wrong theme '. | 
|---|
| 107 |           'path in your blog configuration. Please check theme_path value in '. | 
|---|
| 108 |           'about:config module or reinstall default theme. ('.$__theme.')') | 
|---|
| 109 |           ,50); | 
|---|
| 110 | } | 
|---|
| 111 |  | 
|---|
| 112 | # Loading _public.php file for selected theme | 
|---|
| 113 | $core->themes->loadNsFile($__theme,'public'); | 
|---|
| 114 |  | 
|---|
| 115 | # --BEHAVIOR-- publicPrepend | 
|---|
| 116 | $core->callBehavior('publicPrepend',$core); | 
|---|
| 117 |  | 
|---|
| 118 | # Prepare the HTTP cache thing | 
|---|
| 119 | $mod_files = get_included_files(); | 
|---|
| 120 | $mod_ts = array(); | 
|---|
| 121 | $mod_ts[] = $core->blog->upddt; | 
|---|
| 122 |  | 
|---|
| 123 | $__theme_tpl_path = array( | 
|---|
| 124 |      $core->blog->themes_path.'/'.$__theme.'/tpl' | 
|---|
| 125 | ); | 
|---|
| 126 | if ($__parent_theme) { | 
|---|
| 127 |      $__theme_tpl_path[] = $core->blog->themes_path.'/'.$__parent_theme.'/tpl'; | 
|---|
| 128 | } | 
|---|
| 129 |  | 
|---|
| 130 | $core->tpl->setPath( | 
|---|
| 131 |      $__theme_tpl_path, | 
|---|
| 132 |      dirname(__FILE__).'/default-templates', | 
|---|
| 133 |      $core->tpl->getPath()); | 
|---|
| 134 |  | 
|---|
| 135 | $core->url->mode = $core->blog->settings->system->url_scan; | 
|---|
| 136 |  | 
|---|
| 137 | try { | 
|---|
| 138 |      # --BEHAVIOR-- publicBeforeDocument | 
|---|
| 139 |      $core->callBehavior('publicBeforeDocument',$core); | 
|---|
| 140 |       | 
|---|
| 141 |      $core->url->getDocument(); | 
|---|
| 142 |       | 
|---|
| 143 |      # --BEHAVIOR-- publicAfterDocument | 
|---|
| 144 |      $core->callBehavior('publicAfterDocument',$core); | 
|---|
| 145 | } catch (Exception $e) { | 
|---|
| 146 |      __error($e->getMessage() | 
|---|
| 147 |           ,__('Something went wrong while loading template file for your blog.') | 
|---|
| 148 |           ,60); | 
|---|
| 149 | } | 
|---|
| 150 | ?> | 
|---|