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