added user registration confirmation, email "from" setting, lots of
[gwvp-mini.git] / gwvpmini / gwvpmini_admin.php
index e289d45..7078542 100644 (file)
@@ -6,6 +6,8 @@ if(gwvpmini_isLoggedIn()) if(gwvpmini_isUserAdmin()) {
        $CALL_ME_FUNCTIONS["admin"] = "gwvpmini_AdminCallMe";
 }
 
+
+
 function gwvpmini_AdminCallMe()\r
 {\r
 \r
@@ -18,7 +20,22 @@ function gwvpmini_AdminCallMe()
                                if(isset($qspl[1])) {\r
                                        if($qspl[1] == "user") {\r
                                                return "gwvpmini_AdminUserCreate";\r
+                                       }
+                                       if($qspl[1] == "changereg") {
+                                               return "gwvpmini_ChangeRegistration";
+                                       }
+                                       if($qspl[1] == "changeconfirm") {
+                                               return "gwvpmini_ChangeRegConfig";
+                                       }
+                                       if($qspl[1] == "changefromemail") {
+                                               return "gwvpmini_ChangeFromAddress";
+                                       }
+                                       if($qspl[1] == "removeuser") {
+                                               return "gwvpmini_RemoveUserPage";
                                        }\r
+                                       if($qspl[1] == "confremoveuser") {
+                                               return "gwvpmini_ConfRemoveUser";
+                                       }
                                } else {\r
                                        error_log("i got here, where next?");\r
                                        return "gwvpmini_AdminMainPage";\r
@@ -31,6 +48,12 @@ function gwvpmini_AdminCallMe()
        return false;\r
 }
 
+function gwvpmini_RemoveUserPage()
+{
+       gwvpmini_goMainPage("gwvpmini_RemoveUserPageBody");
+       
+}
+
 function gwvpmini_AdminMainPage()
 {
        gwvpmini_goMainPage("gwvpmini_AdminMainPageBody");
@@ -39,20 +62,56 @@ function gwvpmini_AdminMainPage()
 function gwvpmini_AdminMainPageBody()
 {
        global $BASE_URL;
+       global $can_register, $reg_reqs_confirm, $confirm_from_address;
+       
+       if($can_register) {
+               $register = "Registration Enabled (<a href=\"$BASE_URL/admin/changereg\">Disable</a>)";
+       } else {
+               $register = "Registration Disabled (<a href=\"$BASE_URL/admin/changereg\">Enable</a>)";
+       }
        
+       if($reg_reqs_confirm) {
+               $regconfirm = "Registration Requires Confirmation (<a href=\"$BASE_URL/admin/changeconfirm\">Disable</a>)";
+       } else {
+               $regconfirm = "Registration Doesnt Require Confirmation (<a href=\"$BASE_URL/admin/changeconfirm\">Enable</a>)";
+       }
        $totalusers = gwvpmini_GetNUsers();
        echo "<table><tr valign=\"top\"><td>";
        echo "<h2>Users - $totalusers</h2>";
+       echo "$register<br>$regconfirm<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 "<table border=\"1\">";
-       echo "<tr><th>Username</th><th>Email Address</th><th>Full Name</th><th>Description</th><th>Control</th></tr>";
+       echo "<tr><th>Username</th><th>Email Address</th><th>Full Name</th><th>Description</th><th>Status</th><th>Control</th></tr>";
        foreach(gwvpmini_GetUsers() as $key => $val) {
                $id = $key;
                $un = $val["username"];
                $em = $val["email"];
                $fn = $val["fullname"];
                $ds = $val["desc"];
+               $st_t = $val["status"];
+               $st_l = $val["level"];
+               
+               $level = "WTF";
+               if($st_l == 0) $level = "User";
+               if($st_l == 1) $level = "Admin";
+               
+               $status = "";
+               if($st_t[0] == "1") {
+                       $status = ", disabled";
+               }
+               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>)";
+               }
+               
+               $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><a href=\"$BASE_URL/admin/removeuser&id=$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> <a href=\"$BASE_URL/admin/disableuser&id=$id\">Disable</a></td></tr>";
        }
        
        
@@ -62,8 +121,8 @@ function gwvpmini_AdminMainPageBody()
        echo "<form method=\"post\" action=\"$BASE_URL/admin/user/create\">";
        echo "<table border=\"1\">";\r
        echo "<tr><th>Username</th><td><input type=\"text\" name=\"username\"></td></tr>";
-       echo "<tr><th>Password</th><td><input type=\"text\" name=\"password\"></td></tr>";
-       echo "<tr><th>Confirm Password</th><td><input type=\"text\" name=\"confpassword\"></td></tr>";
+       echo "<tr><th>Password</th><td><input type=\"password\" name=\"password\"></td></tr>";
+       echo "<tr><th>Confirm Password</th><td><input type=\"password\" name=\"confpassword\"></td></tr>";
        echo "<tr><th>Full Name</th><td><input type=\"text\" name=\"fullname\"></td></tr>";
        echo "<tr><th>Description</th><td><input type=\"text\" name=\"desc\"></td></tr>";
        echo "<tr><th>Email</th><td><input type=\"text\" name=\"email\"></td></tr>";
@@ -127,4 +186,108 @@ function gwvpmini_AdminUserCreate()
        return;
        
 }
