5 if(gwvpmini_isLoggedIn()) if(gwvpmini_isUserAdmin()) {
6 $MENU_ITEMS["20repos"]["text"] = "Administration";
\r
7 $MENU_ITEMS["20repos"]["link"] = "$BASE_URL/admin";
8 $CALL_ME_FUNCTIONS["admin"] = "gwvpmini_AdminCallMe";
14 function gwvpmini_AdminCallMe()
\r
17 //// // error_log("in admin callme");
\r
18 if(isset($_REQUEST["q"])) {
\r
19 $query = $_REQUEST["q"];
\r
20 $qspl = explode("/", $query);
\r
21 if(isset($qspl[0])) {
\r
22 if($qspl[0] == "admin") {
\r
23 if(isset($qspl[1])) {
\r
24 if($qspl[1] == "user") {
\r
25 return "gwvpmini_AdminUserCreate";
\r
27 if($qspl[1] == "changereg") {
28 return "gwvpmini_ChangeRegistration";
30 if($qspl[1] == "changeconfirm") {
31 return "gwvpmini_ChangeRegConfig";
33 if($qspl[1] == "changefromemail") {
34 return "gwvpmini_ChangeFromAddress";
36 if($qspl[1] == "removeuser") {
37 return "gwvpmini_RemoveUserPage";
39 if($qspl[1] == "removerepo") {
40 return "gwvpmini_RemoveRepoPage";
42 if($qspl[1] == "confremoveuser") {
43 return "gwvpmini_ConfRemoveUser";
45 if($qspl[1] == "confremoverepo") {
46 return "gwvpmini_ConfRemoveRepo";
48 if($qspl[1] == "switchenable") {
49 return "gwvpmini_SwitchEnableUser";
51 if($qspl[1] == "switchenablerepo") {
52 return "gwvpmini_SwitchEnableRepo";
54 if($qspl[1] == "changegravs") {
55 return "gwvpmini_SwitchGravatars";
57 if($qspl[1] == "changessl") {
58 return "gwvpmini_SwitchForceSSL";
60 if($qspl[1] == "switchadmin") {
61 return "gwvpmini_SwitchAdmin";
64 // // error_log("i got here, where next?");
\r
65 return "gwvpmini_AdminMainPage";
\r
67 } else return false;
\r
75 function gwvpmini_RemoveRepoPage()
\r
77 gwvpmini_goMainPage("gwvpmini_RemoveRepoPageBody");
\r
82 function gwvpmini_RemoveUserPage()
84 gwvpmini_goMainPage("gwvpmini_RemoveUserPageBody");
88 function gwvpmini_AdminMainPage()
90 gwvpmini_goMainPage("gwvpmini_AdminMainPageBody");
93 function gwvpmini_AdminMainPageBody()
96 global $can_register, $reg_reqs_confirm, $confirm_from_address, $use_gravatar, $force_ssl;
99 $register = "Registration Enabled (<a href=\"$BASE_URL/admin/changereg\">Disable</a>)";
101 $register = "Registration Disabled (<a href=\"$BASE_URL/admin/changereg\">Enable</a>)";
104 if($reg_reqs_confirm) {
105 $regconfirm = "Registration Requires Confirmation (<a href=\"$BASE_URL/admin/changeconfirm\">Disable</a>)";
107 $regconfirm = "Registration Doesnt Require Confirmation (<a href=\"$BASE_URL/admin/changeconfirm\">Enable</a>)";
111 $usegrav = "Gravatars are enabled (<a href=\"$BASE_URL/admin/changegravs\">Disable</a>)";
113 $usegrav = "Gravatars are disabled (<a href=\"$BASE_URL/admin/changegravs\">Enable</a>)";
117 $forcessl = "Force SSL is enabled (<a href=\"$BASE_URL/admin/changessl\">Disable</a>)";
\r
119 $forcessl = "Force SSL is disabled (<a href=\"$BASE_URL/admin/changessl\">Enable</a>)";
\r
123 $totalusers = gwvpmini_GetNUsers();
124 echo "<table><tr valign=\"top\"><td>";
125 echo "<H2>Settings</h2>$register<br>$regconfirm<br>$usegrav<br>$forcessl<br>";
126 echo "<form method=\"post\" action=\"$BASE_URL/admin/changefromemail\">";
127 echo "Address emails are sent from <input type=\"text\" name=\"fromemail\" value=\"$confirm_from_address\"><input type=\"submit\" name=\"Update\" value=\"Update\"><br>";
129 echo "<h2>Users - $totalusers</h2>";
131 echo "<table border=\"1\">";
132 echo "<tr><th>Username</th><th>Email Address</th><th>Full Name</th><th>Description</th><th>Status</th><th>Control</th></tr>";
133 foreach(gwvpmini_GetUsers() as $key => $val) {
135 $un = $val["username"];
137 $fn = $val["fullname"];
139 $st_t = $val["status"];
140 $st_l = $val["level"];
145 if($st_l == 0) $level = "<a href=\"$BASE_URL/admin/switchadmin/1/$id\">User</a>";
146 if($st_l == 1) $level = "<a href=\"$BASE_URL/admin/switchadmin/0/$id\">Admin</a>";
149 if($st_t[0] == "1") {
150 $status = ", Disabled";
153 } else if ($st_t[0] == "0") {
156 } else if($st_t[0] == "2") {
157 $vl = explode(":", $st_t);
158 // // error_log("VL: ".print_r($vl, true));
159 $status = " Awaiting Confirmation (<a href=\"$BASE_URL/register/confirmreg/".$vl[1]."\">Confirm</a>)";
162 $st = "$level$status";
164 $unlval = "<a href=\"$BASE_URL/user/$un\">$un</a>";
165 echo "<tr><td>$unlval</td><td>$em</td><td>$fn</td><td>$ds</td><td>$st</td>";
166 if($id != $_SESSION["id"]) {
167 echo "<td><a href=\"$BASE_URL/admin/removeuser/$id\">Remove</a> ";
168 if ($st_t[0] == "0"||$st_t[0] == "1") echo "<a href=\"$BASE_URL/admin/switchenable/$astat/$id\">$cstat</a></td></tr>";
169 else echo "</td></tr>";
171 echo "<td> -- </td></tr>";
178 echo "<h3>Create User</h3>";
179 echo "<form method=\"post\" action=\"$BASE_URL/admin/user/create\">";
180 echo "<table border=\"1\">";
\r
181 echo "<tr><th>Username</th><td><input type=\"text\" name=\"username\"></td></tr>";
182 echo "<tr><th>Password</th><td><input type=\"password\" name=\"password\"></td></tr>";
183 echo "<tr><th>Confirm Password</th><td><input type=\"password\" name=\"confpassword\"></td></tr>";
184 echo "<tr><th>Full Name</th><td><input type=\"text\" name=\"fullname\"></td></tr>";
185 echo "<tr><th>Description</th><td><input type=\"text\" name=\"desc\"></td></tr>";
186 echo "<tr><th>Email</th><td><input type=\"text\" name=\"email\"></td></tr>";
187 echo "<tr><th>Confirm Email</th><td><input type=\"text\" name=\"confemail\"></td></tr>";
188 echo "<tr><th>Admin?</th><td><input type=\"checkbox\" name=\"isadmin\"></td></tr>";
189 echo "<tr><td colspan=\"2\"><input type=\"submit\" name=\"Add\" value=\"Add\"></td></tr>";
192 echo "</td></tr></table>";
194 $totalrepos = gwvpmini_GetNRepos();
195 echo "<h2>Repo's - $totalrepos</h2>";
196 echo "<table border=\"1\">";
197 echo "<tr><th>Repo Name</th><th>Repo Desc</th><th>Owner</th><th>Control</th></tr>";
198 foreach(gwvpmini_GetRepos() as $key => $val) {
203 $st = $val["status"];
204 $udet = gwvpmini_getUser(null, null, $ow);
208 $owl = $udet["username"]." (".$udet["id"].") - ".$udet["fullname"]." (".$udet["email"].") - <a href=\"mailto:".$udet["email"]."\">Email Owner</a>";
219 echo "<tr><td><a href=\"$BASE_URL/view/$rn\">$rn</a></td><td>$ds</td><td>$owl</td><td><a href=\"$BASE_URL/admin/removerepo/$id\">Remove</a> <a href=\"$BASE_URL/admin/switchenablerepo/$stat/$id\">$cstat</a></td></tr>";
226 function gwvpmini_AdminUserCreate()
230 $name = $_REQUEST["username"];
231 $pass1 = $_REQUEST["password"];
232 $pass2 = $_REQUEST["confpassword"];
\r
233 $fname = $_REQUEST["fullname"];
234 $desc = $_REQUEST["desc"];
235 $email1 = $_REQUEST["email"];
\r
236 $email2 = $_REQUEST["confemail"];
237 if(isset($_REQUEST["isadmin"])) $level = 1;
240 $id = gwvpmini_GetUserId($name);
243 if($pass1 != $pass2) {
244 gwvpmini_SendMessage("error", "Passwords dont match");
245 header("Location: $BASE_URL/admin");
248 if($email1 != $email2) {
249 gwvpmini_SendMessage("error", "Email Addresses dont match");
250 header("Location: $BASE_URL/admin");
254 gwvpmini_AddUser($name, $pass1, $fname, $email1, $desc, $level, 0);
255 gwvpmini_SendMessage("info", "User $fname created");
257 gwvpmini_SendMessage("error", "User $name already exists, cant create");
260 header("Location: $BASE_URL/admin");
266 function gwvpmini_ChangeRegistration()
268 global $can_register, $BASE_URL;
271 gwvpmini_setConfigVal("canregister", "0");
272 gwvpmini_SendMessage("info", "Registration disabled");
274 gwvpmini_setConfigVal("canregister", "1");
\r
275 gwvpmini_SendMessage("info", "Registration enabled");
278 header("Location: $BASE_URL/admin");
282 function gwvpmini_ChangeRegConfig()
284 global $reg_reqs_confirm, $BASE_URL;
\r
286 if($reg_reqs_confirm) {
\r
287 gwvpmini_setConfigVal("registerrequiresconfirm", "0");
\r
288 gwvpmini_SendMessage("info", "Registration Confirmation disabled");
\r
290 gwvpmini_setConfigVal("registerrequiresconfirm", "1");
\r
291 gwvpmini_SendMessage("info", "Registration Confirmation enabled");
\r
294 header("Location: $BASE_URL/admin");
297 function gwvpmini_ChangeFromAddress()
301 $newfrom = $_REQUEST["fromemail"];
\r
303 gwvpmini_setConfigVal("eamilfromaddress", "$newfrom");
\r
304 gwvpmini_SendMessage("info", "Email from address updated to \"$newfrom\"");
\r
306 header("Location: $BASE_URL/admin");
\r
310 function gwvpmini_RemoveUserPageBody()
315 if(isset($_REQUEST["q"])) {
\r
316 $query = $_REQUEST["q"];
\r
317 $qspl = explode("/", $query);
\r
318 if(isset($qspl[2])) {
324 $details = gwvpmini_GetUsers($uid, 1);
325 $username = $details[$uid]["username"];
326 $fullname = $details[$uid]["fullname"];
327 $email = $details[$uid]["email"];
328 $desc = $details[$uid]["desc"];
330 //// // error_log("user dets:".print_r($details, true));
332 echo "<h2>Remove User?</h2>";
333 echo "Are you sure you wish to remove the user, $username ($uid) - $fullname - $email - $desc?<br>";
334 echo "<a href=\"$BASE_URL/admin/confremoveuser/$uid\">Yes</a> <a href=\"$BASE_URL/admin\">No</a><br>";
336 echo "<h2>How?</h2>";
337 echo "You got here in a weird way or the uid of the user you were trying to delete is invalid<br>";
338 echo "<a href=\"$BASE_URL/admin\">Go Back</a>";
343 function gwvpmini_RemoveRepoPageBody()
\r
349 if(isset($_REQUEST["q"])) {
\r
350 $query = $_REQUEST["q"];
\r
351 $qspl = explode("/", $query);
\r
352 if(isset($qspl[2])) {
\r
357 $repdet = gwvpmini_getRepo(null, null, $rid);
358 if($repdet != false) $uid = $repdet["ownerid"];
359 $usedet = gwvpmini_getUser(null, null, $uid);
\r
363 $rname = $repdet["name"];
364 $rdesc = $repdet["desc"];
365 if($usedet == false) {
366 $ownedby = "which is unowned (Orphaned)";
368 $ownedby = "owned by <b>$username</b> ($uid) - \"$fullname\"";
370 $username = $usedet["username"];
371 $fullname = $usedet["fullname"];
374 // // error_log("user dets:".print_r($details, true));
\r
376 echo "<h2>Remove User?</h2>";
\r
377 echo "Are you sure you wish to remove the repo, <b>$rname</b> ($rid) - \"$rdesc\" $ownedby?<br>";
\r
378 echo "<a href=\"$BASE_URL/admin/confremoverepo/$rid\">Yes</a> <a href=\"$BASE_URL/admin\">No</a><br>";
\r
380 echo "<h2>How?</h2>";
\r
381 echo "You got here in a weird way or the uid of the repo you were trying to delete is invalid<br>";
\r
382 echo "<a href=\"$BASE_URL/admin\">Go Back</a>";
\r
387 function gwvpmini_ConfRemoveRepo()
\r
392 // // error_log("CONF REMOVE REPO");
395 if(isset($_REQUEST["q"])) {
\r
396 $query = $_REQUEST["q"];
\r
397 $qspl = explode("/", $query);
\r
398 if(isset($qspl[2])) {
\r
404 $details = gwvpmini_getRepo(null, null, $rid);
\r
405 $rname = $details["name"];
\r
406 gwvpmini_RemoveRepo($rid);
\r
407 gwvpmini_SendMessage("info", "Repo $rname ($rid) has been removed");
\r
409 gwvpmini_SendMessage("info", "Problem deleteing repo with rid $rid");
\r
412 header("Location: $BASE_URL/admin");
\r
415 function gwvpmini_ConfRemoveUser()
\r
420 if(isset($_REQUEST["q"])) {
\r
421 $query = $_REQUEST["q"];
\r
422 $qspl = explode("/", $query);
\r
423 if(isset($qspl[2])) {
\r
429 $details = gwvpmini_getUser(null, null, $uid);
430 $uname = $details["username"];
431 gwvpmini_RemoveUser($uid);
432 gwvpmini_SendMessage("info", "User $uname ($uid) has been removed");
\r
434 gwvpmini_SendMessage("info", "Problem deleteing user with uid $uid");
437 header("Location: $BASE_URL/admin");
\r
440 function gwvpmini_SwitchEnableUser()
\r
446 if(isset($_REQUEST["q"])) {
\r
447 $query = $_REQUEST["q"];
\r
448 $qspl = explode("/", $query);
\r
449 if(isset($qspl[2])) {
\r
452 if(isset($qspl[3])) {
457 if($newst == 1) $stat = "disabled";
458 else $stat = "enabled";
\r
460 if($uid > 0 && ($newst == 1 || $newst == 0)) {
\r
461 $details = gwvpmini_getUser(null, null, $uid);
\r
462 $uname = $details["username"];
\r
463 if($newst == 1) gwvpmini_DisableUser($uid);
464 if($newst == 0) gwvpmini_EnableUser($uid);
\r
465 gwvpmini_SendMessage("info", "User $uname ($uid) has been $stat");
\r
467 gwvpmini_SendMessage("info", "Problem disabling user with uid $uid");
\r
470 header("Location: $BASE_URL/admin");
\r
474 function gwvpmini_SwitchAdmin()
480 if(isset($_REQUEST["q"])) {
\r
481 $query = $_REQUEST["q"];
\r
482 $qspl = explode("/", $query);
\r
483 if(isset($qspl[2])) {
\r
486 if(isset($qspl[3])) {
\r
492 if($uid > 0 && $newst >= 0) {
493 gwvpmini_SetUserStatusAdmin($uid, $newst);
495 gwvpmini_SendMessage("info", "User is no longer an admin");
497 gwvpmini_SendMessage("info", "User is now an admin");
499 } else gwvpmini_SendMessage("error", "Invalid user id");
502 header("Location: $BASE_URL/admin");
505 function gwvpmini_SwitchEnableRepo()
511 if(isset($_REQUEST["q"])) {
\r
512 $query = $_REQUEST["q"];
\r
513 $qspl = explode("/", $query);
\r
514 if(isset($qspl[2])) {
\r
517 if(isset($qspl[3])) {
\r
522 if($newst == 1) $stat = "disabled";
\r
523 else $stat = "enabled";
\r
525 if($rid > 0 && ($newst == 1 || $newst == 0)) {
\r
526 $details = gwvpmini_getRepo(null, null, $rid);
\r
527 if($newst == 1) gwvpmini_DisableRepo($rid);
\r
528 if($newst == 0) gwvpmini_EnableRepo($rid);
\r
529 gwvpmini_SendMessage("info", "Repo $uname ($rid) has been $stat");
\r
531 gwvpmini_SendMessage("info", "Problem disabling repo with rid $rid");
\r
534 header("Location: $BASE_URL/admin");
537 function gwvpmini_SwitchGravatars()
539 global $BASE_URL, $use_gravatar;
\r
541 if($newst == 1) $stat = "disabled";
\r
542 else $stat = "enabled";
\r
545 gwvpmini_setConfigVal("gravatarenabled", "0");
547 gwvpmini_setConfigVal("gravatarenabled", "1");
550 gwvpmini_SendMessage("info", "Gravatars $stat");
\r
552 header("Location: $BASE_URL/admin");
555 function gwvpmini_SwitchForceSSL()
557 global $BASE_URL, $force_ssl;
\r
559 if($newst == 1) $stat = "disabled";
\r
560 else $stat = "enabled";
\r
563 gwvpmini_setConfigVal("forcessl", "0");
\r
565 gwvpmini_setConfigVal("forcessl", "1");
\r
568 gwvpmini_SendMessage("info", "forcessl $stat");
\r
570 header("Location: $BASE_URL/admin");
\r