force ssl, change to /gwvp url
[gwvp-mini.git] / gwvpmini / gwvpmini_admin.php
index 7078542..e19a268 100644 (file)
@@ -1,17 +1,20 @@
 <?php
 
-if(gwvpmini_isLoggedIn()) if(gwvpmini_isUserAdmin()) {
-       $MENU_ITEMS["20repos"]["text"] = "Administration";\r
-       $MENU_ITEMS["20repos"]["link"] = "$BASE_URL/admin";
-       $CALL_ME_FUNCTIONS["admin"] = "gwvpmini_AdminCallMe";
-}
-
 
+if($IS_WEB_REQUEST) {
+       if(gwvpmini_isLoggedIn()) if(gwvpmini_isUserAdmin()) {
+               $MENU_ITEMS["20repos"]["text"] = "Administration";\r
+               $MENU_ITEMS["20repos"]["link"] = "$BASE_URL/admin";
+               $CALL_ME_FUNCTIONS["admin"] = "gwvpmini_AdminCallMe";
+       }
+       
+       
+}
 
 function gwvpmini_AdminCallMe()\r
 {\r
 \r
-       error_log("in admin callme");\r
+       //error_log("in admin callme");\r
        if(isset($_REQUEST["q"])) {\r
                $query = $_REQUEST["q"];\r
                $qspl = explode("/", $query);\r
@@ -33,9 +36,27 @@ function gwvpmini_AdminCallMe()
                                        if($qspl[1] == "removeuser") {
                                                return "gwvpmini_RemoveUserPage";
                                        }\r
+                                       if($qspl[1] == "removerepo") {
+                                               return "gwvpmini_RemoveRepoPage";
+                                       }
                                        if($qspl[1] == "confremoveuser") {
                                                return "gwvpmini_ConfRemoveUser";
                                        }
+                                       if($qspl[1] == "confremoverepo") {
+                                               return "gwvpmini_ConfRemoveRepo";
+                                       }
+                                       if($qspl[1] == "switchenable") {
+                                               return "gwvpmini_SwitchEnableUser";
+                                       }
+                                       if($qspl[1] == "switchenablerepo") {
+                                               return "gwvpmini_SwitchEnableRepo";
+                                       }
+                                       if($qspl[1] == "changegravs") {
+                                               return "gwvpmini_SwitchGravatars";
+                                       }
+                                       if($qspl[1] == "changessl") {
+                                               return "gwvpmini_SwitchForceSSL";
+                                       }
                                } else {\r
                                        error_log("i got here, where next?");\r
                                        return "gwvpmini_AdminMainPage";\r
@@ -47,6 +68,13 @@ function gwvpmini_AdminCallMe()
 \r
        return false;\r
 }
+\r
+function gwvpmini_RemoveRepoPage()\r
+{\r
+       gwvpmini_goMainPage("gwvpmini_RemoveRepoPageBody");\r
+\r
+}\r
+\r
 
 function gwvpmini_RemoveUserPage()
 {
@@ -62,7 +90,7 @@ function gwvpmini_AdminMainPage()
 function gwvpmini_AdminMainPageBody()
 {
        global $BASE_URL;
-       global $can_register, $reg_reqs_confirm, $confirm_from_address;
+       global $can_register, $reg_reqs_confirm, $confirm_from_address, $use_gravatar, $force_ssl;
        
        if($can_register) {
                $register = "Registration Enabled (<a href=\"$BASE_URL/admin/changereg\">Disable</a>)";
@@ -75,10 +103,24 @@ function gwvpmini_AdminMainPageBody()
        } else {
                $regconfirm = "Registration Doesnt Require Confirmation (<a href=\"$BASE_URL/admin/changeconfirm\">Enable</a>)";
        }
+       
+       if($use_gravatar) {
+               $usegrav = "Gravatars are enabled (<a href=\"$BASE_URL/admin/changegravs\">Disable</a>)";
+       } else {
+               $usegrav = "Gravatars are disabled (<a href=\"$BASE_URL/admin/changegravs\">Enable</a>)";
+       }
+       
+       if($force_ssl) {\r
+               $forcessl = "Force SSL is enabled (<a href=\"$BASE_URL/admin/changessl\">Disable</a>)";\r
+       } else {\r
+               $forcessl = "Force SSL is disabled (<a href=\"$BASE_URL/admin/changessl\">Enable</a>)";\r
+       }\r
+       
+       
        $totalusers = gwvpmini_GetNUsers();
        echo "<table><tr valign=\"top\"><td>";
        echo "<h2>Users - $totalusers</h2>";
-       echo "$register<br>$regconfirm<br>";
+       echo "$register<br>$regconfirm<br>$usegrav<br>$forcessl<br>";
        echo "<form method=\"post\" action=\"$BASE_URL/admin/changefromemail\">";
        echo "Address emails are sent from <input type=\"text\" name=\"fromemail\" value=\"$confirm_from_address\"><input type=\"submit\" name=\"Update\" value=\"Update\"><br>";
        echo "</form>"; 
@@ -94,6 +136,8 @@ function gwvpmini_AdminMainPageBody()
                $st_t = $val["status"];
                $st_l = $val["level"];
                
+               $astat = "0";
+               $cstat = "WTF";
                $level = "WTF";
                if($st_l == 0) $level = "User";
                if($st_l == 1) $level = "Admin";
@@ -101,8 +145,12 @@ function gwvpmini_AdminMainPageBody()
                $status = "";
                if($st_t[0] == "1") {
                        $status = ", disabled";
-               }
-               if($st_t[0] == "2") {
+                       $astat = 0;
+                       $cstat = "Enable";
+               } else if ($st_t[0] == "0") {
+                       $astat = 1;
+                       $cstat = "Disable";
+               } else  if($st_t[0] == "2") {
                        $vl = explode(":", $st_t);
                        error_log("VL: ".print_r($vl, true));
                        $status = " Awaiting Confirmation (<a href=\"$BASE_URL/register/confirmreg/".$vl[1]."\">Confirm</a>)";
@@ -111,7 +159,9 @@ function gwvpmini_AdminMainPageBody()
                $st = "$level$status";
                
                $unlval = "<a href=\"$BASE_URL/user/$un\">$un</a>";
-               echo "<tr><td>$unlval</td><td>$em</td><td>$fn</td><td>$ds</td><td>$st</td><td><a href=\"$BASE_URL/admin/removeuser/$id\">Remove</a> <a href=\"$BASE_URL/admin/disableuser&id=$id\">Disable</a></td></tr>";
+               echo "<tr><td>$unlval</td><td>$em</td><td>$fn</td><td>$ds</td><td>$st</td><td><a href=\"$BASE_URL/admin/removeuser/$id\">Remove</a> ";
+               if ($st_t[0] == "0"||$st_t[0] == "1") echo "<a href=\"$BASE_URL/admin/switchenable/$astat/$id\">$cstat</a></td></tr>";
+               else echo "</td></tr>";
        }
        
        
@@ -142,7 +192,24 @@ function gwvpmini_AdminMainPageBody()
                $rn = $val["name"];
                $ds = $val["desc"];
                $ow = $val["owner"];
-               echo "<tr><td><a href=\"$BASE_URL/view/$rn\">$rn</a></td><td>$ds</td><td>$ow</td><td><a href=\"$BASE_URL/admin/removeuser&id=$id\">Remove</a> <a href=\"$BASE_URL/admin/disableuser&id=$id\">Disable</a></td></tr>";
+               $st = $val["status"];
+               $udet = gwvpmini_getUser(null, null, $ow);
+               if(!$udet) {
+                       $owl = "Orphaned";
+               } else {
+                       $owl = $udet["username"]." (".$udet["id"].") - ".$udet["fullname"]." (".$udet["email"].") - <a href=\"mailto:".$udet["email"]."\">Email Owner</a>";
+               }
+               
+               if($st == 1) {
+                       $stat = 0;
+                       $cstat = "Enable";
+               } else {
+                       $stat = 1;\r
+                       $cstat = "Disable";
+               }
+               
+               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>";
+               
        }
        echo "</table>";
 }\r
@@ -265,6 +332,78 @@ function gwvpmini_RemoveUserPageBody()
        
 }
 
