From 44d2a76d4611e27d348e1c8ed89ff0675f2d262f Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Wed, 27 May 2009 08:49:48 -0400
Subject: [PATCH] Added missing error messages to the dns wizard. Improved language file loading.

---
 interface/lib/app.inc.php |   32 +++++++++++++++++++++++++-------
 1 files changed, 25 insertions(+), 7 deletions(-)

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

--
Gitblit v1.9.1