From e4baff722bcf5c299b2427427a853f9faa16de1e Mon Sep 17 00:00:00 2001 From: tbrehm <t.brehm@ispconfig.org> Date: Tue, 31 Mar 2009 15:24:34 +0000 Subject: [PATCH] Fixed: FS#665 - Reseller adding email domain FS#666 - Reseller adding mysql database --- interface/web/client/lib/lang/en_client.lng | 174 ++++++++++---------- interface/web/mail/mail_domain_edit.php | 31 +++- interface/web/sites/database_edit.php | 12 +- 3 files changed, 122 insertions(+), 95 deletions(-) diff --git a/interface/web/client/lib/lang/en_client.lng b/interface/web/client/lib/lang/en_client.lng index d1f07b823b..74c166fe8b 100644 --- a/interface/web/client/lib/lang/en_client.lng +++ b/interface/web/client/lib/lang/en_client.lng @@ -1,87 +1,87 @@ -<?php -$wb["limit_maildomain_txt"] = 'Max. number of email domains'; -$wb["limit_mailbox_txt"] = 'Max. number of mailboxes'; -$wb["limit_mailalias_txt"] = 'Max. number of email aliases'; -$wb["limit_mailforward_txt"] = 'Max. number of email forwarders'; -$wb["limit_mailcatchall_txt"] = 'Max. number of email catchall accounts'; -$wb["limit_mailrouting_txt"] = 'Max. number of email routes'; -$wb["limit_mailfilter_txt"] = 'Max. number of email filters'; -$wb["limit_fetchmail_txt"] = 'Max. number of fetchmail accounts'; -$wb["limit_mailquota_txt"] = 'Mailbox quota'; -$wb["limit_spamfilter_wblist_txt"] = 'Max. number of spamfilter white / blacklist filters'; -$wb["limit_spamfilter_user_txt"] = 'Max. number of spamfilter users'; -$wb["limit_spamfilter_policy_txt"] = 'Max. number of spamfilter policys'; -$wb["default_mailserver_txt"] = 'Default Mailserver'; -$wb["company_name_txt"] = 'Company name'; -$wb["contact_name_txt"] = 'Contact name'; -$wb["username_txt"] = 'Username'; -$wb["password_txt"] = 'Password'; -$wb["password_strength_txt"] = 'Password strength'; -$wb["language_txt"] = 'Language'; -$wb["usertheme_txt"] = 'Theme'; -$wb["street_txt"] = 'Street'; -$wb["zip_txt"] = 'ZIP'; -$wb["city_txt"] = 'City'; -$wb["state_txt"] = 'State'; -$wb["country_txt"] = 'Country'; -$wb["telephone_txt"] = 'Telephone'; -$wb["mobile_txt"] = 'Mobile'; -$wb["fax_txt"] = 'Fax'; -$wb["email_txt"] = 'Email'; -$wb["internet_txt"] = 'Internet'; -$wb["icq_txt"] = 'ICQ'; -$wb["notes_txt"] = 'Notes'; -$wb["company_txt"] = 'Company'; -$wb["title_txt"] = 'Title'; -$wb["firstname_txt"] = 'Firstname'; -$wb["surname_txt"] = 'Surname'; -$wb["limit_domain_txt"] = 'limit_domain'; -$wb["limit_subdomain_txt"] = 'limit_subdomain'; -$wb["limit_webquota_txt"] = 'limit_webquota'; -$wb["limit_database_txt"] = 'limit_database'; -$wb["ip_address_txt"] = 'ip_address'; -$wb["limit_client_error_notint"] = 'Client Limit is not a number.'; -$wb["firstname_error_empty"] = 'Firstname is empty.'; -$wb["contact_error_empty"] = 'Contact name is empty.'; -$wb["default_webserver_txt"] = 'Default Webserver'; -$wb["limit_web_domain_txt"] = 'Max. number of web domains'; -$wb["limit_web_aliasdomain_txt"] = 'Max. number of web aliasdomains'; -$wb["limit_web_subdomain_txt"] = 'Max. number of web subdomains'; -$wb["limit_ftp_user_txt"] = 'Max. number of FTP users'; -$wb["default_dnsserver_txt"] = 'Default DNS Server'; -$wb["limit_dns_zone_txt"] = 'Max. number of DNS zones'; -$wb["limit_dns_record_txt"] = 'Max. number DNS records'; -$wb["limit_shell_user_txt"] = 'Max. number of Shell users'; -$wb["limit_client_txt"] = 'Max. number of Clients'; -$wb["username_error_empty"] = 'Username is empty.'; -$wb["username_error_unique"] = 'The username must be unique.'; -$wb["limit_maildomain_error_notint"] = 'The email domain limit must be a number.'; -$wb["limit_mailbox_error_notint"] = 'The mailbox limit must be a number.'; -$wb["limit_mailalias_error_notint"] = 'The email alias limit must be a number.'; -$wb["limit_mailforward_error_notint"] = 'The email forward limit must be a number.'; -$wb["limit_mailcatchall_error_notint"] = 'The email catchall limit must be a number.'; -$wb["limit_mailrouting_error_notint"] = 'The email routing limit must be a number.'; -$wb["limit_mailfilter_error_notint"] = 'The email filter limit must be a number.'; -$wb["limit_mailfetchmail_error_notint"] = 'The fetchmail limit must be a number.'; -$wb["limit_mailquota_error_notint"] = 'The email quota limit must be a number.'; -$wb["limit_spamfilter_wblist_error_notint"] = 'The spamfilter white / blacklist limit must be a number.'; -$wb["limit_spamfilter_user_error_notint"] = 'The spamfilter user limit must be a number.'; -$wb["limit_spamfilter_policy_error_notint"] = 'The spamfilter policy limit must be a number.'; -$wb["limit_web_domain_error_notint"] = 'The website limit must be a number.'; -$wb["limit_web_aliasdomain_error_notint"] = 'The website alias domain limit must be a number.'; -$wb["limit_web_subdomain_error_notint"] = 'The website subdomain limit must be a number.'; -$wb["limit_ftp_user_error_notint"] = 'The ftp user limit must be a number.'; -$wb["limit_shell_user_error_notint"] = 'The shell user limit must be a number.'; -$wb["limit_dns_zone_error_notint"] = 'The dns zone limit must be a number.'; -$wb["limit_dns_zone_error_notint"] = 'The dns record limit must be a number.'; -$wb["limit_client_error_notint"] = 'The sub client limit must be a number.'; -$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.'; -$wb["template_master_txt"] = 'Master template'; -$wb["template_additional_txt"] = 'Addon template'; -$wb["ssh_chroot_txt"] = 'SSH-Chroot Options'; -$wb["web_php_options_txt"] = 'PHP Options'; -$wb["limit_client_txt"] = 'The max. number of clients is reached.'; -?> +<?php +$wb["limit_maildomain_txt"] = 'Max. number of email domains'; +$wb["limit_mailbox_txt"] = 'Max. number of mailboxes'; +$wb["limit_mailalias_txt"] = 'Max. number of email aliases'; +$wb["limit_mailforward_txt"] = 'Max. number of email forwarders'; +$wb["limit_mailcatchall_txt"] = 'Max. number of email catchall accounts'; +$wb["limit_mailrouting_txt"] = 'Max. number of email routes'; +$wb["limit_mailfilter_txt"] = 'Max. number of email filters'; +$wb["limit_fetchmail_txt"] = 'Max. number of fetchmail accounts'; +$wb["limit_mailquota_txt"] = 'Mailbox quota'; +$wb["limit_spamfilter_wblist_txt"] = 'Max. number of spamfilter white / blacklist filters'; +$wb["limit_spamfilter_user_txt"] = 'Max. number of spamfilter users'; +$wb["limit_spamfilter_policy_txt"] = 'Max. number of spamfilter policys'; +$wb["default_mailserver_txt"] = 'Default Mailserver'; +$wb["company_name_txt"] = 'Company name'; +$wb["contact_name_txt"] = 'Contact name'; +$wb["username_txt"] = 'Username'; +$wb["password_txt"] = 'Password'; +$wb["password_strength_txt"] = 'Password strength'; +$wb["language_txt"] = 'Language'; +$wb["usertheme_txt"] = 'Theme'; +$wb["street_txt"] = 'Street'; +$wb["zip_txt"] = 'ZIP'; +$wb["city_txt"] = 'City'; +$wb["state_txt"] = 'State'; +$wb["country_txt"] = 'Country'; +$wb["telephone_txt"] = 'Telephone'; +$wb["mobile_txt"] = 'Mobile'; +$wb["fax_txt"] = 'Fax'; +$wb["email_txt"] = 'Email'; +$wb["internet_txt"] = 'Internet'; +$wb["icq_txt"] = 'ICQ'; +$wb["notes_txt"] = 'Notes'; +$wb["company_txt"] = 'Company'; +$wb["title_txt"] = 'Title'; +$wb["firstname_txt"] = 'Firstname'; +$wb["surname_txt"] = 'Surname'; +$wb["limit_domain_txt"] = 'limit_domain'; +$wb["limit_subdomain_txt"] = 'limit_subdomain'; +$wb["limit_webquota_txt"] = 'limit_webquota'; +$wb["limit_database_txt"] = 'limit_database'; +$wb["ip_address_txt"] = 'ip_address'; +$wb["limit_client_error_notint"] = 'Client Limit is not a number.'; +$wb["firstname_error_empty"] = 'Firstname is empty.'; +$wb["contact_error_empty"] = 'Contact name is empty.'; +$wb["default_webserver_txt"] = 'Default Webserver'; +$wb["limit_web_domain_txt"] = 'Max. number of web domains'; +$wb["limit_web_aliasdomain_txt"] = 'Max. number of web aliasdomains'; +$wb["limit_web_subdomain_txt"] = 'Max. number of web subdomains'; +$wb["limit_ftp_user_txt"] = 'Max. number of FTP users'; +$wb["default_dnsserver_txt"] = 'Default DNS Server'; +$wb["limit_dns_zone_txt"] = 'Max. number of DNS zones'; +$wb["limit_dns_record_txt"] = 'Max. number DNS records'; +$wb["limit_shell_user_txt"] = 'Max. number of Shell users'; +$wb["limit_client_txt"] = 'Max. number of Clients'; +$wb["username_error_empty"] = 'Username is empty.'; +$wb["username_error_unique"] = 'The username must be unique.'; +$wb["limit_maildomain_error_notint"] = 'The email domain limit must be a number.'; +$wb["limit_mailbox_error_notint"] = 'The mailbox limit must be a number.'; +$wb["limit_mailalias_error_notint"] = 'The email alias limit must be a number.'; +$wb["limit_mailforward_error_notint"] = 'The email forward limit must be a number.'; +$wb["limit_mailcatchall_error_notint"] = 'The email catchall limit must be a number.'; +$wb["limit_mailrouting_error_notint"] = 'The email routing limit must be a number.'; +$wb["limit_mailfilter_error_notint"] = 'The email filter limit must be a number.'; +$wb["limit_mailfetchmail_error_notint"] = 'The fetchmail limit must be a number.'; +$wb["limit_mailquota_error_notint"] = 'The email quota limit must be a number.'; +$wb["limit_spamfilter_wblist_error_notint"] = 'The spamfilter white / blacklist limit must be a number.'; +$wb["limit_spamfilter_user_error_notint"] = 'The spamfilter user limit must be a number.'; +$wb["limit_spamfilter_policy_error_notint"] = 'The spamfilter policy limit must be a number.'; +$wb["limit_web_domain_error_notint"] = 'The website limit must be a number.'; +$wb["limit_web_aliasdomain_error_notint"] = 'The website alias domain limit must be a number.'; +$wb["limit_web_subdomain_error_notint"] = 'The website subdomain limit must be a number.'; +$wb["limit_ftp_user_error_notint"] = 'The ftp user limit must be a number.'; +$wb["limit_shell_user_error_notint"] = 'The shell user limit must be a number.'; +$wb["limit_dns_zone_error_notint"] = 'The dns zone limit must be a number.'; +$wb["limit_dns_zone_error_notint"] = 'The dns record limit must be a number.'; +$wb["limit_client_error_notint"] = 'The sub client limit must be a number.'; +$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.'; +$wb["template_master_txt"] = 'Master template'; +$wb["template_additional_txt"] = 'Addon template'; +$wb["ssh_chroot_txt"] = 'SSH-Chroot Options'; +$wb["web_php_options_txt"] = 'PHP Options'; +$wb["limit_client_error"] = 'The max. number of clients is reached.'; +?> diff --git a/interface/web/mail/mail_domain_edit.php b/interface/web/mail/mail_domain_edit.php index a7b2da1369..74ea1702ba 100644 --- a/interface/web/mail/mail_domain_edit.php +++ b/interface/web/mail/mail_domain_edit.php @@ -75,7 +75,7 @@ class page_action extends tform_actions { function onShowEnd() { global $app, $conf; - if($_SESSION["s"]["user"]["typ"] == 'admin' || $app->auth->has_clients($_SESSION['s']['user']['userid'])) { + if($_SESSION["s"]["user"]["typ"] == 'admin') { // Getting Clients of the user if($_SESSION["s"]["user"]["typ"] == 'admin') { $sql = "SELECT groupid, name FROM sys_group WHERE client_id > 0"; @@ -92,9 +92,36 @@ class page_action extends tform_actions { $client_select .= "<option value='$client[groupid]' $selected>$client[name]</option>\r\n"; } } - $app->tpl->setVar("client_group_id",$client_select); + $app->tpl->setVar("client_group_id",$client_select); + + } elseif ($_SESSION["s"]["user"]["typ"] != 'admin' && $app->auth->has_clients($_SESSION['s']['user']['userid'])) { + + // Get the limits of the client + $client_group_id = $_SESSION["s"]["user"]["default_group"]; + $client = $app->db->queryOneRecord("SELECT client.client_id, limit_web_domain, default_webserver FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id"); + + // Set the webserver to the default server of the client + $tmp = $app->db->queryOneRecord("SELECT server_name FROM server WHERE server_id = $client[default_webserver]"); + $app->tpl->setVar("server_id","<option value='$client[default_webserver]'>$tmp[server_name]</option>"); + unset($tmp); + + // Fill the client select field + $sql = "SELECT groupid, name FROM sys_group, client WHERE sys_group.client_id = client.client_id AND client.parent_client_id = ".$client['client_id']; + $clients = $app->db->queryAllRecords($sql); + $client_select = ''; + if(is_array($clients)) { + foreach( $clients as $client) { + $selected = @($client["groupid"] == $this->dataRecord["sys_groupid"])?'SELECTED':''; + $client_select .= "<option value='$client[groupid]' $selected>$client[name]</option>\r\n"; + } + } + $app->tpl->setVar("client_group_id",$client_select); + } + + + // Get the spamfilter policys for the user $tmp_user = $app->db->queryOneRecord("SELECT policy_id FROM spamfilter_users WHERE email = '@".$this->dataRecord["domain"]."'"); $sql = "SELECT id, policy_name FROM spamfilter_policy WHERE ".$app->tform->getAuthSQL('r'); diff --git a/interface/web/sites/database_edit.php b/interface/web/sites/database_edit.php index 28f62f6eca..9e1430bea1 100644 --- a/interface/web/sites/database_edit.php +++ b/interface/web/sites/database_edit.php @@ -91,15 +91,15 @@ class page_action extends tform_actions { // Get the limits of the client $client_group_id = $_SESSION["s"]["user"]["default_group"]; - $client = $app->db->queryOneRecord("SELECT client_id, default_dbserver FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id"); - + $client = $app->db->queryOneRecord("SELECT client.client_id, limit_web_domain, default_webserver FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id"); + // Set the webserver to the default server of the client - $tmp = $app->db->queryOneRecord("SELECT server_name FROM server WHERE server_id = $client[default_dbserver]"); - $app->tpl->setVar("server_id","<option value='$client[default_dbserver]'>$tmp[server_name]</option>"); + $tmp = $app->db->queryOneRecord("SELECT server_name FROM server WHERE server_id = $client[default_webserver]"); + $app->tpl->setVar("server_id","<option value='$client[default_webserver]'>$tmp[server_name]</option>"); unset($tmp); - + // Fill the client select field - $sql = "SELECT groupid, name FROM sys_group, client WHERE sys_group.client_id = client.parent_client_id AND client.parent_client_id = ".$client['client_id']; + $sql = "SELECT groupid, name FROM sys_group, client WHERE sys_group.client_id = client.client_id AND client.parent_client_id = ".$client['client_id']; $clients = $app->db->queryAllRecords($sql); $client_select = ''; if(is_array($clients)) { -- GitLab