From 3498f7f39f32e82d4ce4178f708b56e29aadcea0 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Thu, 20 Oct 2011 06:23:56 -0400
Subject: [PATCH] - Updated italian language files. - Fixed a warning in apache plugin.

---
 interface/web/admin/language_add.php |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/interface/web/admin/language_add.php b/interface/web/admin/language_add.php
index 3b66fb6..a296171 100644
--- a/interface/web/admin/language_add.php
+++ b/interface/web/admin/language_add.php
@@ -30,14 +30,12 @@
 require_once('../../lib/config.inc.php');
 require_once('../../lib/app.inc.php');
 
-// Checking permissions for the module
-if(!stristr($_SESSION['s']['user']['modules'],'admin')) {
-	header('Location: ../index.php');
-	exit;
-}
+//* Check permissions for module
+$app->auth->check_module_permissions('admin');
 
 //* 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,6 +47,8 @@
 $error = '';
 $msg = '';
 $selected_language = (isset($_REQUEST['lng_select']))?substr($_REQUEST['lng_select'],0,2):'en';
+if(!preg_match("/^[a-z]{2}$/i", $selected_language)) die('unallowed characters in selected language name.');
+
 $handle = opendir(ISPC_ROOT_PATH.'/lib/lang/'); 
 while ($file = readdir ($handle)) { 
     if ($file != '.' && $file != '..') {
@@ -67,6 +67,9 @@
 	$lng_new = $_POST['lng_new'];
 	if(!preg_match("/^[a-z]{2}$/i", $lng_new)) die('unallowed characters in language name.');
 	
+	//* Copy the main language file
+	copy(ISPC_LIB_PATH."/lang/$selected_language.lng",ISPC_LIB_PATH."/lang/$lng_new.lng");
+	
 	//* Make a copy of every language file
 	$bgcolor = '#FFFFFF';
 	$language_files_list = array();

--
Gitblit v1.9.1