Dotclear

source: inc/public/prepend.php @ 0:54703be25dd6

Revision 0:54703be25dd6, 3.9 KB checked in by Dsls <dsls@…>, 14 years ago (diff)

2.3 branch (trunk) first checkin

Line 
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
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               ,20);
36     }
37}
38
39if ($core->blog->id == null) {
40     __error(__('Blog is not defined.')
41          ,__('Did you change your Blog ID?')
42          ,30);
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          ,70);
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          ,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
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          ,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);
126if ($__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
137try {
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?>
Note: See TracBrowser for help on using the repository browser.

Sites map