ksort($MENU_ITEMS);
?>
- <table border="1"><tr><th>Menu</th><td>
+<table border="1"><tr><th>Menu</th><td>
<a href="<?php echo $BASE_URL ?>">Home</a></td>
<?php
foreach($MENU_ITEMS as $key => $val) {
echo "</table>";
}
+// just a short one to call the long one
+function gcam($m, $s)
+{
+ global $glconfig;
+ GLCASAddMessage($m, $s);
+}
+
+function GLCASAddMessage($messagelev, $message)
+{
+ global $glconfig;
+
+ $glconfig->addData("messages", time(), "$messagelev", $message);
+}
+
function GLCASMessageBuilder()
{
- echo "<i>Messages not implemented yet</i>";
+ global $glconfig;
+ $nm = 0;
+ $nml = null;
+ $msgs_v = $glconfig->getData("messages");
+
+ // create a form for setting messages
+ global $BASE_URL;
+ echo "<form method=\"post\" action=\"$BASE_URL/?glcasbasesendmsg\">";
+ echo "Send a message";
+ echo "<input type=\"text\" name=\"message\">";
+ echo "<select name=\"msglev\"><option value=\"0\">Info</option><option value=\"1\">Warning</option>";
+ echo "<option value=\"2\">Error</option></select>";
+ echo "<input type=\"submit\" name=\"add\" value=\"Add\">";
+ echo "</form>";
+
+ if($msgs_v !== false) foreach($msgs_v as $msgs) {
+
+ error_log("messages: ".$msgs["category"]. " - ".$msgs["val"]);
+
+ $nml[$nm]["msg"] = glcas_tdiffToAgo(time()-$msgs["category"])." : ".$msgs["val"];
+ $fontst = "";
+ $fonten = "";
+ switch($msgs["name"]) {
+ case "0":
+ $fontst = "<font color=\"green\">";
+ $fonten = "</font>";
+ break;
+
+ case "1":
+ $fontst = "<font color=\"yellow\">";
+ $fonten = "</font>";
+ break;
+ case "2":
+ $fontst = "<font color=\"red\">";
+ $fonten = "</font>";
+ break;
+
+ }
+ $nml[$nm]["font_start"] = $fontst;
+ $nml[$nm]["font_end"] = $fonten;
+
+ $nm++;
+ }
+ if($nm > 0 ) {
+ echo "<hr>";
+ echo "<table>";
+ // we do it backwards
+ for($i = ($nm-1); $i >= 0; $i--) {
+ echo "<tr><td>".$nml[$i]["font_start"]."".$nml[$i]["msg"]."".$nml[$i]["font_end"]."</td></tr>";
+ }
+ echo "</table>";
+ echo "<hr>";
+ } else echo "No Messages<br>";
}
function GLCASpageBuilder($bodyClass, $bodyFunction, $bodycontent=null, $title="GLCAS")
error_log("admin loaded");
global $BASE_URL, $MENU_ITEMS;
-$MENU_ITEMS["30admin"]["name"] = "Repo Admin";
-$MENU_ITEMS["30admin"]["link"] = "$BASE_URL/repoadmin";
+$MENU_ITEMS["30repoadmin"]["name"] = "Repo Admin";
+$MENU_ITEMS["30repoadmin"]["link"] = "$BASE_URL/repoadmin";
global $URL_HANDLERS;
$URL_HANDLERS["repoadmin.*"] = "GLCASRepoAdmin";
--- /dev/null
+<?php
+
+error_log("server admin loaded");
+
+global $BASE_URL, $MENU_ITEMS;
+$MENU_ITEMS["10serveradmin"]["name"] = "Server Admin";
+$MENU_ITEMS["10serveradmin"]["link"] = "$BASE_URL/serveradmin";
+
+global $SERVER_ADMIN_MENU;
+$SERVER_ADMIN_MENU["10services"]["name"] = "Services";
+$SERVER_ADMIN_MENU["10services"]["link"] = "?action=services";
+$SERVER_ADMIN_MENU["20hostcontrol"]["name"] = "Host Control";
+$SERVER_ADMIN_MENU["20hostcontrol"]["link"] = "?action=hostcontrol";
+
+global $URL_HANDLERS;
+$URL_HANDLERS["serveradmin.*"] = "GLCASServerAdmin";
+
+class GLCASServerAdmin {
+ function __construct($config)
+ {
+ $this->config = $config;
+ error_log("constructor for GLCASRepoAdmin");
+
+ }
+
+ function go($url)
+ {
+ error_log("repo:go called");
+ GLCASpageBuilder($this, "mainbody");
+
+ }
+
+ function mainbody()
+ {
+ echo "<h2>Server Admin</h2>";
+ global $SERVER_ADMIN_MENU;
+ echo "<table border=\"1\"><tr>";
+ foreach($SERVER_ADMIN_MENU as $val) {
+ $link = $val["link"];
+ $name = $val["name"];
+ echo "<td><a href=\"$link\">$name</a></td>";
+ }
+ echo "</tr></table>";
+
+
+ }
+}
+
+?>
\ No newline at end of file
}
$glconfig = new GLCASConfig();
+global $glconfig;
$glconfig->loadConfig($configpath);
+
+// the global action handler
+if(isset($_REQUEST["glcasbasesendmsg"])) {
+ GLCASAddMessage($_REQUEST["msglev"], $_REQUEST["message"]);
+ header("Location: ".$_SERVER["HTTP_REFERER"]);
+ return;
+}
+
+// step up to the web responder
$webResponder = new GLCASWeb($glconfig);
$webResponder->go($URL_HANDLERS);
+
+
/*
echo "<pre>";
echo "BASEURL: $BASE_URL\n";