+function gwvpmini_RemoveRepoPageBody()\r
+{\r
+       global $BASE_URL;\r
+\r
+       $rid = -1;
+       $uid = -1;\r
+       if(isset($_REQUEST["q"])) {\r
+               $query = $_REQUEST["q"];\r
+               $qspl = explode("/", $query);\r
+               if(isset($qspl[2])) {\r
+                       $rid = $qspl[2];\r
+               }\r
+       }
+       
+       $repdet = gwvpmini_getRepo(null, null, $rid);
+       if($repdet != false) $uid = $repdet["ownerid"];
+       $usedet = gwvpmini_getUser(null, null, $uid);\r
+       \r
+\r
+       if($rid != -1) {
+               $rname = $repdet["name"];
+               $rdesc = $repdet["desc"];
+               if($usedet == false) {
+                       $ownedby = "which is unowned (Orphaned)";
+               } else {
+                       $ownedby = "owned by <b>$username</b> ($uid) - \"$fullname\"";
+               }
+               $username = $usedet["username"];
+               $fullname = $usedet["fullname"];
+               \r
+\r
+               error_log("user dets:".print_r($details, true));\r
+\r
+               echo "<h2>Remove User?</h2>";\r
+               echo "Are you sure you wish to remove the repo, <b>$rname</b> ($rid) - \"$rdesc\" $ownedby?<br>";\r
+               echo "<a href=\"$BASE_URL/admin/confremoverepo/$rid\">Yes</a> <a href=\"$BASE_URL/admin\">No</a><br>";\r
+       } else {\r
+               echo "<h2>How?</h2>";\r
+               echo "You got here in a weird way or the uid of the repo you were trying to delete is invalid<br>";\r
+               echo "<a href=\"$BASE_URL/admin\">Go Back</a>";\r
+       }\r
+\r
+}
+
+function gwvpmini_ConfRemoveRepo()\r
+{\r
+       global $BASE_URL;\r
+
+       
+       error_log("CONF REMOVE REPO");
+       \r
+       $rid = -1;\r
+       if(isset($_REQUEST["q"])) {\r
+               $query = $_REQUEST["q"];\r
+               $qspl = explode("/", $query);\r
+               if(isset($qspl[2])) {\r
+                       $rid = $qspl[2];\r
+               }\r
+       }\r
+\r
+       if($rid > 0) {\r
+               $details = gwvpmini_getRepo(null, null, $rid);\r
+               $rname = $details["name"];\r
+               gwvpmini_RemoveRepo($rid);\r
+               gwvpmini_SendMessage("info", "Repo $rname ($rid) has been removed");\r
+       } else {\r
+               gwvpmini_SendMessage("info", "Problem deleteing repo with rid $rid");\r
+       }\r
+\r
+       header("Location: $BASE_URL/admin");\r
+}
+
 function gwvpmini_ConfRemoveUser()\r
 {\r
        global $BASE_URL;\r
@@ -288,6 +427,108 @@ function gwvpmini_ConfRemoveUser()
        }\r
 
        header("Location: $BASE_URL/admin");\r
