X-Git-Url: http://git.pjr.cc/?p=gwvp.git;a=blobdiff_plain;f=gwvplib%2Fgwvpconfig.php;h=3457e383a48a6bf92c2fa2a4fb026680fc471ecb;hp=4ebfb4289decc35fdd1f3e88233239d49b0fedc3;hb=4f4bf1da18181d412cd755143e016ede587cc1d6;hpb=3dd9dc99f86e65eaf029f37329614dd2d06cea26 diff --git a/gwvplib/gwvpconfig.php b/gwvplib/gwvpconfig.php index 4ebfb42..3457e38 100644 --- a/gwvplib/gwvpconfig.php +++ b/gwvplib/gwvpconfig.php @@ -4,18 +4,31 @@ // 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"; +$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; } @@ -27,19 +40,70 @@ 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 ""; + 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 "
Configuration VariableValue
$text
"; + echo ""; + echo "
"; } ?> \ No newline at end of file