Subversion Repositories ALCASAR

Rev

Rev 1831 | Blame | Compare with Previous | Last modification | View Log

<?php
require('/etc/freeradius-web/config.php');
require_once('../lib/functions.php');

unset($da_name_cache);
if (isset($_SESSION['da_name_cache']))
        $da_name_cache = $_SESSION['da_name_cache'];
if ($config['sql_nas_table'] != ''){

        if (is_file("../lib/sql/drivers/$config[sql_type]/functions.php"))
                include_once("../lib/sql/drivers/$config[sql_type]/functions.php");
        else{
                echo "<b>Could not include SQL library</b><br>\n";
                exit();
        }
        $link = da_sql_pconnect($config);
        if ($link){
                $auth_user = $_SERVER["REMOTE_USER"];
                $extra = '';
                if (isset($mappings[$auth_user]['nasdb'])){
                        $NAS_ARR = array();
                        $NAS_ARR = preg_split('/,/',$mappings[$auth_user][nasdb]);
                        $extra = 'WHERE nasname IN (';
                        foreach ($NAS_ARR as $nas)
                                $extra .= "'$nasname',";
                        unset($NAS_ARR);
                        $extra = rtrim($extra,",");
                        $extra .= ')';
                }
                $search = da_sql_query($link,$config,
                "SELECT * FROM $config[sql_nas_table] $extra;");
                if ($search){
                        while($row = da_sql_fetch_array($search,$config)){
                                $num = 0;
                                $my_nas_name = $row['nasname'];
                                if ($my_nas_name != ''){
                                        $nas_list[$my_nas_name]['name'] = $my_nas_name;
                                        $nas_server = $da_name_cache[$my_nas_name];
                                        if (!isset($nas_server)){
                                                if (!check_ip($my_nas_name))
                                                        $nas_server = @gethostbyname($my_nas_name);
                                                else
                                                        $nas_server = $my_nas_name;
                                                if (!isset($da_name_cache) && $config[general_use_session] == 'yes'){
                                                        $da_name_cache[$my_nas_name] = $nas_server;
                                                        session_register('da_name_cache');
                                                }
                                        }
                                        if ($nas_server != $my_nas_name || check_ip($nas_server))
                                                $nas_list[$my_nas_name]['ip'] = $nas_server;
                                        $nas_list[$my_nas_name]['port_num'] = $row['ports'];
                                        $nas_list[$my_nas_name]['community'] = $row['community'];
                                        $nas_list[$my_nas_name]['model'] = $row['description'];
                                }
                        }
                }
        }
        else
                echo "<b>Could not connect to SQL database</b><br>\n";
}

?>