ftimme
2013-06-11 ba196265aaad30c1cb46ec5cce3067f4857b506c
- Fixed FS#2888 - Clients cannot add secondary DNS.
1 files added
12 files modified
80 ■■■■ changed files
install/sql/incremental/upd_0052.sql 1 ●●●● patch | view | raw | blame | history
install/sql/ispconfig3.sql 1 ●●●● patch | view | raw | blame | history
interface/web/client/client_edit.php 2 ●●● patch | view | raw | blame | history
interface/web/client/form/client.tform.php 35 ●●●●● patch | view | raw | blame | history
interface/web/client/form/reseller.tform.php 11 ●●●●● patch | view | raw | blame | history
interface/web/client/lib/lang/de_client.lng 5 ●●●●● patch | view | raw | blame | history
interface/web/client/lib/lang/de_reseller.lng 5 ●●●●● patch | view | raw | blame | history
interface/web/client/lib/lang/en_client.lng 1 ●●●● patch | view | raw | blame | history
interface/web/client/lib/lang/en_reseller.lng 1 ●●●● patch | view | raw | blame | history
interface/web/client/reseller_edit.php 2 ●●● patch | view | raw | blame | history
interface/web/client/templates/client_edit_limits.htm 6 ●●●●● patch | view | raw | blame | history
interface/web/client/templates/reseller_edit_limits.htm 6 ●●●●● patch | view | raw | blame | history
interface/web/dns/dns_slave_edit.php 4 ●●●● patch | view | raw | blame | history
install/sql/incremental/upd_0052.sql
New file
@@ -0,0 +1 @@
ALTER TABLE `client` ADD `default_slave_dnsserver` INT( 11 ) UNSIGNED NOT NULL DEFAULT '1' AFTER `limit_dns_zone`;
install/sql/ispconfig3.sql
@@ -204,6 +204,7 @@
  `limit_aps` int(11) NOT NULL DEFAULT '-1',
  `default_dnsserver` int(11) unsigned NOT NULL DEFAULT '1',
  `limit_dns_zone` int(11) NOT NULL DEFAULT '-1',
  `default_slave_dnsserver` int(11) unsigned NOT NULL DEFAULT '1',
  `limit_dns_slave_zone` int(11) NOT NULL DEFAULT '-1',
  `limit_dns_record` int(11) NOT NULL DEFAULT '-1',
  `default_dbserver` int(11) NOT NULL DEFAULT '1',
interface/web/client/client_edit.php
@@ -177,7 +177,7 @@
        $tmp = $app->db->queryOneRecord('SELECT server_id FROM server WHERE db_server = 1 AND mirror_server_id = 0 LIMIT 0,1');
        $default_dbserver = $app->functions->intval($tmp['server_id']);
        
        $sql = "UPDATE client SET default_mailserver = $default_mailserver, default_webserver = $default_webserver, default_dnsserver = $default_dnsserver, default_dbserver = $default_dbserver WHERE client_id = ".$this->id;
        $sql = "UPDATE client SET default_mailserver = $default_mailserver, default_webserver = $default_webserver, default_dnsserver = $default_dnsserver, default_slave_dnsserver = $default_dnsserver, default_dbserver = $default_dbserver WHERE client_id = ".$this->id;
        $app->db->query($sql);
        
