. * * Version 0.1 * Author: Daniel Larraz */ function write_fr_clients ( $filepath, $clients, $servers, $writepath='') /* ------------------------------------------------------------------------ */ { global $base_plugin; if ($writepath=='') { $writepath=$base_plugin.'data/temp_fr_clients'; } $fp=fopen($writepath,"w"); /* Accounting clients */ fwrite( $fp, "clients all_clients {\n" ); foreach ($clients as $name => $data) { write_client ($fp, $name, $data); } fwrite( $fp, "}\n\n" ); foreach (array_keys($servers) as $servername) { fwrite( $fp, "clients ".$servername." {\n" ); foreach ($clients as $name => $data) { if ( in_array ($servername, $data['auth_servers']) ) { write_client ($fp, $name, $data); } } fwrite( $fp, "}\n\n" ); } fclose($fp); exec('sudo mv '.$writepath.' '.$filepath); exec('sudo chown root:freerad '.$filepath); } /* ------------------------------------------------------------------------ */ function write_client ( $fp, $name, $data ) /* ------------------------------------------------------------------------ */ { fwrite( $fp, " client ".$data['addr']." {\n" ); fwrite( $fp, " secret = ".$data['pass']."\n" ); fwrite( $fp, " shortname = ".$name."\n" ); fwrite( $fp, " }\n" ); } /* ------------------------------------------------------------------------ */ ?>