replacing the cli cmds with variables and configuration in config.php
[gwvp-mini.git] / gwvpmini / gwvpmini_admin.php
index b4f9db6..2ba9963 100644 (file)
@@ -1,29 +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";
-}
-
 
-$reg = gwvpmini_getConfigVal("gravatarenabled");
-
-$use_gravatar = false;\r
-if($reg == null) {\r
-       gwvpmini_setConfigVal("gravatarenabled", "1");\r
-} else if($reg == 1) {\r
-       $use_gravatar = true;\r
-} else {\r
-       $use_gravatar = false;\r
-}\r
-\r
-global $use_gravatar;
+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
@@ -63,8 +54,14 @@ function gwvpmini_AdminCallMe()
                                        if($qspl[1] == "changegravs") {
                                                return "gwvpmini_SwitchGravatars";
                                        }
+                                       if($qspl[1] == "changessl") {
+                                               return "gwvpmini_SwitchForceSSL";
+                                       }
+                                       if($qspl[1] == "switchadmin") {
+                                               return "gwvpmini_SwitchAdmin";
+                                       }
                                } else {\r
-                                       error_log("i got here, where next?");\r
+                                       // // error_log("i got here, where next?");\r
                                        return "gwvpmini_AdminMainPage";\r
                                }\r
                        } else return false;\r
@@ -96,7 +93,7 @@ function gwvpmini_AdminMainPage()
 function gwvpmini_AdminMainPageBody()
 {
        global $BASE_URL;
-       global $can_register, $reg_reqs_confirm, $confirm_from_address, $use_gravatar;
+       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>)";
@@ -116,13 +113,20 @@ function gwvpmini_AdminMainPageBody()
                $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>$usegrav<br>";
+       echo "<H2>Settings</h2>$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>"; 
+       echo "<h2>Users - $totalusers</h2>";
 
        echo "<table border=\"1\">";
        echo "<tr><th>Username</th><th>Email Address</th><th>Full Name</th><th>Description</th><th>Status</th><th>Control</th></tr>";
@@ -138,12 +142,12 @@ function gwvpmini_AdminMainPageBody()
                $astat = "0";
                $cstat = "WTF";
                $level = "WTF";
-               if($st_l == 0) $level = "User";
-               if($st_l == 1) $level = "Admin";
+               if($st_l == 0) $level = "<a href=\"$BASE_URL/admin/switchadmin/1/$id\">User</a>";
+               if($st_l == 1) $level = "<a href=\"$BASE_URL/admin/switchadmin/0/$id\">Admin</a>";
                
                $status = "";
                if($st_t[0] == "1") {
-                       $status = ", disabled";
+                       $status = ", Disabled";
                        $astat = 0;
                        $cstat = "Enable";
                } else if ($st_t[0] == "0") {
@@ -151,16 +155,21 @@ function gwvpmini_AdminMainPageBody()
                        $cstat = "Disable";
                } else  if($st_t[0] == "2") {
                        $vl = explode(":", $st_t);
-                       error_log("VL: ".print_r($vl, true));
+                       // // error_log("VL: ".print_r($vl, true));
                        $status = " Awaiting Confirmation (<a href=\"$BASE_URL/register/confirmreg/".$vl[1]."\">Confirm</a>)";
                }
                
                $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> ";
-               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>";
+               echo "<tr><td>$unlval</td><td>$em</td><td>$fn</td><td>$ds</td><td>$st</td>";
+               if($id != $_SESSION["id"]) {
+                       echo "<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>";
+               } else {
+                       echo "<td> -- </td></tr>";
+               }
        }
        
        
@@ -318,7 +327,7 @@ function gwvpmini_RemoveUserPageBody()
                $email = $details[$uid]["email"];
                $desc = $details[$uid]["desc"];
                
-               error_log("user dets:".print_r($details, true));
+               //// // error_log("user dets:".print_r($details, true));
                
                echo "<h2>Remove User?</h2>";
                echo "Are you sure you wish to remove the user, $username ($uid) - $fullname - $email - $desc?<br>";
@@ -362,7 +371,7 @@ function gwvpmini_RemoveRepoPageBody()
                $fullname = $usedet["fullname"];
                \r
 \r
-               error_log("user dets:".print_r($details, true));\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
@@ -380,7 +389,7 @@ function gwvpmini_ConfRemoveRepo()
        global $BASE_URL;\r
 
        
-       error_log("CONF REMOVE REPO");
+       // // error_log("CONF REMOVE REPO");
        \r
        $rid = -1;\r
        if(isset($_REQUEST["q"])) {\r
@@ -462,6 +471,37 @@ function gwvpmini_SwitchEnableUser()
        
 }
 
+function gwvpmini_SwitchAdmin()
+{
+       global $BASE_URL;\r
+       \r
+       $uid = -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
+                       $uid = $qspl[3];\r
+               }\r
+       }\r
+       \r
+
+       if($uid > 0 && $newst >= 0) {
+               gwvpmini_SetUserStatusAdmin($uid, $newst);
+               if($newst == 0) {
+                       gwvpmini_SendMessage("info", "User is no longer an admin");
+               } else {
+                       gwvpmini_SendMessage("info", "User is now an admin");
+               }
+       } else gwvpmini_SendMessage("error", "Invalid user id");
+       \r
+       \r
+       header("Location: $BASE_URL/admin");
+}
+
 function gwvpmini_SwitchEnableRepo()
 {
        global $BASE_URL;\r
@@ -511,4 +551,23 @@ function gwvpmini_SwitchGravatars()
        \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