X-Git-Url: http://git.pjr.cc/?p=gwvp.git;a=blobdiff_plain;f=gwvplib%2Fgwvpconfig.php;fp=gwvplib%2Fgwvpconfig.php;h=e63c99f0e89cf0205478767473092e5c60b83cef;hp=74ee6ec86bdcff8d3839639fcdb2772eeec0e04d;hb=425b2ddb1c73ca601b616ff9c6ef71d2c6b58b03;hpb=d0216e56e8d414ea31744887a95aab4372bfc156 diff --git a/gwvplib/gwvpconfig.php b/gwvplib/gwvpconfig.php index 74ee6ec..e63c99f 100644 --- a/gwvplib/gwvpconfig.php +++ b/gwvplib/gwvpconfig.php @@ -10,13 +10,25 @@ $MENU_ITEMS["40config"]["link"] = "$BASE_URL/admin/config"; $MENU_ITEMS["40config"]["userlevel"] = "admin"; //} -global $repo_base, $data_directory; +// 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; } @@ -28,19 +40,69 @@ function gwvp_ConfigPage() 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 Configuration

-
- - - - -
Allow User Registration
Allow User Created Groups
-
-Global Configuration"; + echo "
"; + echo ""; + 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 ""; + } + + echo "
$text
"; + echo ""; + echo "
"; } ?> \ No newline at end of file