backport from HEAD
[freeradius.git] / dialup_admin / htdocs / nas_admin.php3
1 <?php
2 require('../conf/config.php3');
3
4 if (is_file("../lib/sql/drivers/$config[sql_type]/functions.php3"))
5         include_once("../lib/sql/drivers/$config[sql_type]/functions.php3");
6 else{
7         echo <<<EOM
8 <title>NAS Administration Page</title>
9 <link rel="stylesheet" href="style.css">
10 </head>
11 <body bgcolor="#80a040" background="images/greenlines1.gif" link="black" alink="black">
12 <center>
13 <b>Could not include SQL library functions. Aborting</b>
14 </body>
15 </html>
16 EOM;
17         exit();
18 }
19
20 if ($clear_fields == 1)
21         $selected_nas = $readonly = '';
22 else
23         $readonly = 'readonly';
24
25 $link = @da_sql_pconnect($config);
26 if ($link){
27         if ($do_it == 1){
28                 $selected_nas = da_sql_escape_string($selected_nas);
29                 switch ($action) {
30                         case 'check_nas':
31                                 if ($selected_nas == gethostbyname($selected_nas))
32                                         $msg = "<b>The NAS name <font color=red>is not</font> valid</b><br>\n";
33                                 else
34                                         $msg = "<b>The NAS name <font color=green>is</font> valid</b><br>\n";
35                                 break;
36                         case 'del_nas':
37                                 $res = @da_sql_query($link,$config,
38                                 "DELETE FROM $config[sql_nas_table] WHERE nasname = '$selected_nas';");
39                                 if ($res){
40                                         $msg = "<b>NAS '$selected_nas' was deleted successfully</b><br>\n";
41                                         $selected_nas = '';
42                                 }
43                                 else
44                 $msg = "<b>Error deleting NAS '$selected_nas' " . da_sql_error($link,$config) . "</b><br>\n";
45                                 break;
46                         case 'add_nas':
47                                 if ($nasname == '' || $nassecret == '' || $nasshortname == '')
48                                         $msg = "<b>Error. Required fields are not set</b><br>\n";
49                                 else{
50                                         $res = @da_sql_query($link,$config,
51                                         "INSERT INTO $config[sql_nas_table]
52                                         (nasname,shortname,type,ports,secret,community,description)
53                                         VALUES ('$nasname','$nasshortname', '$nastype','$nasportnum',
54                                         '$nassecret','$nascommunity','$nasdescription');");
55                                         if ($res){
56                                                 $msg = "<b>NAS '$nasname' was added successfully</b><br>\n";
57                                                 $selected_nas = $nasname;
58                                         }
59                                         else
60                         $msg = "<b>Error adding NAS '$nasname' " . da_sql_error($link,$config) . "</b><br>\n";
61                                 }
62                                 break;
63                         case 'change_nas':
64                                 if ($nassecret == '' || $nasshortname == '')
65                                         $msg = "<b>Error. Required fields are not set</b><br>\n";
66                                 else{
67                                         $res = @da_sql_query($link,$config,
68                                         "UPDATE $config[sql_nas_table] SET
69                                         shortname = '$nasshortname',
70                                         type = '$nastype',
71                                         ports = '$nasportnum',
72                                         secret = '$nassecret',
73                                         community = '$nascommunity',
74                                         description = '$nasdescription' WHERE nasname = '$nasname';");
75                                         if ($res)
76                                                 $msg = "<b>NAS '$nasname' was updated successfully</b><br>\n";
77                                         else
78                         $msg = "<b>Error updating NAS '$selected_nas' " . da_sql_error($link,$config) . "</b><br>\n";
79                                 }
80                                 break;
81                 }
82         }
83         $search = @da_sql_query($link,$config,
84         "SELECT * FROM $config[sql_nas_table] ORDER BY nasname;");
85         if ($search){
86                 $num = 0;
87                 unset($nas_list);
88                 while($row = @da_sql_fetch_array($search,$config)){
89                         $my_nas_name = $row['nasname'];
90                         if ($my_nas_name != ''){
91                                 $num++;
92                                 if ($clear_fields == 0 && $selected_nas == $my_nas_name)
93                                         $selected[$my_nas_name] = 'selected';
94                                 $nas_list[$my_nas_name]['name'] = $my_nas_name;
95                                 $nas_list[$my_nas_name]['shortname'] = $row['shortname'];
96                                 $nas_list[$my_nas_name]['type'] = $row['type'];
97                                 $selected[$nas_list[$my_nas_name]['type']] = 'selected';
98                                 $nas_list[$my_nas_name]['ports'] = $row['ports'];
99                                 $nas_list[$my_nas_name]['secret'] = $row['secret'];
100                                 $nas_list[$my_nas_name]['community'] = $row['community'];
101                                 $nas_list[$my_nas_name]['description'] = $row['description'];
102                         }
103                 }
104         }
105 }
106 else
107         echo "<b>Could not connect to SQL database</b><br>\n";
108
109
110 ?>
111
112 <html>
113 <head>
114 <title>NAS Administration Page</title>
115 <link rel="stylesheet" href="style.css">
116 </head>
117 <body bgcolor="#80a040" background="images/greenlines1.gif" link="black" alink="black">
118 <center>
119 <table border=0 width=550 cellpadding=0 cellspacing=0>
120 <tr valign=top>
121 <td align=center><img src="images/title2.gif"></td>
122 </tr>
123 </table>
124 <table border=0 width=400 cellpadding=0 cellspacing=2>
125
126 </table>
127 <br>
128 <table border=0 width=540 cellpadding=1 cellspacing=1>
129 <tr valign=top>
130 <td width=340></td>
131 <td bgcolor="black" width=200>
132         <table border=0 width=100% cellpadding=2 cellspacing=0>
133         <tr bgcolor="#907030" align=right valign=top><th>
134         <font color="white">NAS Administration</font>&nbsp;
135         </th></tr>
136         </table>
137 </td></tr>
138 <tr bgcolor="black" valign=top><td colspan=2>
139         <table border=0 width=100% cellpadding=12 cellspacing=0 bgcolor="#ffffd0" valign=top>
140         <tr><td>
141
142    <form method=post>
143       <input type=hidden name=do_it value=0>
144       <input type=hidden name=clear_fields value=0>
145       <input type=hidden name=select_nas value=0>
146 <?php echo $msg?>
147         <table border=1 bordercolordark=#ffffe0 bordercolorlight=#000000 width=100% cellpadding=2 cellspacing=0 bgcolor="#ffffe0" valign=top>
148 <tr>
149 <td align=right bgcolor="#d0ddb0">
150 NAS List
151 </td>
152 <td>
153 <select name=selected_nas size=5 OnChange="this.form.select_nas.value=1;this.form.submit()"> 
154 <?php
155 foreach ($nas_list as $member){
156         $name = $member[name];
157         echo "<option $selected[$name] value=\"$name\">$name\n";
158 }
159 ?>
160 </select>
161 </td>
162 </tr>
163 <?php
164 $array = $nas_list[$selected_nas];
165 echo <<<EOM
166 <tr>
167 <td align=right bgcolor="#d0ddb0">
168 NAS Name 
169 </td>
170 <td>
171 <input type=text name=nasname size=40 value="$array[name]" $readonly>
172 </td></tr>
173 <tr>
174 <td align=right bgcolor="#d0ddb0">
175 NAS Short Name
176 </td>
177 <td>
178 <input type=text name=nasshortname size=40 value="$array[shortname]">
179 </td></tr>
180 <tr>
181 <td align=right bgcolor="#d0ddb0">
182 NAS Type
183 </td>
184 <td>
185 <select name=nastype size=1>
186 <option $selected[cisco] value="cisco">cisco
187 <option $selected[computone] value="computone">computone
188 <option $selected[livingston] value="livingston">livingston
189 <option $selected[max40xx] value="max40xx">max40xx
190 <option $selected[multitech] value="multitech">multitech
191 <option $selected[netserver] value="netserver">netserver
192 <option $selected[pathras] value="pathras">pathras
193 <option $selected[patton] value="patton">patton
194 <option $selected[portslave] value="portslave">portslave
195 <option $selected[tc] value="tc">tc
196 <option $selected[usrhiper] value="usrhiper">usrhiper
197 <option $selected[other] value="other">other
198 </select>
199 </td></tr>
200 <tr>
201 <td align=right bgcolor="#d0ddb0">
202 NAS Ports Number
203 </td>
204 <td>
205 <input type=text name=nasportnum size=40 value="$array[ports]">
206 </td></tr>
207 <tr>
208 <td align=right bgcolor="#d0ddb0">
209 NAS Secret
210 </td>
211 <td>
212 <input type=text name=nassecret size=40 value="$array[secret]">
213 </td></tr>
214 <tr>
215 <td align=right bgcolor="#d0ddb0">
216 NAS SNMP community
217 </td>
218 <td>
219 <input type=text name=nascommunity size=40 value="$array[community]">
220 </td></tr>
221 <tr>
222 <td align=right bgcolor="#d0ddb0">
223 NAS Description
224 </td>
225 <td>
226 <input type=text name=nasdescription size=40 value="$array[description]">
227 </td></tr>
228 EOM;
229 ?>
230         </table>
231 <br>
232 <select name=action size=1>
233 <?php
234 if ($clear_fields == 1)
235         echo "<option value=\"add_nas\">Add NAS\n";
236 else
237         echo <<<EOM
238 <option value="change_nas">Change NAS Info
239 <option value="del_nas">Delete Selected NAS
240 <option value="check_nas">Check NAS validity
241 EOM;
242 ?>
243 </select>
244 <input type=submit class=button value="Perform Action" OnClick="this.form.do_it.value=1">
245 <br><br>
246 <input type=submit class=button value="Clear Fields" OnClick="this.form.clear_fields.value=1">
247 </form>
248 </td></tr>
249 </table>
250 </tr>
251 </table>
252 </body>
253 </html>