From c4ff8259c95c34b9b501ba9d19d3380e9ee9edde Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Fri, 01 Aug 2008 16:59:08 -0400
Subject: [PATCH] Fixed: when creating a cp user with modules "mail,dns,sites" and start module "monitor" he gets "LOGIN_REDIRECT:/index.php" after login in. Added: Better username regular expression check.
---
interface/web/admin/lib/lang/en_users.lng | 5 ++++-
interface/web/client/form/client.tform.php | 3 +++
interface/web/admin/form/users.tform.php | 12 ++++++++++--
interface/web/admin/users_edit.php | 19 ++++++++++++++++---
interface/web/client/templates/client_edit_address.htm | 6 +++---
interface/web/client/lib/lang/en_client.lng | 1 +
interface/web/admin/templates/users_user_edit.htm | 6 +++---
7 files changed, 40 insertions(+), 12 deletions(-)
diff --git a/interface/web/admin/form/users.tform.php b/interface/web/admin/form/users.tform.php
index 244892a..06be9db 100644
--- a/interface/web/admin/form/users.tform.php
+++ b/interface/web/admin/form/users.tform.php
@@ -137,8 +137,16 @@
'username' => array (
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
- 'regex' => '/^.{1,30}$/',
- 'errmsg' => 'username_err',
+ 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'username_empty'),
+ 1 => array ( 'type' => 'UNIQUE',
+ 'errmsg'=> 'username_unique'),
+ 2 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[\w\.\-\_]{0,50}$/',
+ 'errmsg'=> 'username_err'),
+ ),
+ 'regex' => '',
+ 'errmsg' => '',
'default' => '',
'value' => '',
'separator' => '',
diff --git a/interface/web/admin/lib/lang/en_users.lng b/interface/web/admin/lib/lang/en_users.lng
index 73ddaad..5a7b639 100644
--- a/interface/web/admin/lib/lang/en_users.lng
+++ b/interface/web/admin/lib/lang/en_users.lng
@@ -1,6 +1,8 @@
<?php
$wb["username_txt"] = 'Username';
-$wb["username_err"] = 'username_err';
+$wb["username_err"] = 'The username is too long or contains invalid characters.';
+$wb["username_empty"] = 'The username is empty.';
+$wb["username_unique"] = 'There is already a user with this username.';
$wb["passwort_txt"] = 'Password';
$wb["modules_txt"] = 'Module';
$wb["startmodule_txt"] = 'Startmodule';
@@ -24,4 +26,5 @@
$wb["active_txt"] = 'Active';
$wb["btn_save_txt"] = 'Save';
$wb["btn_cancel_txt"] = 'Cancel';
+$wb["startmodule_err"] = 'Start module is not within modules.';
?>
\ No newline at end of file
diff --git a/interface/web/admin/templates/users_user_edit.htm b/interface/web/admin/templates/users_user_edit.htm
index c8c01d3..6b5ab4d 100644
--- a/interface/web/admin/templates/users_user_edit.htm
+++ b/interface/web/admin/templates/users_user_edit.htm
@@ -1,7 +1,7 @@
<table width="500" border="0" cellspacing="0" cellpadding="2">
<tr>
<td class="frmText11">{tmpl_var name='username_txt'}:</td>
- <td class="frmText11"><input name="username" type="text" class="text" value="{tmpl_var name='username'}" size="15" maxlength="30"></td>
+ <td class="frmText11"><input name="username" type="text" class="text" value="{tmpl_var name='username'}" size="15" maxlength="50"></td>
</tr>
<tr>
<td class="frmText11">{tmpl_var name='passwort_txt'}:</td>
@@ -47,6 +47,6 @@
<td><input name="btn_save" type="button" class="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','admin/users_edit.php');"><div class="buttonEnding"></div>
<input name="btn_cancel" type="button" class="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('admin/users_list.php');"><div class="buttonEnding"></div>
</td>
- </tr>
-</table>
+ </tr>
+</table>
<input type="hidden" name="id" value="{tmpl_var name='id'}">
\ No newline at end of file
diff --git a/interface/web/admin/users_edit.php b/interface/web/admin/users_edit.php
index 16e6f0a..b8ccbf2 100644
--- a/interface/web/admin/users_edit.php
+++ b/interface/web/admin/users_edit.php
@@ -1,6 +1,6 @@
<?php
/*
-Copyright (c) 2007, Till Brehm, projektfarm Gmbh
+Copyright (c) 2008, Till Brehm, projektfarm Gmbh
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
@@ -46,8 +46,21 @@
// Loading classes
$app->uses('tpl,tform,tform_actions');
+$app->load('tform_actions');
-// let tform_actions handle the page
-$app->tform_actions->onLoad();
+class page_action extends tform_actions {
+
+ function onBeforeInsert() {
+ global $app, $conf;
+
+ if(!in_array($this->dataRecord['startmodule'],$this->dataRecord['modules'])) {
+ $app->tform->errorMessage .= $app->tform->wordbook['startmodule_err'];
+ }
+ }
+
+}
+
+$page = new page_action;
+$page->onLoad();
?>
\ No newline at end of file
diff --git a/interface/web/client/form/client.tform.php b/interface/web/client/form/client.tform.php
index 11def8e..c7696c3 100644
--- a/interface/web/client/form/client.tform.php
+++ b/interface/web/client/form/client.tform.php
@@ -92,6 +92,9 @@
'class' => 'validate_client',
'function' => 'username_unique',
'errmsg'=> 'username_error_unique'),
+ 2 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[\w\.\-\_]{0,50}$/',
+ 'errmsg'=> 'username_error_regex'),
),
'default' => '',
'value' => '',
diff --git a/interface/web/client/lib/lang/en_client.lng b/interface/web/client/lib/lang/en_client.lng
index 1eb70e5..5e8134a 100644
--- a/interface/web/client/lib/lang/en_client.lng
+++ b/interface/web/client/lib/lang/en_client.lng
@@ -80,4 +80,5 @@
$wb["default_dbserver_txt"] = 'Default Database Server';
$wb["limit_database_txt"] = 'Max. number of Databases';
$wb["limit_database_error_notint"] = 'The database limit must be a number.';
+$wb["username_error_regex"] = 'The Username contains invalid chracaters.';
?>
\ No newline at end of file
diff --git a/interface/web/client/templates/client_edit_address.htm b/interface/web/client/templates/client_edit_address.htm
index 499e230..0df4029 100644
--- a/interface/web/client/templates/client_edit_address.htm
+++ b/interface/web/client/templates/client_edit_address.htm
@@ -9,7 +9,7 @@
</tr>
<tr>
<td class="frmText11">{tmpl_var name='username_txt'}:</td>
- <td class="frmText11"><input name="username" type="text" class="text" value="{tmpl_var name='username'}" size="30" maxlength="255"></td>
+ <td class="frmText11"><input name="username" type="text" class="text" value="{tmpl_var name='username'}" size="30" maxlength="50"></td>
</tr>
<tr>
<td class="frmText11">{tmpl_var name='password_txt'}:</td>
@@ -87,6 +87,6 @@
<td><input name="btn_save" type="button" class="button" value="{tmpl_var name='btn_save_txt'}" onClick="submitForm('pageForm','client/client_edit.php');"><div class="buttonEnding"></div>
<input name="btn_cancel" type="button" class="button" value="{tmpl_var name='btn_cancel_txt'}" onClick="loadContent('client/client_list.php');"><div class="buttonEnding"></div>
</td>
- </tr>
-</table>
+ </tr>
+</table>
<input type="hidden" name="id" value="{tmpl_var name='id'}">
\ No newline at end of file
--
Gitblit v1.9.1