|
PCCS MySQLDatabase Admin Tool version 1.3.4
|
/ -> mysqldb_admusers.php
1 <?
2 ///////////////////////////////////////////////////////////////////////////////////// 3 // coder: cthorn 4 // mysqldb_admusers.php 5 // 6 /************************************************************************
7 PCCS MySQLDatabase Admin Tool
8 Copyright (C) Chauncey Thorn
9
10 This program is free software; you can redistribute it and/or
11 modify it under the terms of the GNU General Public License
12 as published by the Free Software Foundation; either version 2
13 of the License, or (at your option) any later version.
14
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License for more details.
19
20 You should have received a copy of the GNU General Public License
21 along with this program; if not, write to the Free Software
22 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA , USA.
23 **************************************************************************/
24
25 // updated 10-23-2000 26 // -- moving to a single file for global include files 27
28 require('mysqldb_app_includes.php');
29
30 print "$_header";
31
32 // User Account Modification 33 ////////////////////////////////////////////////////////////////////////////////////////// 34 print "<p>";
35 print "<H3 align=center><FONT COLOR=blue>$_title : USER ADMINISTRATION</FONT></H3>";
36 print "<P> <CENTER><FONT SIZE=+2 >";
37 print "</FONT></CENTER>";
38 print "<P>";
39
40 if ($action == "_listall"):
41
42 $qry = "SELECT * FROM user ORDER BY Host";
43
44 $result = mysqlquery("mysql",$qry);
45 $num = mysql_numrows($result);
46 $c1 = "#CCCCCC";
47 $c2 = "#CCCCCC";
48 print "<CENTER>";
49 print"<TABLE BORDER=0 CELLSPACING=5 CELLPADDING=0>
50 <TR ALIGN=center>
51 <TH align=left>[S]elect</TH>
52 <TH align=left>[I]nsert</TH>
53 <TH align=left>[U]pdate</TH>
54 <TH align=left>[D]elete</TH>
55 <TH align=left>[C]reate</TH>
56 </TR>
57 <TR>
58
59 <TH align=left>[D]rop</TH>
60 <TH align=left>[S]hutdown</TH>
61 <TH align=left>[P]rocess</TH>
62 <TH align=left>[F]ile</TH>
63 <TH align=left> </TH>
64 </TR>
65 <TR >
66
67 <TH align=left>[G]rant</TH>
68 <TH align=left>[R]eference</TH>
69 <TH align=left>[I]ndex</TH>
70 <TH align=left>[A]lter</TH>
71 <TH align=left> </TH>
72
73 </TR>
74 </TABLE>";
75 print "
76 <TABLE BORDER=0 CELLSPACING=2 CELLPADDING=0>
77
78 </TR>
79 <TR>
80 <TH>Edit Db</TH>
81 <TH>Edit</TH>
82 <TH>Host</TH>
83 <TH>User</TH>
84 <TH>S</TH>
85 <TH>I</TH>
86 <TH>U</TH>
87 <TH>D</TH>
88 <TH>C</TH>
89 <TH>D</TH>
90 <TH>S</TH>
91 <TH>P</TH>
92 <TH>F</TH>
93 <TH>G</TH>
94 <TH>R</TH>
95 <TH>I</TH>
96 <TH>A</TH>
97
98 </TR>
99 ";
100
101 for ($i =0 ;$i < $num; $i++):
102 if ($c == $c1):
103 $c = $c2;
104 else:
105 $c = $c1;
106 endif;
107
108 $host = mysql_result($result,$i,"Host");
109 $User = mysql_result($result,$i,"User");
110 $Select = mysql_result($result,$i,"Select_priv");
111 $Insert = mysql_result($result,$i,"Insert_priv");
112 $Update = mysql_result($result,$i,"Update_priv");
113 $Delete = mysql_result($result,$i,"Delete_priv");
114 $Create = mysql_result($result,$i,"Create_priv");
115 $Drop = mysql_result($result,$i,"Drop_priv");
116 $Shutdown = mysql_result($result,$i,"Shutdown_priv");
117 $Process = mysql_result($result,$i,"Process_priv");
118 $File = mysql_result($result,$i,"File_priv");
119 $Grant = mysql_result($result,$i,"Grant_priv");
120 $Ref = mysql_result($result,$i,"References_priv");
121 $Index = mysql_result($result,$i,"Index_priv");
122 $Alter = mysql_result($result,$i,"Alter_priv");
123
124
125
126 print "
127 <TR BGCOLOR=$c>
128
129 <TD align=center> <A HREF=$PHP_SELF?action=_editdb&Host=$host&User=$User> ** </A>
130 <TD align=center> <A HREF=$PHP_SELF?action=_edit&Host=$host&User=$User> ** </A></TD>
131 <TD> $host </TD>
132 <TD> $User </TD>
133 <TD> $Select </TD>
134 <TD> $Insert </TD>
135 <TD> $Update </TD>
136 <TD> $Delete </TD>
137 <TD> $Create </TD>
138 <TD> $Drop </TD>
139 <TD> $Shutdown </TD>
140 <TD> $Process </TD>
141 <TD> $File </TD>
142 <TD> $Grant </TD>
143 <TD> $Ref </TD>
144 <TD> $Index </TD>
145 <TD> $Alter </TD>
146 </TR>
147 ";
148 endfor;
149 print "</TABLE>";
150 print "<P>";
151 print "<<<<A HREF=mysqldb_newuser.php>back to user management...</A> ";
152 print "<A HREF=./>back to main...</A>>>>";
153
154
155 endif;
156 ///////////////////////////////////////////////////////////////////////////////////////////////////////// 157 ///////////////////////////////////////////////////////////////////////////////////////////////////////// 158
159 if ($action == "_edit"):
160 $option = "<OPTION>Yes</OPTION><OPTION>No</OPTION>";
161 $qry = "SELECT * FROM user WHERE Host='$Host' AND User='$User'";
162
163 $result = mysqlquery("mysql",$qry);
164
165 $Host=htmlspecialchars(mysql_result($result,0,"Host"));
166 $User=htmlspecialchars(mysql_result($result,0,"User"));
167 $Password=htmlspecialchars(mysql_result($result,0,"Password"));
168 $Select_priv=htmlspecialchars(mysql_result($result,0,"Select_priv"));
169 $Insert_priv=htmlspecialchars(mysql_result($result,0,"Insert_priv"));
170 $Update_priv=htmlspecialchars(mysql_result($result,0,"Update_priv"));
171 $Delete_priv=htmlspecialchars(mysql_result($result,0,"Delete_priv"));
172 $Create_priv=htmlspecialchars(mysql_result($result,0,"Create_priv"));
173 $Drop_priv=htmlspecialchars(mysql_result($result,0,"Drop_priv"));
174 $Reload_priv=htmlspecialchars(mysql_result($result,0,"Reload_priv"));
175 $Shutdown_priv=htmlspecialchars(mysql_result($result,0,"Shutdown_priv"));
176 $Process_priv=htmlspecialchars(mysql_result($result,0,"Process_priv"));
177 $File_priv=htmlspecialchars(mysql_result($result,0,"File_priv"));
178 $Grant_priv=htmlspecialchars(mysql_result($result,0,"Grant_priv"));
179 $References_priv=htmlspecialchars(mysql_result($result,0,"References_priv"));
180 $Index_priv=htmlspecialchars(mysql_result($result,0,"Index_priv"));
181 $Alter_priv=htmlspecialchars(mysql_result($result,0,"Alter_priv"));
182
183 echo "<H2 ALIGN=center>Edit User: $User that connects from $Host </H2>";
184
185 $user = $User=htmlspecialchars(mysql_result($result,0,"User"));
186
187 print "<FORM ACTION=mysqldb_admin.php?action=_update METHOD=POST>";
188 print "
189 <CENTER>
190 <TABLE BORDER=0 CELLPADDING=6>
191 <TR><TD ALIGN=\"RIGHT\" VALIGN=\"TOP\"><B>Host: </TD>
192 <TD VALIGN=\"TOP\">
193 <INPUT NAME=Host SIZE=20 MAXLENGTH=60 VALUE=\"$Host\">
194 </TD></TR>
195
196 <TR><TD ALIGN=\"RIGHT\" VALIGN=\"TOP\"><B>User: </TD>
197 <TD VALIGN=\"TOP\"><INPUT NAME=User SIZE=16 MAXLENGTH=16 VALUE=\"$User\">
198 </TD>
199
200 <TD ALIGN=\"RIGHT\" VALIGN=\"TOP\"><B>Password: </TD>
201 <TD VALIGN=\"TOP\"><INPUT NAME=Password SIZE=16 MAXLENGTH=16 VALUE=\"$Password \">
202 </TD></TR>
203 </TABLE>
204 <TABLE BORDER=0 CELLPADDING=6>
205 <TR><TD ALIGN=\"LEFT\" VALIGN=\"TOP\"><B>Select <BR>
206 <SELECT NAME=Select_priv>
207 <OPTION VALUE=$Select_priv SELECTED>$Select_priv</OPTION>
208 <OPTION VALUE=\"Y\">Y</OPTION>
209 <OPTION VALUE=\"N\">N</OPTION>
210
211 </SELECT>
212 </TD>
213 <TD ALIGN=\"LEFT\" VALIGN=\"TOP\"><B>Insert <BR>
214 <SELECT NAME=Insert_priv SINGLE>
215 <OPTION VALUE=$Insert_priv SELECTED>$Insert_priv</OPTION>
216 <OPTION VALUE=\"Y\">Y</OPTION>
217 <OPTION VALUE=\"N\">N</OPTION>
218 </SELECT>
219
220 </TD><TD ALIGN=\"LEFT\" VALIGN=\"TOP\"><B>Update: <BR>
221 <SELECT NAME=Update_priv SINGLE>
222 <OPTION VALUE=$Update_priv SELECTED>$Update_priv</OPTION>
223 <OPTION VALUE=\"Y\">Y</OPTION>
224 <OPTION VALUE=\"N\">N</OPTION>
225 </SELECT>
226
227 </TD><TD ALIGN=\"LEFT\" VALIGN=\"TOP\"><B>Delete <BR>
228 <SELECT NAME=Delete_priv VALUE=\"$Delete_priv\">
229 <OPTION VALUE=$Delete_priv>$Delete_priv</OPTION>
230 <OPTION VALUE=\"Y\">Y</OPTION>
231 <OPTION VALUE=\"N\">N</OPTION>
232 </SELECT>
233
234 </TD><TD ALIGN=\"LEFT\" VALIGN=\"TOP\"><B>Create: <BR>
235 <SELECT NAME=Create_priv VALUE=\"$Create_priv\">
236 <OPTION VALUE=\"$Create_priv\">$Create_priv</OPTION>
237 <OPTION VALUE=\"Y\">Y</OPTION>
238 <OPTION VALUE=\"N\">N</OPTION>
239 </SELECT>
240
241 </TD><TD ALIGN=\"LEFT\" VALIGN=\"TOP\"><B>Drop: <BR>
242 <SELECT NAME=Drop_priv VALUE=\"$Drop_priv\">
243 <OPTION VALUE=$Drop_priv>$Drop_priv</OPTION>
244 <OPTION VALUE=\"Y\">Y</OPTION>
245 <OPTION VALUE=\"N\">N</OPTION>
246 </SELECT>
247 </TD></TR>
248
249 <TR><TD ALIGN=\"LEFT\" VALIGN=\"TOP\"><B>Reload: <BR>
250 <SELECT NAME=Reload_priv VALUE=\"$Reload_priv\">
251 <OPTION VALUE=$Reload_priv>$Reload_priv</OPTION>
252 <OPTION VALUE=\"Y\">Y</OPTION>
253 <OPTION VALUE=\"N\">N</OPTION>
254 </SELECT>
255 </TD>
256
257 <TD ALIGN=\"LEFT\" VALIGN=\"TOP\"><B>Shutdown: <BR>
258 <SELECT NAME=Shutdown_priv VALUE=\"$Shutdown_priv\">
259 <OPTION VALUE=$Shutdown_priv>$Shutdown_priv</OPTION>
260 <OPTION VALUE=\"Y\">Y</OPTION>
261 <OPTION VALUE=\"N\">N</OPTION>
262 </SELECT>
263 </TD>
264
265 <TD ALIGN=\"LEFT\" VALIGN=\"TOP\"><B>Process: <BR>
266 <SELECT NAME=Process_priv VALUE=\"$Process_priv\">
267 <OPTION VALUE=$Process_priv>$Process_priv</OPTION>
268 <OPTION VALUE=\"Y\">Y</OPTION>
269 <OPTION VALUE=\"N\">N</OPTION>
270 </SELECT>
271 </TD>
272
273 <TD ALIGN=\"LEFT\" VALIGN=\"TOP\"><B>File: <BR>
274 <SELECT NAME=File_priv VALUE=\"$File_priv\">
275 <OPTION VALUE=$File_priv>$File_priv</OPTION>
276 <OPTION VALUE=\"Y\">Y</OPTION>
277 <OPTION VALUE=\"N\">N</OPTION>
278 </SELECT>
279 </TD></TR>
280
281 <TR><TD ALIGN=\"LEFT\" VALIGN=\"TOP\"><B>Grant: <BR>
282 <SELECT NAME=Grant_priv VALUE=\"$Grant_priv\">
283 <OPTION VALUE=$Grant_priv>$Grant_priv</OPTION>
284 <OPTION VALUE=\"Y\">Y</OPTION>
285 <OPTION VALUE=\"N\">N</OPTION>
286 </SELECT>
287 </TD>
288
289 <TD ALIGN=\"LEFT\" VALIGN=\"TOP\"><B>References: <BR>
290 <SELECT NAME=References_priv VALUE=\"$References_priv\">
291 <OPTION VALUE=$References_priv>$References_priv</OPTION>
292 <OPTION VALUE=\"Y\">Y</OPTION>
293 <OPTION VALUE=\"N\">N</OPTION>
294 </SELECT>
295 </TD>
296
297 <TD ALIGN=\"LEFT\" VALIGN=\"TOP\"><B>Index: <BR>
298 <SELECT NAME=Index_priv VALUE=\"$Index_priv\">
299 <OPTION VALUE=$Index_priv>$Index_priv</OPTION>
300 <OPTION VALUE=\"Y\">Y</OPTION>
301 <OPTION VALUE=\"N\">N</OPTION>
302 </SELECT>
303 </TD>
304
305 <TD ALIGN=\"LEFT\" VALIGN=\"TOP\"><B>Alter: <BR>
306 <SELECT NAME=Alter_priv VALUE=\"$Alter_priv\">
307 <OPTION VALUE=$Alter_priv>$Alter_priv</OPTION>
308 <OPTION VALUE=\"Y\">Y</OPTION>
309 <OPTION VALUE=\"N\">N</OPTION>
310 </SELECT>
311 </TD></TR>
312 </TABLE>
313 <INPUT TYPE=submit NAME=\"Save\" VALUE=\"UPDATE Account\">
314 <INPUT TYPE=reset VALUE=\"Clear all fields\">
315 </FORM>
316 </CENTER>
317 ";
318 endif;
319 /////////////////////////////////////////////////////////////////////////////////////////////// 320 /////////////////////////////////////////////////////////////////////////////////////////////// 321
322 if ($action == "_update"):
323 //*** Check data Input
324 $ok = 1;
325 echo "<TABLE BORDER=0>";
326
327 $Host=chop($Host);
328 if ($Host == ""):
329 echo "<TR><TD ALIGN=RIGHT><B>Host: </TD><TD> $Host</TD>";
330 $ok = 0;
331 echo "<TD CLASS=red>Host must be specified !</TD>";
332 endif;
333
334 if (!empty($fields)) $fields.=',';
335 $fields.="Host=";
336 $fields.="'$Host'";
337 $User=chop($User);
338 if ($User == ""):
339 echo "<TR><TD ALIGN=RIGHT><B>User: </TD><TD> $User</TD>";
340 $ok = 0;
341 echo "<TD CLASS=red>User must be specified !</TD>";
342 endif;
343
344 if (!empty($fields)) $fields.=',';
345 $fields.="User=";
346 $fields.="'$User'";
347 $Password=chop($Password);
348 if ($Password == ""):
349 echo "<TR><TD ALIGN=RIGHT><B>Password: </TD><TD> $Password</TD>";
350 $ok = 0;
351 echo "<TD CLASS=red>Password must be specified !</TD>";
352 endif;
353
354 if (!empty($fields)) $fields.=',';
355 $fields.="Password=";
356 $fields.="password('$Password')";
357 $Select_priv=chop($Select_priv);
358 if ($Select_priv == ""):
359 echo "<TR><TD ALIGN=RIGHT><B>Select: </TD><TD> $Select_priv</TD>";
360 $ok = 0;
361 echo "<TD CLASS=red>Select must be specified !</TD>";
362 endif;
363
364 if (!empty($fields)) $fields.=',';
365 $fields.="Select_priv=";
366 $fields.="'$Select_priv'";
367 $Insert_priv=chop($Insert_priv);
368 if ($Insert_priv == ""):
369 echo "<TR><TD ALIGN=RIGHT><B>Insert: </TD><TD> $Insert_priv</TD>";
370 $ok = 0;
371 echo "<TD CLASS=red>Insert must be specified !</TD>";
372 endif;
373
374 if (!empty($fields)) $fields.=',';
375 $fields.="Insert_priv=";
376 $fields.="'$Insert_priv'";
377 $Update_priv=chop($Update_priv);
378 if ($Update_priv == ""):
379 echo "<TR><TD ALIGN=RIGHT><B>Update: </TD><TD> $Update_priv</TD>";
380 $ok = 0;
381 echo "<TD CLASS=red>Update must be specified !</TD>";
382 endif;
383
384 if (!empty($fields)) $fields.=',';
385 $fields.="Update_priv=";
386 $fields.="'$Update_priv'";
387 $Delete_priv=chop($Delete_priv);
388 if ($Delete_priv == ""):
389 echo "<TR><TD ALIGN=RIGHT><B>Delete: </TD><TD> $Delete_priv</TD>";
390 $ok = 0;
391 echo "<TD CLASS=red>Delete must be specified !</TD>";
392 endif;
393
394 if (!empty($fields)) $fields.=',';
395 $fields.="Delete_priv=";
396 $fields.="'$Delete_priv'";
397 $Create_priv=chop($Create_priv);
398 if ($Create_priv == ""):
399 echo "<TR><TD ALIGN=RIGHT><B>Create: </TD><TD> $Create_priv</TD>";
400 $ok = 0;
401 echo "<TD CLASS=red>Create must be specified !</TD>";
402 endif;
403
404 if (!empty($fields)) $fields.=',';
405 $fields.="Create_priv=";
406 $fields.="'$Create_priv'";
407 $Drop_priv=chop($Drop_priv);
408 if ($Drop_priv == ""):
409 echo "<TR><TD ALIGN=RIGHT><B>Drop: </TD><TD> $Drop_priv</TD>";
410 $ok = 0;
411 echo "<TD CLASS=red>Drop must be specified !</TD>";
412 endif;
413
414 if (!empty($fields)) $fields.=',';
415 $fields.="Drop_priv=";
416 $fields.="'$Drop_priv'";
417 $Reload_priv=chop($Reload_priv);
418 if ($Reload_priv == ""):
419 echo "<TR><TD ALIGN=RIGHT><B>Reload: </TD><TD> $Reload_priv</TD>";
420 $ok = 0;
421 echo "<TD CLASS=red>Reload must be specified !</TD>";
422 endif;
423
424 if (!empty($fields)) $fields.=',';
425 $fields.="Reload_priv=";
426 $fields.="'$Reload_priv'";
427 $Shutdown_priv=chop($Shutdown_priv);
428 if ($Shutdown_priv == ""):
429 echo "<TR><TD ALIGN=RIGHT><B>Shutdown: </TD><TD> $Shutdown_priv</TD>";
430 $ok = 0;
431 echo "<TD CLASS=red>Shutdown must be specified !</TD>";
432 endif;
433
434 if (!empty($fields)) $fields.=',';
435 $fields.="Shutdown_priv=";
436 $fields.="'$Shutdown_priv'";
437 $Process_priv=chop($Process_priv);
438 if ($Process_priv == ""):
439 echo "<TR><TD ALIGN=RIGHT><B>Process: </TD><TD> $Process_priv</TD>";
440 $ok = 0;
441 echo "<TD CLASS=red>Process must be specified !</TD>";
442 endif;
443
444 if (!empty($fields)) $fields.=',';
445 $fields.="Process_priv=";
446 $fields.="'$Process_priv'";
447 $File_priv=chop($File_priv);
448 if ($File_priv == ""):
449 echo "<TR><TD ALIGN=RIGHT><B>File: </TD><TD> $File_priv</TD>";
450 $ok = 0;
451 echo "<TD CLASS=red>File must be specified !</TD>";
452 endif;
453
454 if (!empty($fields)) $fields.=',';
455 $fields.="File_priv=";
456 $fields.="'$File_priv'";
457 $Grant_priv=chop($Grant_priv);
458 if ($Grant_priv == ""):
459 echo "<TR><TD ALIGN=RIGHT><B>Grant: </TD><TD> $Grant_priv</TD>";
460 $ok = 0;
461 echo "<TD CLASS=red>Grant must be specified !</TD>";
462 endif;
463
464 if (!empty($fields)) $fields.=',';
465 $fields.="Grant_priv=";
466 $fields.="'$Grant_priv'";
467 $References_priv=chop($References_priv);
468 if ($References_priv == ""):
469 echo "<TR><TD ALIGN=RIGHT><B>References: </TD><TD> $References_priv</TD>";
470 $ok = 0;
471 echo "<TD CLASS=red>References must be specified !</TD>";
472 endif;
473
474 if (!empty($fields)) $fields.=',';
475 $fields.="References_priv=";
476 $fields.="'$References_priv'";
477 $Index_priv=chop($Index_priv);
478 if ($Index_priv == ""):
479 echo "<TR><TD ALIGN=RIGHT><B>Index: </TD><TD> $Index_priv</TD>";
480 $ok = 0;
481 echo "<TD CLASS=red>Index must be specified !</TD>";
482 endif;
483
484 if (!empty($fields)) $fields.=',';
485 $fields.="Index_priv=";
486 $fields.="'$Index_priv'";
487 $Alter_priv=chop($Alter_priv);
488 if ($Alter_priv == ""):
489 echo "<TR><TD ALIGN=RIGHT><B>Alter: </TD><TD> $Alter_priv</TD>";
490 $ok = 0;
491 echo "<TD CLASS=red>Alter must be specified !</TD>";
492 endif;
493
494 if (!empty($fields)) $fields.=',';
495 $fields.="Alter_priv=";
496 $fields.="'$Alter_priv'";
497
498 $qry = "UPDATE user SET $fields WHERE Host='$Host' AND User='$User' ";
499 $result = mysqlquery("mysql",$qry);
500 if (!empty($result)) {
501 echo $qry;
502
503
504
505 // $qry = "FLUSH PRIVILEGES";
506 // $result = mysqlquery("mysql",$qry);
507 // if (!empty($result)) {
508 // echo $qry;
509 // echo "<META CONTENT=\"0; URL=mysqldb_admin.php?action=_listall\" HTTP-EQUIV=\"REFRESH\">";
510 // } else {
511 // echo mysql_error()."<BR>\n";
512 // }
513
514
515 } else {
516 echo mysql_error()."<BR>\n";
517 }
518
519
520
521 endif;
522 ////////////////////////////////////////////////////////////////////////////// 523 ////////////////////////////////////////////////////////////////////////////// 524
525 if ($action == "_listdbs"):
526 $qry = "SELECT * FROM db WHERE User='$User' AND Host=trim('$Host') ORDER BY Host";
527 $result = mysqlquery("mysql", $qry);
528
529 $num = mysql_numrows($result);
530 $c1 = "#CCCCCC";
531 $c2 = "#CCCCCC";
532 print "
533 <TABLE BORDER=0 CELLSPACING=2 CELLPADDING=0>
534 <TR>
535 <TH>Host</TH>
536 <TH>User</TH>
537 <TH>Db(s)</TH>
538 <TH>S</TH>
539 <TH>I</TH>
540 <TH>U</TH>
541 <TH>D</TH>
542 <TH>C</TH>
543 <TH>D</TH>
544 <TH>R</TH>
545 <TH>G</TH>
546 <TH>R</TH>
547 <TH>A</TH>
548 </TR>
549 ";
550
551 for ($i =0 ;$i < $num; $i++):
552 if ($c == $c1):
553 $c = $c2;
554 else:
555 $c = $c1;
556 endif;
557 print "
558 <TR BGCOLOR=$c>
559 ";
560
561 $Host = mysql_result($result,$i,"Host");
562 $User = mysql_result($result,$i,"User");
563 $Db = mysql_result($result,$i,"Db");
564 $Select = mysql_result($result,$i,"Select_priv");
565 $Insert = mysql_result($result,$i,"Insert_priv");
566 $Update = mysql_result($result,$i,"Update_priv");
567 $Delete = mysql_result($result,$i,"Delete_priv");
568 $Create = mysql_result($result,$i,"Create_priv");
569 $Drop = mysql_result($result,$i,"Drop_priv");
570 $Grant = mysql_result($result,$i,"Grant_priv");
571 $Ref = mysql_result($result,$i,"References_priv");
572 $Index = mysql_result($result,$i,"Index_priv");
573 $Alter = mysql_result($result,$i,"Alter_priv");
574
575
576 print "
577
578 <TD><A HREF=$PHP_SELF?action=_editdb&par=$Host&User=$User>$Host</A> </TD>
579 <TD> $User </TD>
580 <TD> $Db </TD>
581 <TD> $Select </TD>
582 <TD> $Insert </TD>
583 <TD> $Update </TD>
584 <TD> $Delete </TD>
585 <TD> $Create </TD>
586 <TD> $Drop </TD>
587 <TD> $Grant </TD>
588 <TD> $Ref </TD>
589 <TD> $Index </TD>
590 <TD> $Alter </TD>
591 </TR>";
592
593 endfor;
594 print "</TABLE>";
595
596 endif;
597 /////////////////////////////////////////////////////////////////////////// 598 /////////////////////////////////////////////////////////////////////////// 599
600
601 if ($action == "_editdb"):
602
603 $qry = "SELECT * FROM db WHERE User='$User' AND Host=trim('$Host') ORDER BY Host";
604 $result = mysqlquery("mysql", $qry);
605
606 $num = mysql_numrows($result);
607 $c1 = "#CCCCCC";
608 $c2 = "#CCCCCC";
609 print "<CENTER>
610 <TABLE BORDER=0 CELLSPACING=2 CELLPADDING=0>
611 <TR>
612 <TH>Host</TH>
613 <TH>User</TH>
614 <TH>Db(s)</TH>
615 <TH>S</TH>
616 <TH>I</TH>
617 <TH>U</TH>
618 <TH>D</TH>
619 <TH>C</TH>
620 <TH>D</TH>
621 <TH>R</TH>
622 <TH>G</TH>
623 <TH>R</TH>
624 <TH>A</TH>
625 </TR>
626 ";
627
628 for ($i =0 ;$i < $num; $i++):
629 if ($c == $c1):
630 $c = $c2;
631 else:
632 $c = $c1;
633 endif;
634 print "
635 <TR BGCOLOR=$c>
636 ";
637
638 $Host = mysql_result($result,$i,"Host");
639 $User = mysql_result($result,$i,"User");
640 $Db = mysql_result($result,$i,"Db");
641 $Select = mysql_result($result,$i,"Select_priv");
642 $Insert = mysql_result($result,$i,"Insert_priv");
643 $Update = mysql_result($result,$i,"Update_priv");
644 $Delete = mysql_result($result,$i,"Delete_priv");
645 $Create = mysql_result($result,$i,"Create_priv");
646 $Drop = mysql_result($result,$i,"Drop_priv");
647 $Grant = mysql_result($result,$i,"Grant_priv");
648 $Ref = mysql_result($result,$i,"References_priv");
649 $Index = mysql_result($result,$i,"Index_priv");
650 $Alter = mysql_result($result,$i,"Alter_priv");
651
652
653 print "
654
655 <TD> $Host </TD>
656 <TD> $User </TD>
657 <TD> $Db </TD>
658 <TD> $Select </TD>
659 <TD> $Insert </TD>
660 <TD> $Update </TD>
661 <TD> $Delete </TD>
662 <TD> $Create </TD>
663 <TD> $Drop </TD>
664 <TD> $Grant </TD>
665 <TD> $Ref </TD>
666 <TD> $Index </TD>
667 <TD> $Alter </TD>
668 </TR>";
669
670 endfor;
671 print "</TABLE></CENTER>";
672
673
674
675
676
677 $qry = "SELECT * FROM db WHERE Host='$Host' AND
678 USER='$User'";
679
680 $result = mysqlquery("mysql",$qry);
681
682
683 // if(!empty($result)) {
684
685 $Host=htmlspecialchars(@mysql_result($result,0,"Host"));
686 $Db=htmlspecialchars(@mysql_result($result,0,"Db"));
687 $User=htmlspecialchars(@mysql_result($result,0,"User"));
688 $Select_priv=htmlspecialchars(@mysql_result($result,0,"Select_priv"));
689 $Insert_priv=htmlspecialchars(@mysql_result($result,0,"Insert_priv"));
690 $Update_priv=htmlspecialchars(@mysql_result($result,0,"Update_priv"));
691 $Delete_priv=htmlspecialchars(@mysql_result($result,0,"Delete_priv"));
692 $Create_priv=htmlspecialchars(@mysql_result($result,0,"Create_priv"));
693 $Drop_priv=htmlspecialchars(@mysql_result($result,0,"Drop_priv"));
694 $Grant_priv=htmlspecialchars(@mysql_result($result,0,"Grant_priv"));
695 $References_priv=htmlspecialchars(@mysql_result($result,0,"References_priv"));
696 $Index_priv=htmlspecialchars(@mysql_result($result,0,"Index_priv"));
697 $Alter_priv=htmlspecialchars(@mysql_result($result,0,"Alter_priv"));
698
699 print "<H2 ALIGN=center>Edit access for $User on Dbase: $Db</H2>";
700 print "<FORM ACTION=$PHP_SELF?action=spara&par=$par METHOD=POST>";
701 print "<CENTER>
702 <TABLE BORDER=0 CELLPADDING=6>
703 <TR><TD ALIGN=\"RIGHT\" VALIGN=\"TOP\"><B>Host: </TD>
704 <TD VALIGN=\"TOP\">
705 <INPUT NAME=Host SIZE=20 MAXLENGTH=60 VALUE=\"$Host\"></TD></TR>
706
707 <TR><TD ALIGN=\"RIGHT\" VALIGN=\"TOP\"><B>Database: </TD>
708 <TD VALIGN=\"TOP\">
709 <INPUT NAME=Db SIZE=32 MAXLENGTH=32 VALUE=\"$Db\"></TD></TR>
710
711 <TR><TD ALIGN=\"RIGHT\" VALIGN=\"TOP\"><B>User: </TD><TD
712 VALIGN=\"TOP\"><INPUT NAME=User SIZE=16 MAXLENGTH=16 VALUE=\"$User\"></TD></TR>
713 </TABLE>
714 <TABLE BORDER=0 CELLPADDING=6>
715 <TR><TD ALIGN=\"LEFT\" VALIGN=\"TOP\"><B>Select <BR>
716 <SELECT NAME=Select_priv>
717 <OPTION VALUE=$Select_priv SELECTED>$Select_priv</OPTION>
718 <OPTION VALUE=\"Y\">Y</OPTION>
719 <OPTION VALUE=\"N\">N</OPTION>
720
721 </SELECT>
722 </TD>
723 <TD ALIGN=\"LEFT\" VALIGN=\"TOP\"><B>Insert <BR>
724 <SELECT NAME=Insert_priv SINGLE>
725 <OPTION VALUE=$Insert_priv SELECTED>$Insert_priv</OPTION>
726 <OPTION VALUE=\"Y\">Y</OPTION>
727 <OPTION VALUE=\"N\">N</OPTION>
728 </SELECT>
729
730 </TD><TD ALIGN=\"LEFT\" VALIGN=\"TOP\"><B>Update: <BR>
731 <SELECT NAME=Update_priv SINGLE>
732 <OPTION VALUE=$Update_priv SELECTED>$Update_priv</OPTION>
733 <OPTION VALUE=\"Y\">Y</OPTION>
734 <OPTION VALUE=\"N\">N</OPTION>
735 </SELECT>
736
737 </TD><TD ALIGN=\"LEFT\" VALIGN=\"TOP\"><B>Delete <BR>
738 <SELECT NAME=Delete_priv VALUE=\"$Delete_priv\">
739 <OPTION VALUE=$Delete_priv>$Delete_priv</OPTION>
740 <OPTION VALUE=\"Y\">Y</OPTION>
741 <OPTION VALUE=\"N\">N</OPTION>
742 </SELECT>
743
744 </TD><TD ALIGN=\"LEFT\" VALIGN=\"TOP\"><B>Create: <BR>
745 <SELECT NAME=Create_priv VALUE=\"$Create_priv\">
746 <OPTION VALUE=\"$Create_priv\">$Create_priv</OPTION>
747 <OPTION VALUE=\"Y\">Y</OPTION>
748 <OPTION VALUE=\"N\">N</OPTION>
749 </SELECT>
750
751 </TD><TD ALIGN=\"LEFT\" VALIGN=\"TOP\"><B>Drop: <BR>
752 <SELECT NAME=Drop_priv VALUE=\"$Drop_priv\">
753 <OPTION VALUE=$Drop_priv>$Drop_priv</OPTION>
754 <OPTION VALUE=\"Y\">Y</OPTION>
755 <OPTION VALUE=\"N\">N</OPTION>
756 </SELECT>
757 </TD></TR>
758
759
760
761 <TR><TD ALIGN=\"LEFT\" VALIGN=\"TOP\"><B>Grant: <BR>
762 <SELECT NAME=Grant_priv VALUE=\"$Grant_priv\">
763 <OPTION VALUE=$Grant_priv>$Grant_priv</OPTION>
764 <OPTION VALUE=\"Y\">Y</OPTION>
765 <OPTION VALUE=\"N\">N</OPTION>
766 </SELECT>
767 </TD>
768
769 <TD ALIGN=\"LEFT\" VALIGN=\"TOP\"><B>References: <BR>
770 <SELECT NAME=References_priv VALUE=\"$References_priv\">
771 <OPTION VALUE=$References_priv>$References_priv</OPTION>
772 <OPTION VALUE=\"Y\">Y</OPTION>
773 <OPTION VALUE=\"N\">N</OPTION>
774 </SELECT>
775 </TD>
776
777 <TD ALIGN=\"LEFT\" VALIGN=\"TOP\"><B>Index: <BR>
778 <SELECT NAME=Index_priv VALUE=\"$Index_priv\">
779 <OPTION VALUE=$Index_priv>$Index_priv</OPTION>
780 <OPTION VALUE=\"Y\">Y</OPTION>
781 <OPTION VALUE=\"N\">N</OPTION>
782 </SELECT>
783 </TD>
784
785 <TD ALIGN=\"LEFT\" VALIGN=\"TOP\"><B>Alter: <BR>
786 <SELECT NAME=Alter_priv VALUE=\"$Alter_priv\">
787 <OPTION VALUE=$Alter_priv>$Alter_priv</OPTION>
788 <OPTION VALUE=\"Y\">Y</OPTION>
789 <OPTION VALUE=\"N\">N</OPTION>
790 </SELECT>
791 </TD></TR>
792 </TABLE>
793
794
795
796 <INPUT TYPE=submit NAME=\"Save\" VALUE=\"Update Permissions\">
797
798 </FORM>
799 </CENTER>
800 ";
801 // } else {
802
803 // } 804
805
806 endif;
807
808
809
810 ?>
811
| |