From 80e7b0d7d17b0e9581fa56be484b8772d82261de Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Wed, 18 Nov 2009 11:19:42 -0500
Subject: [PATCH] Added code to delete old remote sessions.
---
interface/lib/app.inc.php | 70 +++++++++++++++++++++++++---------
1 files changed, 51 insertions(+), 19 deletions(-)
diff --git a/interface/lib/app.inc.php b/interface/lib/app.inc.php
index d4e69cc..e70922a 100644
--- a/interface/lib/app.inc.php
+++ b/interface/lib/app.inc.php
@@ -1,7 +1,7 @@
<?php
/*
-Copyright (c) 2007, Till Brehm, projektfarm Gmbh
+Copyright (c) 2007 - 2009, Till Brehm, projektfarm Gmbh
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
@@ -44,6 +44,11 @@
public function __construct()
{
global $conf;
+
+ if (isset($_REQUEST['GLOBALS']) || isset($_FILES['GLOBALS']) || isset($_REQUEST['s']) || isset($_REQUEST['s_old']) || isset($_REQUEST['conf'])) {
+ die('Internal Error: var override attempt detected');
+ }
+
$this->_conf = $conf;
if($this->_conf['start_db'] == true) {
$this->load('db_'.$this->_conf['db_type']);
@@ -114,21 +119,25 @@
//$this->uses("error");
//$this->error->message($msg, $priority);
if($stop == true){
- $msg = '<html>
+ $msg = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Error</title>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<link href="../themes/default/style.css" rel="stylesheet" type="text/css">
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<link href="../themes/default/css/central.css" rel="stylesheet" type="text/css" />
</head>
<body>
-<br /><br /><br />
-<table width="100%" border="0" cellspacing="0" cellpadding="2">
-<tr>
-<td class="error"><b>Error:</b><br>'.$msg;
- if($next_link != '') $msg .= '<a href="'.$next_link.'">Next</a><br>';
- $msg .= '</td>
-</tr>
-</table>
+<div class="uniForm">
+ <div id="errorMsg">
+ <h3>Error</h3>
+ <ol>
+ <li>'.$msg;
+ if($next_link != '') $msg .= '<a href="'.$next_link.'">Next</a>';
+ $msg .= '</li>
+ </ol>
+ </div>
+</div>
</body>
</html>';
die($msg);
@@ -138,15 +147,18 @@
}
}
- /** Loads language */
+ /** Translates strings in current language */
public function lng($text)
{
if($this->_language_inc != 1) {
- //* loading global and module Wordbook
- // TODO: this need to be made clearer somehow - pedro
- @include_once(ISPC_ROOT_PATH.'/lib/lang/'.$_SESSION['s']['language'].'.lng');
- @include_once(ISPC_ROOT_PATH.'/web/'.$_SESSION['s']['module']['name'].'/lib/lang/'.$_SESSION['s']['language'].'.lng');
- $this->_wb = $wb;
+ //* loading global Wordbook
+ $this->load_language_file('/lib/lang/'.$_SESSION['s']['language'].'.lng');
+ //* Load module wordbook, if it exists
+ if(isset($_SESSION['s']['module']['name']) && isset($_SESSION['s']['language'])) {
+ $lng_file = '/web/'.$_SESSION['s']['module']['name'].'/lib/lang/'.$_SESSION['s']['language'].'.lng';
+ if(!file_exists(ISPC_ROOT_PATH.$lng_file)) $lng_file = '/web/'.$_SESSION['s']['module']['name'].'/lib/lang/en.lng';
+ $this->load_language_file($lng_file);
+ }
$this->_language_inc = 1;
}
if(!empty($this->_wb[$text])) {
@@ -154,11 +166,31 @@
}
return $text;
}
+
+ //** Helper function to load the language files.
+ public function load_language_file($filename) {
+ $filename = ISPC_ROOT_PATH.'/'.$filename;
+ if(substr($filename,-4) != '.lng') $this->error('Language file has wrong extension.');
+ if(file_exists($filename)) {
+ @include_once($filename);
+ if(is_array($wb)) {
+ if(is_array($this->_wb)) {
+ $this->_wb = array_merge($wb,$this->_wb);
+ } else {
+ $this->_wb = $wb;
+ }
+ }
+ }
+ }
public function tpl_defaults()
{
$this->tpl->setVar('app_title', $this->_conf['app_title']);
- $this->tpl->setVar('app_version', $this->_conf['app_version']);
+ if(isset($_SESSION['s']['user'])) {
+ $this->tpl->setVar('app_version', $this->_conf['app_version']);
+ } else {
+ $this->tpl->setVar('app_version', '');
+ }
$this->tpl->setVar('app_link', $this->_conf['app_link']);
if(isset($this->_conf['app_logo']) && $this->_conf['app_logo'] != '' && @is_file($this->_conf['app_logo'])){
$this->tpl->setVar('app_logo', '<img src="'.$this->_conf['app_logo'].'">');
--
Gitblit v1.9.1