From f7ec00b2f8ba3efc5bdeacef9c813f8a826ae3be Mon Sep 17 00:00:00 2001
From: Patrick Anders <p.anders@timmehosting.de>
Date: Wed, 10 Dec 2014 08:44:26 -0500
Subject: [PATCH] add Spdy option - http://en.wikipedia.org/wiki/SPDY
---
interface/lib/classes/validate_client.inc.php | 111 ++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 76 insertions(+), 35 deletions(-)
diff --git a/interface/lib/classes/validate_client.inc.php b/interface/lib/classes/validate_client.inc.php
index 9b0546a..0f90a5b 100644
--- a/interface/lib/classes/validate_client.inc.php
+++ b/interface/lib/classes/validate_client.inc.php
@@ -29,59 +29,60 @@
*/
class validate_client {
-
+
/*
Validator function to check if a username is unique.
*/
function username_unique($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;
}
-
+
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($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 != ".$client_id);
+ $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($app->tform->wordbook[$errmsg])) {
- return $app->tform->wordbook[$errmsg]."<br>\r\n";
+ $errmsg = $validator['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->functions->intval($client_id));
+ if($num_rec["number"] > 0) {
+ $errmsg = $validator['errmsg'];
+ if(isset($app->tform->wordbook[$errmsg])) {
+ return $app->tform->wordbook[$errmsg]."<br>\r\n";
} else {
return $errmsg."<br>\r\n";
}
}
}
}
-
+
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'] == '' )) {
+
+ 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'] == '' ) &&
+ $global_config['client_username_web_check_disabled'] == 'n') {
$errmsg = $validator['errmsg'];
if(isset($app->tform->wordbook[$errmsg])) {
return $app->tform->wordbook[$errmsg]."<br>\r\n";
@@ -89,13 +90,53 @@
return $errmsg."<br>\r\n";
}
}
-
-
-
-
+
+
+
+
}
-
-
-
-
-}
\ No newline at end of file
+
+ function check_used_servers($field_name, $field_value, $validator)
+ {
+ global $app;
+
+ if (is_array($field_value))
+ {
+ $client_id = intval($_POST['id']);
+ $used_servers = null;
+
+ switch ($field_name)
+ {
+ case 'web_servers':
+ $used_servers = $app->db->queryAllRecords('SELECT domain_id FROM web_domain INNER JOIN sys_user ON web_domain.sys_userid = sys_user.userid WHERE client_id = ' . $client_id . ' AND server_id NOT IN (' . implode(', ', $field_value) . ');');
+ break;
+
+ case 'dns_servers':
+ $used_servers = $app->db->queryAllRecords('SELECT id FROM dns_rr INNER JOIN sys_user ON dns_rr.sys_userid = sys_user.userid WHERE client_id = ' . $client_id . ' AND server_id NOT IN (' . implode(', ', $field_value) . ');');
+ break;
+
+ case 'db_servers':
+ $used_servers = $app->db->queryAllRecords('SELECT database_id FROM web_database INNER JOIN sys_user ON web_database.sys_userid = sys_user.userid WHERE client_id = ' . $client_id . ' AND server_id NOT IN (' . implode(', ', $field_value) . ');');
+ break;
+
+ case 'mail_servers':
+ $used_servers = $app->db->queryAllRecords('SELECT domain_id FROM mail_domain INNER JOIN sys_user ON mail_domain.sys_userid = sys_user.userid WHERE client_id = ' . $client_id . ' AND server_id NOT IN (' . implode(', ', $field_value) . ');');
+ break;
+ }
+
+ if ($used_servers === null || count($used_servers))
+ {
+ $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