Dotclear

source: inc/public/prepend.php @ 1315:220e119ae6c8

Revision 1315:220e119ae6c8, 4.1 KB checked in by Dsls, 12 years ago (diff)

Merge with default

Line 
1<?php
2# -- BEGIN LICENSE BLOCK ---------------------------------------
3#
4# This file is part of Dotclear 2.
5#
6# Copyright (c) 2003-2013 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
13if (!empty($_GET['pf'])) {
14     require dirname(__FILE__).'/../load_plugin_file.php';
15     exit;
16}
17
18if (!isset($_SERVER['PATH_INFO'])) {
19     $_SERVER['PATH_INFO'] = '';
20}
21
22require_once dirname(__FILE__).'/../prepend.php';
23require_once dirname(__FILE__).'/rs.extension.php';
24
25# Loading blog
26if (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               ,620);
36     }
37}
38
39if ($core->blog->id == null) {
40     __error(__('Blog is not defined.')
41          ,__('Did you change your Blog ID?')
42          ,630);
43}
44
45if ((boolean)!$core->blog->status) {
46     $core->unsetBlog();
47     __error(__('Blog is offline.')
48          ,__('This blog is offline. Please try again later.')
49          ,670);
50}
51
52# Loading media
53try {
54     $core->media = new dcMedia($core);
55} catch (Exception $e) {}
56
57# Creating template context
58$_ctx = new context();
59try {
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          ,640);
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
71if (l10n::set(dirname(__FILE__).'/../../locales/'.$_lang.'/date') === false && $_lang != 'en') {
72     l10n::set(dirname(__FILE__).'/../../locales/en/date');
73}
74l10n::set(dirname(__FILE__).'/../../locales/'.$_lang.'/public');
75l10n::set(dirname(__FILE__).'/../../locales/'.$_lang.'/plugins');
76
77# Loading plugins
78try {
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
87if (!isset($__theme)) {
88     $__theme = $core->blog->settings->system->theme;
89}
90
91if (!$core->themes->moduleExists($__theme)) {
92     $__theme = $core->blog->settings->system->theme = 'default';
93}
94
95$__parent_theme = $core->themes->moduleInfo($__theme,'parent');
96if ($__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
104if (!$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          ,650);
110}
111
112# Loading _public.php file for selected theme
113$core->themes->loadNsFile($__theme,'public');
114
115# Loading translations for selected theme
116if ($__parent_theme) {
117     $core->themes->loadModuleL10N($__parent_theme,$_lang,'main');
118}
119$core->themes->loadModuleL10N($__theme,$_lang,'main');
120
121# --BEHAVIOR-- publicPrepend
122$core->callBehavior('publicPrepend',$core);
123
124# Prepare the HTTP cache thing
125$mod_files = get_included_files();
126$mod_ts = array();
127$mod_ts[] = $core->blog->upddt;
128
129$__theme_tpl_path = array(
130     $core->blog->themes_path.'/'.$__theme.'/tpl'
131);
132if ($__parent_theme) {
133     $__theme_tpl_path[] = $core->blog->themes_path.'/'.$__parent_theme.'/tpl';
134}
135
136$core->tpl->setPath(
137     $__theme_tpl_path,
138     dirname(__FILE__).'/default-templates',
139     $core->tpl->getPath());
140
141$core->url->mode = $core->blog->settings->system->url_scan;
142
143try {
144     # --BEHAVIOR-- publicBeforeDocument
145     $core->callBehavior('publicBeforeDocument',$core);
146     
147     $core->url->getDocument();
148     
149     # --BEHAVIOR-- publicAfterDocument
150     $core->callBehavior('publicAfterDocument',$core);
151} catch (Exception $e) {
152     __error($e->getMessage()
153          ,__('Something went wrong while loading template file for your blog.')
154          ,660);
155}
156?>
Note: See TracBrowser for help on using the repository browser.

Sites map