Dotclear

source: inc/public/prepend.php @ 2567:6c11245cbf04

Revision 2567:6c11245cbf04, 4.4 KB checked in by franck <carnet.franck.paul@…>, 12 years ago (diff)

Merge from 2.6

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
71l10n::lang($_lang);
72if (l10n::set(dirname(__FILE__).'/../../locales/'.$_lang.'/date') === false && $_lang != 'en') {
73     l10n::set(dirname(__FILE__).'/../../locales/en/date');
74}
75l10n::set(dirname(__FILE__).'/../../locales/'.$_lang.'/public');
76l10n::set(dirname(__FILE__).'/../../locales/'.$_lang.'/plugins');
77
78# Loading plugins
79try {
80     $core->plugins->loadModules(DC_PLUGINS_ROOT,'public',$_lang);
81} catch (Exception $e) {}
82
83# Loading themes
84$core->themes = new dcThemes($core);
85$core->themes->loadModules($core->blog->themes_path);
86
87# Defining theme if not defined
88if (!isset($__theme)) {
89     $__theme = $core->blog->settings->system->theme;
90}
91
92if (!$core->themes->moduleExists($__theme)) {
93     $__theme = $core->blog->settings->system->theme = 'default';
94}
95
96$__parent_theme = $core->themes->moduleInfo($__theme,'parent');
97if ($__parent_theme) {
98     if (!$core->themes->moduleExists($__parent_theme)) {
99          $__theme = $core->blog->settings->system->theme = 'default';
100          $__parent_theme = null;
101     }
102}
103
104# If theme doesn't exist, stop everything
105if (!$core->themes->moduleExists($__theme)) {
106     __error(__('Default theme not found.')
107          ,__('This either means you removed your default theme or set a wrong theme '.
108          'path in your blog configuration. Please check theme_path value in '.
109          'about:config module or reinstall default theme. ('.$__theme.')')
110          ,650);
111}
112
113# Loading _public.php file for selected theme
114$core->themes->loadNsFile($__theme,'public');
115
116# Loading translations for selected theme
117if ($__parent_theme) {
118     $core->themes->loadModuleL10N($__parent_theme,$_lang,'main');
119}
120$core->themes->loadModuleL10N($__theme,$_lang,'main');
121
122# --BEHAVIOR-- publicPrepend
123$core->callBehavior('publicPrepend',$core);
124
125# Prepare the HTTP cache thing
126$mod_files = get_included_files();
127$mod_ts = array();
128$mod_ts[] = $core->blog->upddt;
129
130$__theme_tpl_path = array(
131     $core->blog->themes_path.'/'.$__theme.'/tpl'
132);
133if ($__parent_theme) {
134     $__theme_tpl_path[] = $core->blog->themes_path.'/'.$__parent_theme.'/tpl';
135}
136$tplset = $core->themes->moduleInfo($core->blog->settings->system->theme,'tplset');
137if (!empty($tplset) && is_dir(dirname(__FILE__).'/default-templates/'.$tplset)) {
138     $core->tpl->setPath(
139          $__theme_tpl_path,
140          dirname(__FILE__).'/default-templates/'.$tplset,
141          $core->tpl->getPath());
142} else {
143     $core->tpl->setPath(
144          $__theme_tpl_path,
145          $core->tpl->getPath());
146}
147$core->url->mode = $core->blog->settings->system->url_scan;
148
149try {
150     # --BEHAVIOR-- publicBeforeDocument
151     $core->callBehavior('publicBeforeDocument',$core);
152
153     $core->url->getDocument();
154
155     # --BEHAVIOR-- publicAfterDocument
156     $core->callBehavior('publicAfterDocument',$core);
157} catch (Exception $e) {
158     __error($e->getMessage()
159          ,__('Something went wrong while loading template file for your blog.')
160          ,660);
161}
Note: See TracBrowser for help on using the repository browser.

Sites map