-}\r
+}
 
+function gwvpmini_SwitchEnableUser()\r
+{
+       global $BASE_URL;\r
+       \r
+       $uid = -1;
+       $newst = -1;\r
+       if(isset($_REQUEST["q"])) {\r
+               $query = $_REQUEST["q"];\r
+               $qspl = explode("/", $query);\r
+               if(isset($qspl[2])) {\r
+                       $newst = $qspl[2];\r
+               }
+               if(isset($qspl[3])) {
+                       $uid = $qspl[3];
+               }\r
+       }
+       
+       if($newst == 1) $stat = "disabled";
+       else $stat = "enabled";\r
+       \r
+       if($uid > 0 && ($newst == 1 || $newst == 0)) {\r
+               $details = gwvpmini_getUser(null, null, $uid);\r
+               $uname = $details["username"];\r
+               if($newst == 1) gwvpmini_DisableUser($uid);
+               if($newst == 0) gwvpmini_EnableUser($uid);\r
+               gwvpmini_SendMessage("info", "User $uname ($uid) has been $stat");\r
+       } else {\r
+               gwvpmini_SendMessage("info", "Problem disabling user with uid $uid");\r
+       }\r
+       \r
+       header("Location: $BASE_URL/admin");\r
+       
+}
+
+function gwvpmini_SwitchEnableRepo()
+{
+       global $BASE_URL;\r
+       \r
+       $rid = -1;\r
+       $newst = -1;\r
+       if(isset($_REQUEST["q"])) {\r
+               $query = $_REQUEST["q"];\r
+               $qspl = explode("/", $query);\r
+               if(isset($qspl[2])) {\r
+                       $newst = $qspl[2];\r
+               }\r
+               if(isset($qspl[3])) {\r
+                       $rid = $qspl[3];\r
+               }\r
+       }\r
+       \r
+       if($newst == 1) $stat = "disabled";\r
+       else $stat = "enabled";\r
+       \r
+       if($rid > 0 && ($newst == 1 || $newst == 0)) {\r
+               $details = gwvpmini_getRepo(null, null, $rid);\r
+               if($newst == 1) gwvpmini_DisableRepo($rid);\r
+               if($newst == 0) gwvpmini_EnableRepo($rid);\r
+               gwvpmini_SendMessage("info", "Repo $uname ($rid) has been $stat");\r
+       } else {\r
+               gwvpmini_SendMessage("info", "Problem disabling repo with rid $rid");\r
+       }\r
+       \r
+       header("Location: $BASE_URL/admin");
+}
+
+function gwvpmini_SwitchGravatars()
+{
+       global $BASE_URL, $use_gravatar;\r
+       \r
+       if($newst == 1) $stat = "disabled";\r
+       else $stat = "enabled";\r
+       
+       if($use_gravatar) {
+               gwvpmini_setConfigVal("gravatarenabled", "0");
+       } else {
+               gwvpmini_setConfigVal("gravatarenabled", "1");
+       }
+       \r
+       gwvpmini_SendMessage("info", "Gravatars $stat");\r
+       \r
+       header("Location: $BASE_URL/admin");
+}
+
+function gwvpmini_SwitchForceSSL()
+{
+       global $BASE_URL, $force_ssl;\r
+       \r
+       if($newst == 1) $stat = "disabled";\r
+       else $stat = "enabled";\r
+       \r
+       if($force_ssl) {\r
+               gwvpmini_setConfigVal("forcessl", "0");\r
+       } else {\r
+               gwvpmini_setConfigVal("forcessl", "1");\r
+       }\r
+       \r
+       gwvpmini_SendMessage("info", "forcessl $stat");\r
+       \r
+       header("Location: $BASE_URL/admin");\r
+       
+}
 ?>
\ No newline at end of file