From e253202995d188925fa4e9df4f6dea0523511eae Mon Sep 17 00:00:00 2001
From: oilyflutesalad <oilyflutesalad@ispconfig3>
Date: Mon, 18 Jan 2010 05:56:48 -0500
Subject: [PATCH] Fixed: FS#928 - System Load Averages should no longer show as zero on non-english linux distros

---
 interface/lib/app.inc.php |   39 +++++++++++++++++++++++++++++----------
 1 files changed, 29 insertions(+), 10 deletions(-)

diff --git a/interface/lib/app.inc.php b/interface/lib/app.inc.php
index f1ecdbc..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,
@@ -147,19 +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');
+			//* 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 = ISPC_ROOT_PATH.'/web/'.$_SESSION['s']['module']['name'].'/lib/lang/'.$_SESSION['s']['language'].'.lng';
-				if(!file_exists($lng_file)) $lng_file = ISPC_ROOT_PATH.'/web/'.$_SESSION['s']['module']['name'].'/lib/lang/en.lng';
-				@include_once($lng_file);
+				$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);
 			}
-			if(isset($wb)) $this->_wb = $wb;
 			$this->_language_inc = 1;
 		}		
 		if(!empty($this->_wb[$text])) {
@@ -167,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