]>
Commit | Line | Data |
---|---|---|
b43ab1a6 JP |
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 | ||
b43ab1a6 JP |
10 | require_once('mitsql.lib.php'); |
11 | ||
997305cf JP |
12 | isLoggedIn() || redirect('login'); |
13 | ||
14 | redirect('main'); | |
b43ab1a6 | 15 | |
997305cf | 16 | exit; |
b43ab1a6 JP |
17 | |
18 | if (isset($_SESSION['owner'])) { | |
19 | $owner = $_SESSION['owner']; | |
20 | $dbm = new DBManage($owner); | |
b43ab1a6 JP |
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'); | |
b43ab1a6 JP |
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 | |
997305cf | 154 | } |
b43ab1a6 | 155 | ?> |