From c6e05a8eebc58624c675d4b10d33e94e6b6fa83b Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Mon, 12 Sep 2011 10:16:19 -0400
Subject: [PATCH] Implemented: FS#1385 - Define all Email aliases in dovecot autoresponder

---
 interface/web/admin/language_import.php |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/interface/web/admin/language_import.php b/interface/web/admin/language_import.php
index 09f11e7..285be11 100644
--- a/interface/web/admin/language_import.php
+++ b/interface/web/admin/language_import.php
@@ -35,6 +35,7 @@
 
 //* This is only allowed for administrators
 if(!$app->auth->is_admin()) die('only allowed for administrators.');
+if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
 
 $app->uses('tpl');
 
@@ -49,7 +50,7 @@
 	// initial check
 	$parts = explode('|',$lines[0]);
 	if($parts[0] == '---' && $parts[1] == 'ISPConfig Language File') {
-		if($parts[2] != $conf["app_version"]) {
+		if($_POST['ignore_version'] != 1 && $parts[2] != $conf["app_version"]) {
 			$error .= 'Application version does not match. Appversion: '.$conf["app_version"].' Lanfile version: '.$parts[2];
 		} else {
 			unset($lines[0]);
@@ -66,24 +67,24 @@
 							$error .= "File exists, not written: $langfile_path<br />";
 						} else {
 							$msg .= "File written: $langfile_path<br />";
-							// file_put_contents($langfile_path,$buffer);
+							file_put_contents($langfile_path,$buffer);
 						}
 					}
 					// empty buffer and set variables
 					$buffer = '';
-					$module_name = $parts[1];
-					$selected_language = $parts[2];
-					$file_name = $parts[3];
-					if(!preg_match("/^[a-z]{2}$/i", $selected_language)) die('unallowed characters in selected language name.');
+					$module_name = trim($parts[1]);
+					$selected_language = trim($parts[2]);
+					$file_name = trim($parts[3]);
+					if(!preg_match("/^[a-z]{2}$/i", $selected_language)) die("unallowed characters in selected language name: $selected_language");
 					if(!preg_match("/^[a-z_]+$/i", $module_name)) die('unallowed characters in module name.');
-					if(!preg_match("/^[a-z\._]+$/i", $file_name) || stristr($file_name,'..')) die('unallowed characters in language file name.');
+					if(!preg_match("/^[a-z\._]+$/i", $file_name) || stristr($file_name,'..')) die("unallowed characters in language file name: '$file_name'");
 					if($module_name == 'global') {
 						$langfile_path = trim(ISPC_LIB_PATH."/lang/".$selected_language.".lng");
 					} else {
 						$langfile_path = trim(ISPC_WEB_PATH.'/'.$module_name.'/lib/lang/'.$file_name);
 					}
 				} else {
-					$buffer .= $line;
+					$buffer .= trim($line)."\n";
 				}
 			}
 		}

--
Gitblit v1.9.1