tbrehm
2009-06-21 376812aa8835d8211da8f008057b7f7f8ee9c50b
Fixed: FS#773 - Client can see all servers in DNS 
2 files modified
31 ■■■■ changed files
interface/lib/classes/custom_datasource.inc.php 24 ●●●●● patch | view | raw | blame | history
interface/web/dns/list/dns_soa.list.php 7 ●●●●● patch | view | raw | blame | history
interface/lib/classes/custom_datasource.inc.php
@@ -40,6 +40,30 @@
        }
        return $records_new;
    }
    function dns_servers($field, $record) {
        global $app, $conf;
        if($_SESSION["s"]["user"]["typ"] == 'user') {
            // Get the limits of the client
            $client_group_id = $_SESSION["s"]["user"]["default_group"];
            $client = $app->db->queryOneRecord("SELECT default_dnsserver FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
            $sql = "SELECT server_id,server_name FROM server WHERE server_id = ".$client['default_dnsserver'];
        } else {
            $sql = "SELECT server_id,server_name FROM server WHERE dns_server = 1 ORDER BY server_name";
        }
        $records = $app->db->queryAllRecords($sql);
        $records_new = array();
        if(is_array($records)) {
            foreach($records as $rec) {
                $key = $rec['server_id'];
                $records_new[$key] = $rec['server_name'];
            }
        }
        return $records_new;
    }
}
interface/web/dns/list/dns_soa.list.php
@@ -64,10 +64,9 @@
                            'op'        => "like",
                            'prefix'    => "%",
                            'suffix'    => "%",
                            'datasource'    => array (     'type'    => 'SQL',
                                                        'querystring' => 'SELECT server_id,server_name FROM server WHERE {AUTHSQL} ORDER BY server_name',
                                                        'keyfield'=> 'server_id',
                                                        'valuefield'=> 'server_name'
                            'datasource'    => array (     'type'    => 'CUSTOM',
                                                        'class'=> 'custom_datasource',
                                                        'function'=> 'dns_servers'
                                                       ),
                            'width'        => "",
                            'value'        => "");