57 |
57 |
parent::__construct(SecureForm::BACKEND);
|
58 |
58 |
if( $section_name != '##skip##' )
|
59 |
59 |
{
|
60 |
|
global $database, $MESSAGE, $TEXT;
|
|
60 |
global $database;
|
61 |
61 |
// Specify the current applications name
|
62 |
62 |
$this->section_name = $section_name;
|
63 |
63 |
$this->section_permission = $section_permission;
|
... | ... | |
84 |
84 |
$oTpl->set_file( 'page', 'ErrorMsgFile.htt' );
|
85 |
85 |
$oTpl->set_var( 'THEME_URL', THEME_URL );
|
86 |
86 |
$oTpl->set_var( 'PAGE_ICON', 'negative');
|
87 |
|
$oTpl->set_var( 'ERROR_TITLE', $MESSAGE['MEDIA_DIR_ACCESS_DENIED']);
|
88 |
|
$oTpl->set_var( 'PAGE_TITLE', $MESSAGE['ADMIN_INSUFFICIENT_PRIVELLIGES'] );
|
|
87 |
$oTpl->set_var( 'ERROR_TITLE', $this->_oTrans->MESSAGE_MEDIA_DIR_ACCESS_DENIED);
|
|
88 |
$oTpl->set_var( 'PAGE_TITLE', $this->_oTrans->MESSAGE_ADMIN_INSUFFICIENT_PRIVELLIGES);
|
89 |
89 |
$oTpl->set_var( 'BACK_LINK', $sBackLink );
|
90 |
|
$oTpl->set_var( 'TEXT_BACK', $TEXT['BACK'] );
|
|
90 |
$oTpl->set_var( 'TEXT_BACK', $this->_oTrans->TEXT_BACK);
|
91 |
91 |
$output = $oTpl->finish($oTpl->parse('output', 'page'));
|
92 |
92 |
}
|
93 |
93 |
throw new ErrorMsgException($output);
|
... | ... | |
101 |
101 |
}
|
102 |
102 |
|
103 |
103 |
// Check if the backend language is also the selected language. If not, send headers again.
|
104 |
|
$sql = 'SELECT `language` FROM `'.TABLE_PREFIX.'users` ';
|
105 |
|
$sql .= 'WHERE `user_id`='.(int)$this->get_user_id();
|
106 |
|
$get_user_language = @$database->query($sql);
|
107 |
|
$user_language = ($get_user_language) ? $get_user_language->fetchRow() : '';
|
108 |
|
// prevent infinite loop if language file is not XX.php (e.g. DE_du.php)
|
109 |
|
$user_language = substr($user_language[0],0,2);
|
|
104 |
$sql = 'SELECT `language` FROM `'.$this->_oDb->TablePrefix.'users` '
|
|
105 |
. 'WHERE `user_id`='.(int)$this->get_user_id();
|
|
106 |
$user_language = preg_replace('/([a-z]{2}).*/i', '\1', strtoupper((string)$this->_oDb->getOne($sql)));
|
110 |
107 |
// obtain the admin folder (e.g. /admin)
|
111 |
108 |
$admin_folder = str_replace(WB_PATH, '', ADMIN_PATH);
|
112 |
109 |
|
... | ... | |
139 |
136 |
*/
|
140 |
137 |
function print_header($body_tags = '')
|
141 |
138 |
{
|
142 |
|
// Get vars from the language file
|
143 |
|
global $MENU, $MESSAGE, $TEXT;
|
144 |
|
// Connect to database and get website title
|
145 |
|
global $database;
|
146 |
139 |
// $GLOBALS['FTAN'] = $this->getFTAN();
|
147 |
140 |
$this->createFTAN();
|
148 |
|
$sql = 'SELECT `value` FROM `'.TABLE_PREFIX.'settings` WHERE `name`=\'website_title\'';
|
149 |
|
$get_title = $database->query($sql);
|
150 |
|
$title = $get_title->fetchRow();
|
|
141 |
$sql = 'SELECT `value` FROM `'.$this->_oDb->TablePrefix.'settings` '
|
|
142 |
. 'WHERE `name`=\'website_title\'';
|
|
143 |
$title = (string)$this->_oDb->getOne($sql);
|
151 |
144 |
// Setup template object, parse vars to it, then parse it
|
152 |
145 |
$header_template = new Template(dirname($this->correct_theme_source('header.htt')) );
|
153 |
146 |
$header_template->set_file('page', 'header.htt');
|
154 |
147 |
$header_template->set_block('page', 'header_block', 'header');
|
|
148 |
$this->_oTrans->enableAddon('templates\\'.$this->_oReg->DefaultTheme);
|
|
149 |
$header_template->set_var($this->_oTrans->getLangArray());
|
155 |
150 |
if(defined('DEFAULT_CHARSET')) {
|
156 |
151 |
$charset=DEFAULT_CHARSET;
|
157 |
152 |
} else {
|
... | ... | |
163 |
158 |
$view_url = WB_URL;
|
164 |
159 |
if(isset($_GET['page_id'])) {
|
165 |
160 |
// extract page link from the database
|
166 |
|
$sql = 'SELECT `link` FROM `'.TABLE_PREFIX.'pages` ';
|
167 |
|
$sql .= 'WHERE `page_id`='.intval($_GET['page_id']);
|
168 |
|
$result = @$database->query($sql);
|
169 |
|
$row = @$result->fetchRow();
|
170 |
|
if($row) $view_url .= PAGES_DIRECTORY .$row['link']. PAGE_EXTENSION;
|
|
161 |
$sql = 'SELECT `link` FROM `'.$this->_oDb->TablePrefix.'pages` '
|
|
162 |
. 'WHERE `page_id`='.intval($_GET['page_id']);
|
|
163 |
$row = (string)$this->_oDb->getOne($sql);
|
|
164 |
if ($row) { $view_url .= PAGES_DIRECTORY .$row. PAGE_EXTENSION; }
|
171 |
165 |
}
|
172 |
166 |
|
173 |
167 |
$HelpUrl = ((strtolower(LANGUAGE)!='de') ? '/en/help.php' : '/de/hilfe.php');
|
174 |
168 |
$sServerAdress = isset($_SERVER['SERVER_ADDR']) ? $_SERVER['SERVER_ADDR'] : '127.0.0.1';
|
175 |
169 |
$header_template->set_var( array(
|
176 |
|
'SECTION_FORGOT' => $MENU['FORGOT'],
|
177 |
|
'SECTION_NAME' => $MENU['LOGIN'],
|
|
170 |
'SECTION_FORGOT' => $this->_oTrans->MENU_FORGOT,
|
|
171 |
'SECTION_NAME' => $this->_oTrans->MENU_LOGIN,
|
178 |
172 |
'BODY_TAGS' => $body_tags,
|
179 |
|
'WEBSITE_TITLE' => ($title['value']),
|
180 |
|
'TEXT_ADMINISTRATION' => $TEXT['ADMINISTRATION'],
|
181 |
|
'CURRENT_USER' => $MESSAGE['START_CURRENT_USER'],
|
|
173 |
'WEBSITE_TITLE' => $title,
|
|
174 |
'TEXT_ADMINISTRATION' => $this->_oTrans->TEXT_ADMINISTRATION,
|
|
175 |
'CURRENT_USER' => $this->_oTrans->MESSAGE_START_CURRENT_USER,
|
182 |
176 |
'DISPLAY_NAME' => $this->get_display_name(),
|
183 |
177 |
'CHARSET' => $charset,
|
184 |
178 |
//'LANGUAGE' => strtolower(LANGUAGE),
|
... | ... | |
192 |
186 |
'THEME_URL' => THEME_URL,
|
193 |
187 |
'START_URL' => ADMIN_URL.'/index.php',
|
194 |
188 |
'START_CLASS' => 'start',
|
195 |
|
'TITLE_START' => $TEXT['READ_MORE'],
|
196 |
|
'TITLE_VIEW' => $TEXT['WEBSITE'],
|
197 |
|
'TITLE_HELP' => 'WebsiteBaker '.$MENU['HELP'],
|
|
189 |
'TITLE_START' => $this->_oTrans->TEXT_READ_MORE,
|
|
190 |
'TITLE_VIEW' => $this->_oTrans->TEXT_WEBSITE,
|
|
191 |
'TITLE_HELP' => 'WebsiteBaker '.$this->_oTrans->MENU_HELP,
|
198 |
192 |
'URL_VIEW' => $view_url,
|
199 |
|
'TITLE_LOGOUT' => $MENU['LOGIN'],
|
|
193 |
'TITLE_LOGOUT' => $this->_oTrans->MENU_LOGIN,
|
200 |
194 |
'LOGIN_DISPLAY_HIDDEN' => !$this->is_authenticated() ? 'hidden' : '',
|
201 |
195 |
'LOGIN_DISPLAY_NONE' => !$this->is_authenticated() ? 'none' : '',
|
202 |
196 |
'LOGIN_LINK' => $_SERVER['SCRIPT_NAME'],
|
... | ... | |
211 |
205 |
if($this->get_user_id() == 1)
|
212 |
206 |
{
|
213 |
207 |
$sys_locked = (((int)(defined('SYSTEM_LOCKED') ? SYSTEM_LOCKED : 0)) == 1);
|
214 |
|
$header_template->set_var('MAINTENANCE_MODE', ($sys_locked ? $TEXT['MAINTENANCE_OFF'] : $TEXT['MAINTENANCE_ON']));
|
|
208 |
$header_template->set_var('MAINTENANCE_MODE', ($sys_locked ? $this->_oTrans->TEXT_MAINTENANCE_OFF : $this->_oTrans->TEXT_MAINTENANCE_ON));
|
215 |
209 |
$header_template->set_var('MAINTENANCE_ICON', THEME_URL.'/images/'.($sys_locked ? 'lock' : 'unlock').'.png');
|
216 |
210 |
$header_template->set_var('MAINTAINANCE_URL', ADMIN_URL.'/settings/locking.php');
|
217 |
211 |
$header_template->parse('maintenance', 'maintenance_block', true);
|
... | ... | |
233 |
227 |
} else {
|
234 |
228 |
$header_template->set_var('STYLE', 'start');
|
235 |
229 |
$header_template->set_var( array(
|
236 |
|
'SECTION_NAME' => $MENU[strtoupper($this->section_name)],
|
237 |
|
'TITLE_LOGOUT' => $MENU['LOGOUT'],
|
|
230 |
'SECTION_NAME' => $this->_oTrans->{'MENU'.strtoupper($this->section_name)},
|
|
231 |
'TITLE_LOGOUT' => $this->_oTrans->MENU_LOGOUT,
|
238 |
232 |
'LOGIN_DISPLAY_NONE' => '',
|
239 |
233 |
'START_ICON' => 'home',
|
240 |
234 |
'LOGIN_ICON' => 'logout',
|
241 |
235 |
'LOGIN_LINK' => ADMIN_URL.'/logout/index.php',
|
242 |
|
'TITLE_START' => $MENU['START']
|
|
236 |
'TITLE_START' => $this->_oTrans->MENU_START
|
243 |
237 |
)
|
244 |
238 |
);
|
245 |
239 |
|
246 |
240 |
// @array ( $url, $target, $title, $page_permission, $permission_required )
|
247 |
241 |
$menu = array(
|
248 |
242 |
// array(ADMIN_URL.'/index.php', '', $MENU['START'], 'start', 1 ),
|
249 |
|
array(ADMIN_URL.'/pages/index.php', '', $MENU['PAGES'], 'pages', 1),
|
|
243 |
array(ADMIN_URL.'/pages/index.php', '', $this->_oTrans->MENU_PAGES, 'pages', 1),
|
250 |
244 |
// array($view_url, '_blank', $MENU['FRONTEND'], 'pages', 1),
|
251 |
|
array(ADMIN_URL.'/media/index.php', '', $MENU['MEDIA'], 'media', 1),
|
252 |
|
array(ADMIN_URL.'/addons/index.php', '', $MENU['ADDONS'], 'addons', 1),
|
253 |
|
array(ADMIN_URL.'/preferences/index.php', '', $MENU['PREFERENCES'], 'preferences', 1),
|
254 |
|
array(ADMIN_URL.'/settings/index.php', '', $MENU['SETTINGS'], 'settings', 1),
|
255 |
|
array(ADMIN_URL.'/admintools/index.php', '', $MENU['ADMINTOOLS'], 'admintools', 1),
|
256 |
|
array(ADMIN_URL.'/access/index.php', '', $MENU['ACCESS'], 'access', 1),
|
|
245 |
array(ADMIN_URL.'/media/index.php', '', $this->_oTrans->MENU_MEDIA, 'media', 1),
|
|
246 |
array(ADMIN_URL.'/addons/index.php', '', $this->_oTrans->MENU_ADDONS, 'addons', 1),
|
|
247 |
array(ADMIN_URL.'/preferences/index.php', '', $this->_oTrans->MENU_PREFERENCES, 'preferences', 1),
|
|
248 |
array(ADMIN_URL.'/settings/index.php', '', $this->_oTrans->MENU_SETTINGS, 'settings', 1),
|
|
249 |
array(ADMIN_URL.'/admintools/index.php', '', $this->_oTrans->MENU_ADMINTOOLS, 'admintools', 1),
|
|
250 |
array(ADMIN_URL.'/access/index.php', '', $this->_oTrans->MENU_ACCESS, 'access', 1),
|
257 |
251 |
// array('http://addons.websitebaker2.org/', '', 'WB-Addons', 'preferences', 1),
|
258 |
252 |
// array('http://template.websitebaker2.org/', '', 'WB-Template', 'preferences', 1),
|
259 |
253 |
// array('http://www.websitebaker.org/', '_blank', 'WebsiteBaker Home', '', 0),
|
... | ... | |
289 |
283 |
$header_template->parse('header', 'header_block', false);
|
290 |
284 |
$header_template->pparse('output', 'page');
|
291 |
285 |
unset($header_template);
|
|
286 |
$this->_oTrans->disableAddon();
|
292 |
287 |
}
|
293 |
288 |
|
294 |
289 |
// Print the admin footer
|
295 |
|
function print_footer($activateJsAdmin = false) {
|
296 |
|
global $database,$starttime,$iPhpDeclaredClasses;
|
297 |
|
$oTrans = Translate::getInstance();
|
298 |
|
$oTrans->disableAddon();
|
|
290 |
function print_footer($activateJsAdmin = false) {
|
|
291 |
global $starttime, $iPhpDeclaredClasses;
|
299 |
292 |
// include the required file for Javascript admin
|
300 |
293 |
if($activateJsAdmin == true) {
|
301 |
294 |
if(file_exists(WB_PATH.'/modules/jsadmin/jsadmin_backend_include.php')){
|
302 |
295 |
@include_once(WB_PATH.'/modules/jsadmin/jsadmin_backend_include.php');
|
303 |
296 |
}
|
304 |
297 |
}
|
305 |
|
|
306 |
298 |
// Setup template object, parse vars to it, then parse it
|
307 |
299 |
$footer_template = new Template(dirname($this->correct_theme_source('footer.htt')));
|
308 |
300 |
$footer_template->set_file('page', 'footer.htt');
|
309 |
301 |
$footer_template->set_block('page', 'footer_block', 'header');
|
|
302 |
$this->_oTrans->enableAddon('templates\\'.$this->_oReg->DefaultTheme);
|
|
303 |
$footer_template->set_var($this->_oTrans->getLangArray());
|
310 |
304 |
$footer_template->set_var(array(
|
311 |
305 |
'BACKEND_BODY_MODULE_JS' => $this->register_backend_modfiles_body('js'),
|
312 |
306 |
'WB_URL' => WB_URL,
|
... | ... | |
324 |
318 |
|
325 |
319 |
$footer_template->set_var('MEMORY', number_format(memory_get_peak_usage(true), 0, ',', '.').' Byte' );
|
326 |
320 |
// $footer_template->set_var('MEMORY', number_format(memory_get_usage(true), 0, ',', '.').' Byte' );
|
327 |
|
$footer_template->set_var('QUERIES', $database->getQueryCount );
|
|
321 |
$footer_template->set_var('QUERIES', $this->_oDb->getQueryCount );
|
328 |
322 |
// $footer_template->set_var('QUERIES', 'disabled' );
|
329 |
323 |
$included_files = get_included_files();
|
330 |
324 |
$footer_template->set_var('INCLUDES', sizeof($included_files) );
|
... | ... | |
374 |
368 |
$footer_template->parse('header', 'footer_block', false);
|
375 |
369 |
$footer_template->pparse('output', 'page');
|
376 |
370 |
unset($footer_template);
|
|
371 |
|
377 |
372 |
}
|
378 |
373 |
|
379 |
374 |
// Return a system permission
|
! admin::print_header() now provides all translations in theme::header.htt and accepts language files in theme
! admin::print_footer() now provides all translations in theme::footer.htt and accepts language files in theme