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>&nbsp;</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>&nbsp;</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>&nbsp;**&nbsp;</A>
130              <TD align=center> <A HREF=$PHP_SELF?action=_edit&Host=$host&User=$User>&nbsp;**&nbsp;</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>&nbsp;&nbsp; ";
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\">&nbsp;
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\">&nbsp;
797        
798     </FORM>
799     </CENTER>
800     ";
801   // } else {
802 
803  // }
804 
805 
806  endif;
807     
808 
809 
810  ?>
811 


Generated: Sat Jan 27 15:40:36 2001 Generated by PHPXref 0.1.2
PCCS-Linux.COM ::ource Advocate Articles catalogue
2000 2002