| | |
| | | */ |
| | | |
| | | 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"; |
| | |
| | | return $errmsg."<br>\r\n"; |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | 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"; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |