Commit 8164cdd8 authored by Marius Cramer's avatar Marius Cramer
Browse files

Merge branch 'hide_client' into 'master'

Hide client

When domain module is enabled in config, every module has a domain selector now, and changing domain's owner on domain list changes owner for every module. This patch removes client selector when domain module is enabled, because I don't see the point in having a client selector on mail, sites and dns, neither create nor update, because setting client to a different one than domain's owner, if that client try to edit, it will break because it's not domain's owner.
parents 8537705b a67681db
......@@ -181,6 +181,19 @@ class tools_sites {
return $domain['domain'];
}
function getClientIdForDomain($domain_id) {
global $app;
$sql = "SELECT sys_groupid FROM domain WHERE domain_id = " . $app->functions->intval($domain_id);
if ($_SESSION["s"]["user"]["typ"] != 'admin') {
$groups = ( $_SESSION["s"]["user"]["groups"] ) ? $_SESSION["s"]["user"]["groups"] : 0;
$sql .= " AND sys_groupid IN (".$groups.")";
}
$domain = $app->db->queryOneRecord($sql);
if(!$domain || !$domain['sys_groupid']) return false;
return $domain['sys_groupid'];
}
}
?>
......@@ -72,22 +72,30 @@ class page_action extends tform_actions {
function onShowEnd() {
global $app, $conf;
// If user is admin, we will allow him to select to whom this record belongs
if($_SESSION["s"]["user"]["typ"] == 'admin') {
// Getting Domains of the user
$sql = "SELECT sys_group.groupid, sys_group.name, CONCAT(IF(client.company_name != '', CONCAT(client.company_name, ' :: '), ''), client.contact_name, ' (', client.username, IF(client.customer_no != '', CONCAT(', ', client.customer_no), ''), ')') as contactname FROM sys_group, client WHERE sys_group.client_id = client.client_id AND sys_group.client_id > 0 ORDER BY client.company_name, client.contact_name, sys_group.name";
$clients = $app->db->queryAllRecords($sql);
$client_select = '';
if($_SESSION["s"]["user"]["typ"] == 'admin') $client_select .= "<option value='0'></option>";
//$tmp_data_record = $app->tform->getDataRecord($this->id);
if(is_array($clients)) {
foreach( $clients as $client) {
$selected = @(is_array($this->dataRecord) && ($client["groupid"] == $this->dataRecord['client_group_id'] || $client["groupid"] == $this->dataRecord['sys_groupid']))?'SELECTED':'';
$client_select .= "<option value='$client[groupid]' $selected>$client[contactname]</option>\r\n";
$app->uses('ini_parser,getconf');
$settings = $app->getconf->get_global_config('domains');
/*
* Now we have to check, if we should use the domain-module to select the domain
* or not
*/
if ($settings['use_domain_module'] != 'y') {
// If user is admin, we will allow him to select to whom this record belongs
if($_SESSION["s"]["user"]["typ"] == 'admin') {
// Getting Domains of the user
$sql = "SELECT sys_group.groupid, sys_group.name, CONCAT(IF(client.company_name != '', CONCAT(client.company_name, ' :: '), ''), client.contact_name, ' (', client.username, IF(client.customer_no != '', CONCAT(', ', client.customer_no), ''), ')') as contactname FROM sys_group, client WHERE sys_group.client_id = client.client_id AND sys_group.client_id > 0 ORDER BY client.company_name, client.contact_name, sys_group.name";
$clients = $app->db->queryAllRecords($sql);
$client_select = '';
if($_SESSION["s"]["user"]["typ"] == 'admin') $client_select .= "<option value='0'></option>";
//$tmp_data_record = $app->tform->getDataRecord($this->id);
if(is_array($clients)) {
foreach( $clients as $client) {
$selected = @(is_array($this->dataRecord) && ($client["groupid"] == $this->dataRecord['client_group_id'] || $client["groupid"] == $this->dataRecord['sys_groupid']))?'SELECTED':'';
$client_select .= "<option value='$client[groupid]' $selected>$client[contactname]</option>\r\n";
}
}
}
$app->tpl->setVar("client_group_id", $client_select);
} else if($app->auth->has_clients($_SESSION['s']['user']['userid'])) {
$app->tpl->setVar("client_group_id", $client_select);
} else if($app->auth->has_clients($_SESSION['s']['user']['userid'])) {
// Get the limits of the client
$client_group_id = intval($_SESSION["s"]["user"]["default_group"]);
......@@ -108,14 +116,7 @@ class page_action extends tform_actions {
$app->tpl->setVar("client_group_id", $client_select);
}
/*
* Now we have to check, if we should use the domain-module to select the domain
* or not
*/
$app->uses('ini_parser,getconf');
$settings = $app->getconf->get_global_config('domains');
if ($settings['use_domain_module'] == 'y') {
} else {
/*
* The domain-module is in use.
*/
......@@ -160,6 +161,9 @@ class page_action extends tform_actions {
$app->uses('ini_parser,getconf');
$settings = $app->getconf->get_global_config('domains');
if ($settings['use_domain_module'] == 'y') {
if ($_SESSION["s"]["user"]["typ"] == 'admin' || $app->auth->has_clients($_SESSION['s']['user']['userid'])) {
$this->dataRecord['client_group_id'] = $app->tools_sites->getClientIdForDomain($this->dataRecord['origin']);
}
$domain_check = $app->tools_sites->checkDomainModuleDomain($this->dataRecord['origin']);
if(!$domain_check) {
// invalid domain selected
......
......@@ -82,22 +82,30 @@ class page_action extends tform_actions {
function onShowEnd() {
global $app, $conf;
// If user is admin, we will allow him to select to whom this record belongs
if($_SESSION["s"]["user"]["typ"] == 'admin') {
// Getting Domains of the user
$sql = "SELECT sys_group.groupid, sys_group.name, CONCAT(IF(client.company_name != '', CONCAT(client.company_name, ' :: '), ''), client.contact_name, ' (', client.username, IF(client.customer_no != '', CONCAT(', ', client.customer_no), ''), ')') as contactname FROM sys_group, client WHERE sys_group.client_id = client.client_id AND sys_group.client_id > 0 ORDER BY client.company_name, client.contact_name, sys_group.name";
$clients = $app->db->queryAllRecords($sql);
$client_select = '';
if($_SESSION["s"]["user"]["typ"] == 'admin') $client_select .= "<option value='0'></option>";
//$tmp_data_record = $app->tform->getDataRecord($this->id);
if(is_array($clients)) {
foreach( $clients as $client) {
$selected = @(is_array($this->dataRecord) && ($client["groupid"] == $this->dataRecord['client_group_id'] || $client["groupid"] == $this->dataRecord['sys_groupid']))?'SELECTED':'';
$client_select .= "<option value='$client[groupid]' $selected>$client[contactname]</option>\r\n";
$app->uses('ini_parser,getconf');
$settings = $app->getconf->get_global_config('domains');
/*
* Now we have to check, if we should use the domain-module to select the domain
* or not
*/
if ($settings['use_domain_module'] != 'y') {
// If user is admin, we will allow him to select to whom this record belongs
if($_SESSION["s"]["user"]["typ"] == 'admin') {
// Getting Domains of the user
$sql = "SELECT sys_group.groupid, sys_group.name, CONCAT(IF(client.company_name != '', CONCAT(client.company_name, ' :: '), ''), client.contact_name, ' (', client.username, IF(client.customer_no != '', CONCAT(', ', client.customer_no), ''), ')') as contactname FROM sys_group, client WHERE sys_group.client_id = client.client_id AND sys_group.client_id > 0 ORDER BY client.company_name, client.contact_name, sys_group.name";
$clients = $app->db->queryAllRecords($sql);
$client_select = '';
if($_SESSION["s"]["user"]["typ"] == 'admin') $client_select .= "<option value='0'></option>";
//$tmp_data_record = $app->tform->getDataRecord($this->id);
if(is_array($clients)) {
foreach( $clients as $client) {
$selected = @(is_array($this->dataRecord) && ($client["groupid"] == $this->dataRecord['client_group_id'] || $client["groupid"] == $this->dataRecord['sys_groupid']))?'SELECTED':'';
$client_select .= "<option value='$client[groupid]' $selected>$client[contactname]</option>\r\n";
}
}
}
$app->tpl->setVar("client_group_id", $client_select);
} else if($app->auth->has_clients($_SESSION['s']['user']['userid'])) {
$app->tpl->setVar("client_group_id", $client_select);
} else if($app->auth->has_clients($_SESSION['s']['user']['userid'])) {
// Get the limits of the client
$client_group_id = intval($_SESSION["s"]["user"]["default_group"]);
......@@ -118,7 +126,7 @@ class page_action extends tform_actions {
$app->tpl->setVar("client_group_id", $client_select);
}
$app->tpl->setVar("client_group_id", $client_select);
}
// }
......@@ -150,12 +158,6 @@ class page_action extends tform_actions {
}
/*
* Now we have to check, if we should use the domain-module to select the domain
* or not
*/
$app->uses('ini_parser,getconf');
$settings = $app->getconf->get_global_config('domains');
if ($settings['use_domain_module'] == 'y') {
/*
* The domain-module is in use.
......@@ -197,75 +199,79 @@ class page_action extends tform_actions {
function onSubmit() {
global $app, $conf;
/* check if the domain module is used - and check if the selected domain can be used! */
$app->uses('ini_parser,getconf');
$settings = $app->getconf->get_global_config('domains');
if ($settings['use_domain_module'] == 'y') {
$domain_check = $app->tools_sites->checkDomainModuleDomain($this->dataRecord['origin']);
if(!$domain_check) {
// invalid domain selected
$app->tform->errorMessage .= $app->tform->lng("origin_error_empty")."<br />";
} else {
$this->dataRecord['origin'] = $domain_check.'.';
if ($app->tform->getCurrentTab() == 'dns_soa') {
/* check if the domain module is used - and check if the selected domain can be used! */
$app->uses('ini_parser,getconf');
$settings = $app->getconf->get_global_config('domains');
if ($settings['use_domain_module'] == 'y') {
if ($_SESSION["s"]["user"]["typ"] == 'admin' || $app->auth->has_clients($_SESSION['s']['user']['userid'])) {
$this->dataRecord['client_group_id'] = $app->tools_sites->getClientIdForDomain($this->dataRecord['origin']);
}
$domain_check = $app->tools_sites->checkDomainModuleDomain($this->dataRecord['origin']);
if(!$domain_check) {
// invalid domain selected
$app->tform->errorMessage .= $app->tform->lng("origin_error_empty")."<br />";
} else {
$this->dataRecord['origin'] = $domain_check.'.';
}
}
}
if($_SESSION["s"]["user"]["typ"] != 'admin') {
// Get the limits of the client
$client_group_id = $_SESSION["s"]["user"]["default_group"];
$client = $app->db->queryOneRecord("SELECT limit_dns_zone, dns_servers FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
if($_SESSION["s"]["user"]["typ"] != 'admin') {
// Get the limits of the client
$client_group_id = $_SESSION["s"]["user"]["default_group"];
$client = $app->db->queryOneRecord("SELECT limit_dns_zone, dns_servers FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
$client['dns_servers_ids'] = explode(',', $client['dns_servers']);
$client['dns_servers_ids'] = explode(',', $client['dns_servers']);
// Check if chosen server is in authorized servers for this client
if (!(is_array($client['dns_servers_ids']) && in_array($this->dataRecord["server_id"], $client['dns_servers_ids'])) && $_SESSION["s"]["user"]["typ"] != 'admin') {
$app->error($app->tform->wordbook['error_not_allowed_server_id']);
}
// Check if chosen server is in authorized servers for this client
if (!(is_array($client['dns_servers_ids']) && in_array($this->dataRecord["server_id"], $client['dns_servers_ids'])) && $_SESSION["s"]["user"]["typ"] != 'admin') {
$app->error($app->tform->wordbook['error_not_allowed_server_id']);
}
// When the record is updated
if($this->id > 0) {
// restore the server ID if the user is not admin and record is edited
$tmp = $app->db->queryOneRecord("SELECT server_id FROM dns_soa WHERE id = ".$app->functions->intval($this->id));
$this->dataRecord["server_id"] = $tmp["server_id"];
unset($tmp);
// When the record is inserted
} else {
// Check if the user may add another maildomain.
if($client["limit_dns_zone"] >= 0) {
$tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_soa WHERE sys_groupid = $client_group_id");
if($tmp["number"] >= $client["limit_dns_zone"]) {
$app->error($app->tform->wordbook["limit_dns_zone_txt"]);
// When the record is updated
if($this->id > 0) {
// restore the server ID if the user is not admin and record is edited
$tmp = $app->db->queryOneRecord("SELECT server_id FROM dns_soa WHERE id = ".$app->functions->intval($this->id));
$this->dataRecord["server_id"] = $tmp["server_id"];
unset($tmp);
// When the record is inserted
} else {
// Check if the user may add another maildomain.
if($client["limit_dns_zone"] >= 0) {
$tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_soa WHERE sys_groupid = $client_group_id");
if($tmp["number"] >= $client["limit_dns_zone"]) {
$app->error($app->tform->wordbook["limit_dns_zone_txt"]);
}
}
}
}
}
/*
// Update the serial number of the SOA record
$soa = $app->db->queryOneRecord("SELECT serial FROM dns_soa WHERE id = ".$this->id);
$this->dataRecord["serial"] = $app->validate_dns->increase_serial($soa["serial"]);
*/
/*
// Update the serial number of the SOA record
$soa = $app->db->queryOneRecord("SELECT serial FROM dns_soa WHERE id = ".$this->id);
$this->dataRecord["serial"] = $app->validate_dns->increase_serial($soa["serial"]);
*/
//* Check if soa, ns and mbox have a dot at the end
if(strlen($this->dataRecord["origin"]) > 0 && substr($this->dataRecord["origin"], -1, 1) != '.') $this->dataRecord["origin"] .= '.';
if(strlen($this->dataRecord["ns"]) > 0 && substr($this->dataRecord["ns"], -1, 1) != '.') $this->dataRecord["ns"] .= '.';
if(strlen($this->dataRecord["mbox"]) > 0 && substr($this->dataRecord["mbox"], -1, 1) != '.') $this->dataRecord["mbox"] .= '.';
//* Check if soa, ns and mbox have a dot at the end
if(strlen($this->dataRecord["origin"]) > 0 && substr($this->dataRecord["origin"], -1, 1) != '.') $this->dataRecord["origin"] .= '.';
if(strlen($this->dataRecord["ns"]) > 0 && substr($this->dataRecord["ns"], -1, 1) != '.') $this->dataRecord["ns"] .= '.';
if(strlen($this->dataRecord["mbox"]) > 0 && substr($this->dataRecord["mbox"], -1, 1) != '.') $this->dataRecord["mbox"] .= '.';
//* Replace @ in mbox
if(stristr($this->dataRecord["mbox"], '@')) {
$this->dataRecord["mbox"] = str_replace('@', '.', $this->dataRecord["mbox"]);
}
//* Replace @ in mbox
if(stristr($this->dataRecord["mbox"], '@')) {
$this->dataRecord["mbox"] = str_replace('@', '.', $this->dataRecord["mbox"]);
}
$this->dataRecord["xfer"] = preg_replace('/\s+/', '', $this->dataRecord["xfer"]);
$this->dataRecord["also_notify"] = preg_replace('/\s+/', '', $this->dataRecord["also_notify"]);
$this->dataRecord["xfer"] = preg_replace('/\s+/', '', $this->dataRecord["xfer"]);
$this->dataRecord["also_notify"] = preg_replace('/\s+/', '', $this->dataRecord["also_notify"]);
//* Check if a secondary zone with the same name already exists
$tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_slave WHERE origin = ? AND server_id = ?", $this->dataRecord["origin"], $this->dataRecord["server_id"]);
if($tmp["number"] > 0) {
$app->error($app->tform->wordbook["origin_error_unique"]);
//* Check if a secondary zone with the same name already exists
$tmp = $app->db->queryOneRecord("SELECT count(id) as number FROM dns_slave WHERE origin = ? AND server_id = ?", $this->dataRecord["origin"], $this->dataRecord["server_id"]);
if($tmp["number"] > 0) {
$app->error($app->tform->wordbook["origin_error_unique"]);
}
}
parent::onSubmit();
}
......
......@@ -71,6 +71,9 @@ foreach($records as $rec){
unset($n);
$app->tpl->setVar("template_id_option", $template_id_option);
$app->uses('ini_parser,getconf');
$domains_settings = $app->getconf->get_global_config('domains');
// If the user is administrator
if($_SESSION['s']['user']['typ'] == 'admin') {
......@@ -83,19 +86,21 @@ if($_SESSION['s']['user']['typ'] == 'admin') {
}
$app->tpl->setVar("server_id", $server_id_option);
// load the list of clients
$sql = "SELECT sys_group.groupid, sys_group.name, CONCAT(IF(client.company_name != '', CONCAT(client.company_name, ' :: '), ''), client.contact_name, ' (', client.username, IF(client.customer_no != '', CONCAT(', ', client.customer_no), ''), ')') as contactname FROM sys_group, client WHERE sys_group.client_id = client.client_id AND sys_group.client_id > 0 ORDER BY client.company_name, client.contact_name, sys_group.name";
$clients = $app->db->queryAllRecords($sql);
$client_select = '';
if($_SESSION["s"]["user"]["typ"] == 'admin') $client_select .= "<option value='0'></option>";
if(is_array($clients)) {
foreach( $clients as $client) {
$selected = ($client["groupid"] == $sys_groupid)?'SELECTED':'';
$client_select .= "<option value='$client[groupid]' $selected>$client[contactname]</option>\r\n";
if ($domains_settings['use_domain_module'] != 'y') {
// load the list of clients
$sql = "SELECT sys_group.groupid, sys_group.name, CONCAT(IF(client.company_name != '', CONCAT(client.company_name, ' :: '), ''), client.contact_name, ' (', client.username, IF(client.customer_no != '', CONCAT(', ', client.customer_no), ''), ')') as contactname FROM sys_group, client WHERE sys_group.client_id = client.client_id AND sys_group.client_id > 0 ORDER BY client.company_name, client.contact_name, sys_group.name";
$clients = $app->db->queryAllRecords($sql);
$client_select = '';
if($_SESSION["s"]["user"]["typ"] == 'admin') $client_select .= "<option value='0'></option>";
if(is_array($clients)) {
foreach( $clients as $client) {
$selected = ($client["groupid"] == $sys_groupid)?'SELECTED':'';
$client_select .= "<option value='$client[groupid]' $selected>$client[contactname]</option>\r\n";
}
}
}
$app->tpl->setVar("client_group_id", $client_select);
$app->tpl->setVar("client_group_id", $client_select);
}
}
if ($_SESSION["s"]["user"]["typ"] != 'admin' && $app->auth->has_clients($_SESSION['s']['user']['userid'])) {
......@@ -105,19 +110,21 @@ if ($_SESSION["s"]["user"]["typ"] != 'admin' && $app->auth->has_clients($_SESSIO
$client = $app->db->queryOneRecord("SELECT client.client_id, client.contact_name, CONCAT(IF(client.company_name != '', CONCAT(client.company_name, ' :: '), ''), client.contact_name, ' (', client.username, IF(client.customer_no != '', CONCAT(', ', client.customer_no), ''), ')') as contactname, sys_group.name FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
// load the list of clients
$sql = "SELECT sys_group.groupid, sys_group.name, CONCAT(IF(client.company_name != '', CONCAT(client.company_name, ' :: '), ''), client.contact_name, ' (', client.username, IF(client.customer_no != '', CONCAT(', ', client.customer_no), ''), ')') as contactname FROM sys_group, client WHERE sys_group.client_id = client.client_id AND client.parent_client_id = ".$app->functions->intval($client['client_id'])." ORDER BY client.company_name, client.contact_name, sys_group.name";
$clients = $app->db->queryAllRecords($sql);
$tmp = $app->db->queryOneRecord("SELECT groupid FROM sys_group WHERE client_id = ".$app->functions->intval($client['client_id']));
$client_select = '<option value="'.$tmp['groupid'].'">'.$client['contactname'].'</option>';
if(is_array($clients)) {
foreach( $clients as $client) {
$selected = ($client["groupid"] == $sys_groupid)?'SELECTED':'';
$client_select .= "<option value='$client[groupid]' $selected>$client[contactname]</option>\r\n";
if ($domains_settings['use_domain_module'] != 'y') {
// load the list of clients
$sql = "SELECT sys_group.groupid, sys_group.name, CONCAT(IF(client.company_name != '', CONCAT(client.company_name, ' :: '), ''), client.contact_name, ' (', client.username, IF(client.customer_no != '', CONCAT(', ', client.customer_no), ''), ')') as contactname FROM sys_group, client WHERE sys_group.client_id = client.client_id AND client.parent_client_id = ".$app->functions->intval($client['client_id'])." ORDER BY client.company_name, client.contact_name, sys_group.name";
$clients = $app->db->queryAllRecords($sql);
$tmp = $app->db->queryOneRecord("SELECT groupid FROM sys_group WHERE client_id = ".$app->functions->intval($client['client_id']));
$client_select = '<option value="'.$tmp['groupid'].'">'.$client['contactname'].'</option>';
if(is_array($clients)) {
foreach( $clients as $client) {
$selected = ($client["groupid"] == $sys_groupid)?'SELECTED':'';
$client_select .= "<option value='$client[groupid]' $selected>$client[contactname]</option>\r\n";
}
}
}
$app->tpl->setVar("client_group_id", $client_select);
$app->tpl->setVar("client_group_id", $client_select);
}
}
if($_SESSION["s"]["user"]["typ"] != 'admin')
......@@ -162,9 +169,7 @@ if(is_array($fields)) {
* Now we have to check, if we should use the domain-module to select the domain
* or not
*/
$app->uses('ini_parser,getconf');
$settings = $app->getconf->get_global_config('domains');
if ($settings['use_domain_module'] == 'y') {
if ($domains_settings['use_domain_module'] == 'y') {
/*
* The domain-module is in use.
*/
......@@ -215,7 +220,10 @@ if($_POST['create'] == 1) {
// apply filters
if(isset($_POST['domain']) && $_POST['domain'] != ''){
/* check if the domain module is used - and check if the selected domain can be used! */
if ($settings['use_domain_module'] == 'y') {
if ($domains_settings['use_domain_module'] == 'y') {
if ($_SESSION["s"]["user"]["typ"] == 'admin' || $app->auth->has_clients($_SESSION['s']['user']['userid'])) {
$_POST['client_group_id'] = $app->tools_sites->getClientIdForDomain($_POST['domain']);
}
$domain_check = $app->tools_sites->checkDomainModuleDomain($_POST['domain']);
if(!$domain_check) {
// invalid domain selected
......
......@@ -20,20 +20,24 @@
</select>
</tmpl_if>
</div>
<div class="ctrlHolder">
<label for="client_group_id">{tmpl_var name='client_txt'}</label>
<select name="client_group_id" id="client_group_id" class="selectInput">
{tmpl_var name='client_group_id'}
</select>
</div>
<tmpl_unless name="domain_option">
<div class="ctrlHolder">
<label for="client_group_id">{tmpl_var name='client_txt'}</label>
<select name="client_group_id" id="client_group_id" class="selectInput">
{tmpl_var name='client_group_id'}
</select>
</div>
</tmpl_unless>
</tmpl_if>
<tmpl_if name="is_reseller">
<div class="ctrlHolder">
<label for="client_group_id">{tmpl_var name='client_txt'}</label>
<select name="client_group_id" id="client_group_id" class="selectInput">
{tmpl_var name='client_group_id'}
</select>
</div>
<tmpl_unless name="domain_option">
<div class="ctrlHolder">
<label for="client_group_id">{tmpl_var name='client_txt'}</label>
<select name="client_group_id" id="client_group_id" class="selectInput">
{tmpl_var name='client_group_id'}
</select>
</div>
</tmpl_unless>
</tmpl_if>
<div class="ctrlHolder">
<label for="origin">{tmpl_var name='origin_txt'}</label>
......@@ -100,4 +104,4 @@
searchFieldWatermark: '',
resultBoxPosition: 'e'
});
</script>
\ No newline at end of file
</script>
......@@ -20,12 +20,14 @@
</select>
</tmpl_if>
</div>
<div class="ctrlHolder">
<label for="client_group_id">{tmpl_var name='client_txt'}</label>
<select name="client_group_id" id="client_group_id" class="selectInput">
{tmpl_var name='client_group_id'}
</select>
</div>
<tmpl_unless name="domain_option">
<div class="ctrlHolder">
<label for="client_group_id">{tmpl_var name='client_txt'}</label>
<select name="client_group_id" id="client_group_id" class="selectInput">
{tmpl_var name='client_group_id'}
</select>
</div>
</tmpl_unless>
<tmpl_else>
<tmpl_if name="only_one_server">
<input type="hidden" id="server_id" name="server_id" value="{tmpl_var name='server_id_value'}" />
......@@ -47,12 +49,14 @@
</tmpl_if>
</tmpl_if>
<tmpl_if name="is_reseller">
<div class="ctrlHolder">
<label for="client_group_id">{tmpl_var name='client_txt'}</label>
<select name="client_group_id" id="client_group_id" class="selectInput">
{tmpl_var name='client_group_id'}
</select>
</div>
<tmpl_unless name="domain_option">
<div class="ctrlHolder">
<label for="client_group_id">{tmpl_var name='client_txt'}</label>
<select name="client_group_id" id="client_group_id" class="selectInput">
{tmpl_var name='client_group_id'}
</select>
</div>
</tmpl_unless>
</tmpl_if>
<div class="ctrlHolder">
<label for="origin">{tmpl_var name='origin_txt'}</label>
......@@ -153,4 +157,4 @@
searchFieldWatermark: '',
resultBoxPosition: 'e'
});
</script>
\ No newline at end of file
</script>
......@@ -22,12 +22,14 @@
{tmpl_var name='server_id'}
</select>
</div>
<div class="ctrlHolder">
<label for="client_group_id">{tmpl_var name='client_txt'}</label>
<select name="client_group_id" id="client_group_id" class="selectInput">
{tmpl_var name='client_group_id'}
</select>
</div>
<tmpl_unless name="domain_option">
<div class="ctrlHolder">
<label for="client_group_id">{tmpl_var name='client_txt'}</label>
<select name="client_group_id" id="client_group_id" class="selectInput">
{tmpl_var name='client_group_id'}
</select>
</div>
</tmpl_unless>
<tmpl_else>
<tmpl_if name="only_one_server">
<input type="hidden" id="server_id" name="server_id" value="{tmpl_var name='server_id_value'}" />
......@@ -41,12 +43,14 @@
</tmpl_if>
</tmpl_if>
<tmpl_if name="is_reseller">
<div class="ctrlHolder">
<label for="client_group_id">{tmpl_var name='client_txt'}</label>
<select name="client_group_id" id="client_group_id" class="selectInput">
{tmpl_var name='client_group_id'}
</select>
</div>
<tmpl_unless name="domain_option">
<div class="ctrlHolder">
<label for="client_group_id">{tmpl_var name='client_txt'}</label>
<select name="client_group_id" id="client_group_id" class="selectInput">
{tmpl_var name='client_group_id'}
</select>
</div>
</tmpl_unless>
</tmpl_if>
<tmpl_if name="DOMAIN_VISIBLE">
<div class="ctrlHolder">
......
......@@ -72,7 +72,10 @@ class page_action extends tform_actions {
function onShowEnd() {
global $app, $conf;
if($_SESSION["s"]["user"]["typ"] == 'admin') {
$app->uses('ini_parser,getconf');
$settings = $app->getconf->get_global_config('domains');
if($_SESSION["s"]["user"]["typ"] == 'admin' && $settings['use_domain_module'] != 'y') {
// Getting Clients of the user
$sql = "SELECT sys_group.groupid, sys_group.name, CONCAT(IF(client.company_name != '', CONCAT(client.company_name, ' :: '), ''), client.contact_name, ' (', client.username, IF(client.customer_no != '', CONCAT(', ', client.customer_no), ''), ')') as contactname FROM sys_group, client WHERE sys_group.client_id = client.client_id AND sys_group.client_id > 0 ORDER BY client.company_name, client.contact_name, sys_group.name";
......@@ -99,20 +102,21 @@ class page_action extends tform_actions {
$app->tpl->setVar("server_id", "<option value='$client[default_mailserver]'>$tmp[server_name]</option>");
unset($tmp);
// Fill the client select field
$sql = "SELECT sys_group.groupid, sys_group.name, CONCAT(IF(client.company_name != '', CONCAT(client.company_name, ' :: '), ''), client.contact_name, ' (', client.username, IF(client.customer_no != '', CONCAT(', ', client.customer_no), ''), ')') as contactname FROM sys_group, client WHERE sys_group.client_id = client.client_id AND client.parent_client_id = ".$app->functions->intval($client['client_id'])." ORDER BY client.company_name, client.contact_name, sys_group.name";
$clients = $app->db->queryAllRecords($sql);
$tmp = $app->db->queryOneRecord("SELECT groupid FROM sys_group WHERE client_id = ".$app->functions->intval($client['client_id']));
$client_select = '<option value="'.$tmp['groupid'].'">'.$client['contactname'].'</option>';
//$tmp_data_record = $app->tform->getDataRecord($this->id);
if(is_array($clients)) {
foreach( $clients as $client) {
$selected = @(is_array($this->dataRecord) && ($client["groupid"] == $this->dataRecord['client_group_id'] || $client["groupid"] == $this->dataRecord['sys_groupid']))?'SELECTED':'';
$client_select .= "<option value='$client[groupid]' $selected>$client[contactname]</option>\r\n";
if ($settings['use_domain_module'] != 'y') {
// Fill the client select field
$sql = "SELECT sys_group.groupid, sys_group.name, CONCAT(IF(client.company_name != '', CONCAT(client.company_name, ' :: '), ''), client.contact_name, ' (', client.username, IF(client.customer_no != '', CONCAT(', ', client.customer_no), ''), ')') as contactname FROM sys_group, client WHERE sys_group.client_id = client.client_id AND client.parent_client_id = ".$app->functions->intval($client['client_id'])." ORDER BY client.company_name, client.contact_name, sys_group.name";
$clients = $app->db->queryAllRecords($sql);
$tmp = $app->db->queryOneRecord("SELECT groupid FROM sys_group WHERE client_id = ".$app->functions->intval($client['client_id']));
$client_select = '<option value="'.$tmp['groupid'].'">'.$client['contactname'].'</option>';
//$tmp_data_record = $app->tform->getDataRecord($this->id);
if(is_array($clients)) {
foreach( $clients as $client) {
$selected = @(is_array($this->dataRecord) && ($client["groupid"] == $this->dataRecord['client_group_id'] || $client["groupid"] == $this->dataRecord['sys_groupid']))?'SELECTED':'';
$client_select .= "<option value='$client[groupid]' $selected>$client[contactname]</option>\r\n";
}
}
$app->tpl->setVar("client_group_id", $client_select);
}
$app->tpl->setVar("client_group_id", $client_select);
}
if($_SESSION["s"]["user"]["typ"] != 'admin')
......@@ -147,8 +151,6 @@ class page_action extends tform_actions {
* Now we have to check, if we should use the domain-module to select the domain
* or not
*/
$app->uses('ini_parser,getconf');
$settings = $app->getconf->get_global_config('domains');
if ($settings['use_domain_module'] == 'y') {
/*
* The domain-module is in use.
......@@ -211,6 +213,9 @@ class page_action extends tform_actions {
$app->uses('ini_parser,getconf');
$settings = $app->getconf->get_global_config('domains');
if ($settings['use_domain_module'] == 'y') {
if ($_SESSION["s"]["user"]["typ"] == 'admin' || $app->auth->has_clients($_SESSION['s']['user'][