]> andersk Git - sql-web.git/blob - index.php
first stab at 0.2
[sql-web.git] / index.php
1 <?php
2 /*
3         (c) 2005 Joe Presbrey
4         written for SIPB/MIT
5
6         add switching of what owner to manage
7         - to support group sql "lockers"
8 */
9
10 require_once('mitsql.lib.php');
11
12 isLoggedIn() || redirect('login');
13
14 redirect('main');
15
16 exit;
17
18 if (isset($_SESSION['owner'])) {
19         $owner = $_SESSION['owner'];
20         $dbm = new DBManage($owner);
21
22 ?><p><h2>SQL Databases: <?php echo $owner; ?></h2><?php
23 if (isset($realuser)) {
24 ?><h4> [ <a href="?op=admin"><?php echo $realuser; ?></a> ]</h4><?php
25 }
26 ?></p><?php
27
28 $inputvars = array('initpw', 'op', 'name', 'owner');
29
30 if (isset($i_op)) {
31         switch($i_op) {
32                 case 'admin':
33                         if (isset($i_owner)) {
34                                 $_SESSION['owner'] = $i_owner;
35                                 $_SESSION['realuser'] = $_SESSION['owner'];
36                                 redirectLocal('/');
37                         } else {
38                                 redirectLocal('/admin/');
39                         }
40                 case 'init':
41                         if (strlen($i_initpw)<PASS_MIN_LEN) {
42                                 echo '<p class="err">',TEXT_REGPASSTOOSHORT,'</p>';
43                         } else {
44                                 if (!$dbm->isInit()) {
45                                         $dbm->init($i_initpw);
46                                         redirectLocal('/');
47                                 } else {
48                                         echo '<p class="err">Your account is already initialized.</p>';
49                                 }
50                         }
51                         break;
52                 case 'uninit':
53                         echo '<p>This operation will remove all the databases and accounts for: ',$owner,'.  Are you sure?</p>';
54                         echo '<form method="',FORM_METHOD,'"><tr><td><div align="left"><input type=hidden name="op" value="uninit2"><input type="submit" value="Remove My Account"></div></td></form>';
55                         exit();
56                         break;
57                 case 'uninit2':
58                         $dbm->uninit();
59                         redirectLocal('/');
60                         break;
61                 case 'adddb':
62                         if ($dbm->getNumDBs() < $dbm->getNumMaxDBs()) {
63                                 $dbm->addDB($owner.DELIMETER.$i_name);
64                                 redirectLocal('/');
65                         } else {
66                                 echo '<p class="err">',TEXT_DBLIMIT,'</p>';
67                         }
68                         break;
69                 case 'deldb':
70                         if ($dbm->isRegistered($i_name)) {
71                                 $dbm->delDB($i_name);
72                                 redirectLocal('/');
73                         } else {
74                                 echo '<p class="err">',TEXT_NOTREG,'</p>';
75                         }
76                         break;
77                 case 'createdb':
78                         if ($dbm->isRegistered($i_name)) {
79                                 $dbm->createDB($i_name);
80                                 redirectLocal('/');
81                         } else {
82                                 echo '<p class="err">',TEXT_NOTREG,'</p>';
83                         }
84                         break;
85                 case 'dropdb':
86                         if ($dbm->isRegistered($i_name)) {
87                                 $dbm->dropDB($i_name);
88                                 redirectLocal('/');
89                         } else {
90                                 echo '<p class="err">',TEXT_NOTREG,'</p>';
91                         }
92                         break;
93                 case 'grantdb':
94                         if ($dbm->isRegistered($i_name)) {
95                                 $dbm->grantDB($i_name);
96                                 redirectLocal('/');
97                         } else {
98                                 echo '<p class="err">',TEXT_NOTREG,'</p>';
99                         }
100                         break;
101                 case 'revokedb':
102                         if ($dbm->isRegistered($i_name)) {
103                                 $dbm->revokeDB($i_name);
104                                 redirectLocal('/');
105                         } else {
106                                 echo '<p class="err">',TEXT_NOTREG,'</p>';
107                         }
108                         break;
109         }
110         $dbm = null;
111         $dbm = new DBManage($owner);
112 }
113 ?>
114
115
116
117 <?php
118         if ($dbm->getNumDBs()) {
119                 echo '<table>';
120                 $dbm->printOwnerDBs();
121                 echo '</table>';
122         }
123         if ($dbm->isInit()) {
124                 echo '<form method="',FORM_METHOD,'"><input type=text readonly value="',$owner.DELIMETER,'" style="text-align:right"><input type=text name="name"><input type=hidden name="op" value="adddb"><input type=submit value="Add Database"></form>';
125
126                 $dbm->printOwner();
127                 echo '<table width="100%" style="margin-top:20px;">';
128                 echo '<form method="',FORM_METHOD,'"><tr><td><div align="left"><input type=hidden name="op" value="uninit"><input type="submit" value="Remove My Account"></div></td></form>';
129         } else {
130                 echo '<h3>',TEXT_NOREG,'</h3>';
131                 echo '<form method="',FORM_METHOD,'">';
132                 echo '<table>';
133                 echo '<tr><td>your SQL server:</td><td>',HOST,'</td></tr>';
134                 echo '<tr><td>your SQL username:</td><td>',$owner,'</td></tr>';
135                 echo '<tr><td>choose a SQL password:</td><td><input type=hidden name="op" value="init"><input type="password" name="initpw" value=""></td></tr></table>';
136                 echo '<table width="100%" style="margin-top:20px;">';
137                 echo '<tr><td></td><td><input type="submit" value="Activate My Account"></td></form>';
138         }
139         echo '<form method=get><td><div align="right"><input type=hidden name="reset" value=""><input type="submit" value="Restart"></div></td></form></tr></table>';
140
141         @mysql_close($cxn);
142
143         if (DEBUG) {
144                 echo '<!--';
145                 print_r($dbm);
146                 echo '-->';
147         }
148 ?>
149 <hr><div align="right">
150
151 <address>MIT SQL Service Management v<?php echo VERSION; ?><br />
152 Direct comments and bugs to: <a href="mailto:presbrey@mit.edu">presbrey@mit.edu</a></address></div>
153 <?php
154 }
155 ?>
This page took 0.044107 seconds and 5 git commands to generate.