From c2f53e76fde1ab534e67a9227d4f0adcde05dfa4 Mon Sep 17 00:00:00 2001 From: tbrehm <t.brehm@ispconfig.org> Date: Wed, 28 Oct 2009 14:05:37 -0400 Subject: [PATCH] Fix in maildrop plugin. --- interface/web/admin/language_add.php | 12 +++++++----- 1 files changed, 7 insertions(+), 5 deletions(-) diff --git a/interface/web/admin/language_add.php b/interface/web/admin/language_add.php index 3b66fb6..f3fd93f 100644 --- a/interface/web/admin/language_add.php +++ b/interface/web/admin/language_add.php @@ -30,11 +30,8 @@ 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.'); @@ -49,6 +46,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 +66,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