From cc99cdff8ff86b3fbe8eb4261bfaddb86fbec3ec Mon Sep 17 00:00:00 2001 From: tbrehm <t.brehm@ispconfig.org> Date: Fri, 19 Oct 2012 07:49:52 -0400 Subject: [PATCH] - Improved cron and ssh user plugins. - Added "touch" function to system.inc.php --- interface/lib/classes/validate_client.inc.php | 45 ++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 40 insertions(+), 5 deletions(-) diff --git a/interface/lib/classes/validate_client.inc.php b/interface/lib/classes/validate_client.inc.php index a7b7ae8..9b0546a 100644 --- a/interface/lib/classes/validate_client.inc.php +++ b/interface/lib/classes/validate_client.inc.php @@ -1,7 +1,7 @@ <?php /* -Copyright (c) 2007, Till Brehm, Falko Timme, projektfarm Gmbh +Copyright (c) 2007, Till Brehm, projektfarm Gmbh All rights reserved. Redistribution and use in source and binary forms, with or without modification, @@ -28,7 +28,6 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - class validate_client { /* @@ -37,18 +36,24 @@ function username_unique($field_name, $field_value, $validator) { global $app; - if($app->tform->action == 'NEW') { + if(isset($app->remoting_lib->primary_id)) { + $client_id = $app->remoting_lib->primary_id; + } else { + $client_id = $app->tform->primary_id; + } + + if($client_id == 0) { $num_rec = $app->db->queryOneRecord("SELECT count(*) as number FROM sys_user WHERE username = '".$app->db->quote($field_value)."'"); if($num_rec["number"] > 0) { $errmsg = $validator['errmsg']; - if(isset($this->wordbook[$errmsg])) { + if(isset($app->tform->wordbook[$errmsg])) { return $app->tform->wordbook[$errmsg]."<br>\r\n"; } else { return $errmsg."<br>\r\n"; } } } else { - $num_rec = $app->db->queryOneRecord("SELECT count(*) as number FROM sys_user WHERE username = '".$app->db->quote($field_value)."' AND client_id != ".$app->tform->primary_id); + $num_rec = $app->db->queryOneRecord("SELECT count(*) as number FROM sys_user WHERE username = '".$app->db->quote($field_value)."' AND client_id != ".$client_id); if($num_rec["number"] > 0) { $errmsg = $validator['errmsg']; if(isset($app->tform->wordbook[$errmsg])) { @@ -60,6 +65,36 @@ } } + function username_collision($field_name, $field_value, $validator) { + global $app; + + if(isset($app->remoting_lib->primary_id)) { + $client_id = $app->remoting_lib->primary_id; + } else { + $client_id = $app->tform->primary_id; + } + + $app->uses('getconf'); + $global_config = $app->getconf->get_global_config('sites'); + + if((trim($field_value) == 'web' || preg_match('/^web[0-9]/',$field_value)) && + ($global_config['ftpuser_prefix'] == '[CLIENTNAME]' || + $global_config['ftpuser_prefix'] == '' || + $global_config['shelluser_prefix'] == '[CLIENTNAME]' || + $global_config['shelluser_prefix'] == '' )) { + $errmsg = $validator['errmsg']; + if(isset($app->tform->wordbook[$errmsg])) { + return $app->tform->wordbook[$errmsg]."<br>\r\n"; + } else { + return $errmsg."<br>\r\n"; + } + } + + + + + } + -- Gitblit v1.9.1