<?php
// setup the call me function for useradmin - matches on url of admin/users
-$CALL_ME_FUNCTIONS["config"] = "gwvp_ConfigCallMe";
+// crap, this wont work
+//if(isset($_SESSION["usertype"])) if($_SESSION["usertype"] == "admin") {
+$CALL_ME_FUNCTIONS["config"] = "gwvp_ConfigCallMe";
$MENU_ITEMS["40config"]["text"] = "Configuration";
$MENU_ITEMS["40config"]["link"] = "$BASE_URL/admin/config";
+$MENU_ITEMS["40config"]["userlevel"] = "admin";
+//}
+
+// config types are bool, int, or text
+$CONFIG_VARS["userreg"]["type"] = "bool";
+$CONFIG_VARS["userreg"]["text"] = "Allow User Registration";
+
+$CONFIG_VARS["usercreategroups"]["type"] = "bool";
+$CONFIG_VARS["usercreategroups"]["text"] = "Allow User Created Groups";
+$CONFIG_VARS["repodir"]["type"] = "text";
+$CONFIG_VARS["repodir"]["text"] = "Repository Storage Directory";
+
+
+global $data_directory, $CONFIG_VARS;
function gwvp_ConfigCallMe()
{
if(isset($_REQUEST["q"])) {
$query = $_REQUEST["q"];
if($query == "admin/config") return "gwvp_ConfigPage";
+ if($query == "admin/configupdate") return "gwvp_ConfigUpdatePage";
else return false;
}
gwvp_goMainPage("gwvp_ConfigPageBody");
}
+function gwvp_ConfigUpdatePage()
+{
+ global $CONFIG_VARS, $BASE_URL;
+
+ foreach($CONFIG_VARS as $key => $val) {
+ switch($val["type"]) {
+ case "bool":
+ if(isset($_REQUEST["$key"])) {
+ $pushval = 1;
+ } else {
+ $pushval = 0;
+ }
+
+ break;
+ default:
+ $pushval = $_REQUEST["$key"];
+ }
+ error_log("pushing value, $pushval for $key");
+ gwvp_setConfigVal($key, $pushval);
+ }
+
+ gwvp_SendMessage("info", "Configuration Updated");
+ header("Location: $BASE_URL/admin/config");
+
+}
function gwvp_ConfigPageBody()
{
+ global $CONFIG_VARS, $BASE_URL;
+
+ echo "<h1>Global Configuration</h1>";
+ echo "<form method=\"post\" action=\"$BASE_URL/admin/configupdate\">";
+ echo "<table>";
+ echo "<tr><th bgcolor=\"#eeeeff\">Configuration Variable</th><th bgcolor=\"#eeeeff\">Value</th></tr>";
+ foreach($CONFIG_VARS as $key=>$var) {
+ $name = $key;
+ $text = $var["text"];
+ $cval = gwvp_getConfigVal($name);
+ $curtypeval = "";
+ switch($var["type"]) {
+ case "bool":
+ $ltype = "checkbox";
+ if($cval == 1) $curtypeval = "checked";
+ break;
+ case "int":
+ $ltype = "text";
+ $curtypeval = "value=\"$cval\"";
+ break;
+ case "text":
+ $ltype = "text";
+ $curtypeval = "value=\"$cval\"";
+ break;
+ default:
+ $ltype = "text";
+ $curtypeval = "value=\"$cval\"";
+ break;
+ }
+ error_log("go config $name as $ltype, $curtypeval");
+ echo "<tr><td>$text</td><td bgcolor=\"#eeeeee\"><input type=\"$ltype\" name=\"$name\" $curtypeval></td></tr>";
+ }
+ echo "</table>";
+ echo "<input type=\"submit\" name=\"Update\" value=\"Update\">";
+ echo "</form>";
}
?>
\ No newline at end of file