+
+
+function gwvpmini_ChangeRegistration()
+{
+       global $can_register, $BASE_URL;
+       
+       if($can_register) {
+               gwvpmini_setConfigVal("canregister", "0");
+               gwvpmini_SendMessage("info", "Registration disabled");
+       } else {
+               gwvpmini_setConfigVal("canregister", "1");\r
+               gwvpmini_SendMessage("info", "Registration enabled");
+       }
+       
+       header("Location: $BASE_URL/admin");
+}
+
+
+function gwvpmini_ChangeRegConfig()
+{
+       global $reg_reqs_confirm, $BASE_URL;\r
+       \r
+       if($reg_reqs_confirm) {\r
+               gwvpmini_setConfigVal("registerrequiresconfirm", "0");\r
+               gwvpmini_SendMessage("info", "Registration Confirmation disabled");\r
+       } else {\r
+               gwvpmini_setConfigVal("registerrequiresconfirm", "1");\r
+               gwvpmini_SendMessage("info", "Registration Confirmation enabled");\r
+       }\r
+       \r
+       header("Location: $BASE_URL/admin");
+}
+
+function gwvpmini_ChangeFromAddress()
+{
+       global $BASE_URL;
+       
+       $newfrom = $_REQUEST["fromemail"];\r
+       \r
+       gwvpmini_setConfigVal("eamilfromaddress", "$newfrom");\r
+       gwvpmini_SendMessage("info", "Email from address updated to \"$newfrom\"");\r
+       \r
+       header("Location: $BASE_URL/admin");\r
+       
+}
+
+function gwvpmini_RemoveUserPageBody()
+{
+       global $BASE_URL;
+       
+       $uid = -1;
+       if(isset($_REQUEST["q"])) {\r
+               $query = $_REQUEST["q"];\r
+               $qspl = explode("/", $query);\r
+               if(isset($qspl[2])) {
+                       $uid = $qspl[2];\r
+               }
+       }
+       
+       if($uid != -1) {
+               $details = gwvpmini_GetUsers($uid, 1);
+               $username = $details[$uid]["username"];
+               $fullname = $details[$uid]["fullname"];
+               $email = $details[$uid]["email"];
+               $desc = $details[$uid]["desc"];
+               
+               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>";
+               echo "<a href=\"$BASE_URL/admin/confremoveuser/$uid\">Yes</a> <a href=\"$BASE_URL/admin\">No</a><br>";
+       } else {
+               echo "<h2>How?</h2>";
+               echo "You got here in a weird way or the uid of the user you were trying to delete is invalid<br>";
+               echo "<a href=\"$BASE_URL/admin\">Go Back</a>";
+       }
+       
+}
+
+function gwvpmini_ConfRemoveUser()\r
+{\r
+       global $BASE_URL;\r
+\r
+       $uid = -1;\r
+       if(isset($_REQUEST["q"])) {\r
+               $query = $_REQUEST["q"];\r
+               $qspl = explode("/", $query);\r
+               if(isset($qspl[2])) {\r
+                       $uid = $qspl[2];\r
+               }\r
+       }\r
+\r
+       if($uid > 0) {
+               $details = gwvpmini_getUser(null, null, $uid);
+               $uname = $details["username"];
+               gwvpmini_RemoveUser($uid);
+               gwvpmini_SendMessage("info", "User $uname ($uid) has been removed");\r
+       } else {
+               gwvpmini_SendMessage("info", "Problem deleteing user with uid $uid");
+       }\r
+
+       header("Location: $BASE_URL/admin");\r
+}\r
+
 ?>
\ No newline at end of file