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