interface/web/client/form/client.tform.php
@@ -899,20 +899,31 @@
            'rows'        => '',
            'cols'        => ''
        ),
                'limit_dns_slave_zone' => array (
                        'datatype'      => 'INTEGER',
                        'formtype'      => 'TEXT',
                        'validators'    => array (      0 => array (    'type'  => 'ISINT',
        'default_slave_dnsserver' => array (
            'datatype'    => 'INTEGER',
            'formtype'    => 'SELECT',
            'default'    => '1',
            'datasource'    => array (     'type'    => 'CUSTOM',
                                        'class'=> 'custom_datasource',
                                        'function'=> 'client_servers'
                                     ),
            'value'        => '',
            'name'        => 'default_slave_dnsserver'
        ),
        'limit_dns_slave_zone' => array (
            'datatype'      => 'INTEGER',
            'formtype'      => 'TEXT',
            'validators'    => array (      0 => array (    'type'  => 'ISINT',
                                                                                                                'errmsg'=> 'limit_dns_slave_zone_error_notint'),
                                                                        ),
                        'default'       => '-1',
                        'value'         => '',
                        'separator'     => '',
                        'width'         => '10',
                        'maxlength'     => '10',
                        'rows'          => '',
                        'cols'          => ''
                ),
            'default'       => '-1',
            'value'         => '',
            'separator'     => '',
            'width'         => '10',
            'maxlength'     => '10',
            'rows'          => '',
            'cols'          => ''
        ),
        'limit_dns_record' => array (
            'datatype'    => 'INTEGER',
            'formtype'    => 'TEXT',
interface/web/client/form/reseller.tform.php
@@ -894,6 +894,17 @@
            'rows'        => '',
            'cols'        => ''
        ),
        'default_slave_dnsserver' => array (
            'datatype'    => 'INTEGER',
            'formtype'    => 'SELECT',
            'default'    => '1',
            'datasource'    => array (     'type'    => 'SQL',
                                        'querystring' => 'SELECT server_id,server_name FROM server WHERE dns_server = 1 AND {AUTHSQL} ORDER BY server_name',
                                        'keyfield'=> 'server_id',
                                        'valuefield'=> 'server_name'
                                     ),
            'value'        => ''
        ),
                'limit_dns_slave_zone' => array (
                        'datatype'      => 'INTEGER',
                        'formtype'      => 'TEXT',
interface/web/client/lib/lang/de_client.lng
@@ -103,10 +103,10 @@
$wb['limit_web_quota_txt'] = 'Webbeschränkung';
$wb['limit_traffic_quota_txt'] = 'Trafficbeschränkung';
$wb['limit_trafficquota_error_notint'] = 'Trafficbeschränkung muss eine Zahl sein.';
$wb['limit_dns_slave_zone_txt'] = 'Max. Anzahl an Zweiter DNS Zonen';
$wb['limit_dns_slave_zone_txt'] = 'Max. Anzahl an Secondary DNS Zonen';
$wb['limit_webdav_user_txt'] = 'Max. Anzahl an WebDAV Benutzern';
$wb['limit_webdav_user_error_notint'] = 'Das WebDAV Benutzer Limit muss eine Zahl sein.';
$wb['limit_dns_slave_zone_error_notint'] = 'Das Zweiter DNS Zonen Limit muss eine Zahl sein.';
$wb['limit_dns_slave_zone_error_notint'] = 'Das Secondary DNS Zonen Limit muss eine Zahl sein.';
$wb['customer_no_txt'] = 'Kundennummer';
$wb['vat_id_txt'] = 'USt-ID';
$wb['required_fields_txt'] = '* Benötigte Felder';
@@ -143,4 +143,5 @@
$wb['aps_limits_txt'] = 'APS Installationsassistent Limits';
$wb['limit_aps_txt'] = 'Max. Anzahl an APS-Instanzen';
$wb['limit_aps_error_notint'] = 'Das APS Instanzen Limit muss eine Zahl sein.';
$wb["default_slave_dnsserver_txt"] = 'Standard Secondary DNS Server';
?>
interface/web/client/lib/lang/de_reseller.lng
@@ -101,8 +101,8 @@
$wb['limit_web_quota_txt'] = 'Speicherplatzbeschränkung';
$wb['limit_traffic_quota_txt'] = 'Transfervolumenbeschränkung';
$wb['limit_trafficquota_error_notint'] = 'Transfervolumenbeschränkung muss eine Zahl sein.';
$wb['limit_dns_slave_zone_txt'] = 'Max. Anzahl an Zweiter DNS Zonen';
$wb['limit_dns_slave_zone_error_notint'] = 'Das Zweiter DNS Zonen Limit muss eine Zahl sein.';
$wb['limit_dns_slave_zone_txt'] = 'Max. Anzahl an Secondary DNS Zonen';
$wb['limit_dns_slave_zone_error_notint'] = 'Das Secondary DNS Zonen Limit muss eine Zahl sein.';
$wb['limit_dns_record_error_notint'] = 'Das DNS Eintrag Limit muss eine Zahl sein.';
$wb['customer_no_txt'] = 'Kundennummer';
$wb['vat_id_txt'] = 'USt-ID';
@@ -142,4 +142,5 @@
$wb['aps_limits_txt'] = 'APS Installationsassistent Limits';
$wb['limit_aps_txt'] = 'Max. Anzahl an APS-Instanzen';
$wb['limit_aps_error_notint'] = 'Das APS Instanzen Limit muss eine Zahl sein.';
$wb["default_slave_dnsserver_txt"] = 'Standard Secondary DNS Server';
?>
interface/web/client/lib/lang/en_client.lng
@@ -146,4 +146,5 @@
$wb['aps_limits_txt'] = 'APS Installer Limits';
$wb['limit_aps_txt'] = 'Max. number of APS instances';
$wb['limit_aps_error_notint'] = 'The APS instances limit must be a number.';
$wb["default_slave_dnsserver_txt"] = 'Default Secondary DNS Server';
?>
interface/web/client/lib/lang/en_reseller.lng
@@ -144,4 +144,5 @@
$wb['aps_limits_txt'] = 'APS Installer Limits';
$wb['limit_aps_txt'] = 'Max. number of APS instances';
$wb['limit_aps_error_notint'] = 'The APS instances limit must be a number.';
$wb["default_slave_dnsserver_txt"] = 'Default Secondary DNS Server';
?>
interface/web/client/reseller_edit.php
@@ -175,7 +175,7 @@
        $tmp = $app->db->queryOneRecord('SELECT server_id FROM server WHERE db_server = 1 LIMIT 0,1');
        $default_dbserver = $app->functions->intval($tmp['server_id']);
        
        $sql = "UPDATE client SET default_mailserver = $default_mailserver, default_webserver = $default_webserver, default_dnsserver = $default_dnsserver, default_dbserver = $default_dbserver WHERE client_id = ".$this->id;
        $sql = "UPDATE client SET default_mailserver = $default_mailserver, default_webserver = $default_webserver, default_dnsserver = $default_dnsserver, default_slave_dnsserver = $default_dnsserver, default_dbserver = $default_dbserver WHERE client_id = ".$this->id;
        $app->db->query($sql);
        parent::onAfterInsert();
interface/web/client/templates/client_edit_limits.htm
@@ -256,6 +256,12 @@
                    <label for="limit_dns_zone">{tmpl_var name='limit_dns_zone_txt'}</label>
                    <input name="limit_dns_zone" id="limit_dns_zone" value="{tmpl_var name='limit_dns_zone'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
                </div>
                <div class="ctrlHolder">
                    <label for="default_slave_dnsserver">{tmpl_var name='default_slave_dnsserver_txt'}</label>
                    <select name="default_slave_dnsserver" id="default_slave_dnsserver" class="selectInput">
                        {tmpl_var name='default_slave_dnsserver'}
                    </select>
                </div>
                <div class="ctrlHolder">
                    <label for="limit_dns_slave_zone">{tmpl_var name='limit_dns_slave_zone_txt'}</label>
                    <input name="limit_dns_slave_zone" id="limit_dns_slave_zone" value="{tmpl_var name='limit_dns_slave_zone'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
interface/web/client/templates/reseller_edit_limits.htm
@@ -244,6 +244,12 @@
                    <label for="limit_dns_zone">{tmpl_var name='limit_dns_zone_txt'}</label>
                    <input name="limit_dns_zone" id="limit_dns_zone" value="{tmpl_var name='limit_dns_zone'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
                </div>
                <div class="ctrlHolder">
                    <label for="default_slave_dnsserver">{tmpl_var name='default_slave_dnsserver_txt'}</label>
                    <select name="default_slave_dnsserver" id="default_slave_dnsserver" class="selectInput">
                        {tmpl_var name='default_slave_dnsserver'}
                    </select>
                </div>
                <div class="ctrlHolder">
                    <label for="limit_dns_slave_zone">{tmpl_var name='limit_dns_slave_zone_txt'}</label>
                    <input name="limit_dns_slave_zone" id="limit_dns_slave_zone" value="{tmpl_var name='limit_dns_slave_zone'}" size="10" maxlength="10" type="text" class="textInput formLengthLimit" />
interface/web/dns/dns_slave_edit.php
@@ -123,7 +123,7 @@
        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_slave_zone, default_dnsserver FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
            $client = $app->db->queryOneRecord("SELECT limit_dns_slave_zone, default_slave_dnsserver FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
        
            // When the record is updated
            if($this->id > 0) {
@@ -134,7 +134,7 @@
            // When the record is inserted
            } else {
                // set the server ID to the default dnsserver of the client
                $this->dataRecord["server_id"] = $client["default_dnsserver"];
                $this->dataRecord["server_id"] = $client["default_slave_dnsserver"];
                
                // Check if the user may add anoter secondary domain.
                if(!$app->tform->checkClientLimit('limit_dns_slave_zone')) {