not entirely sure, think its all the messaging components master
authorpaulr <me@pjr.cc>
Thu, 18 Aug 2011 16:42:16 +0000 (02:42 +1000)
committerpaulr <me@pjr.cc>
Thu, 18 Aug 2011 16:42:16 +0000 (02:42 +1000)
libglcas/web.php
plugins/repo_admin.php
plugins/server_admin.php [new file with mode: 0644]
www/index.php

index 157d293..41aa463 100644 (file)
@@ -62,7 +62,7 @@ function GLCASMenuBuilder()
        
        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) {
@@ -74,9 +74,75 @@ function GLCASMenuBuilder()
        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")
index e3dc5ce..04134f7 100644 (file)
@@ -3,8 +3,8 @@
 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";
diff --git a/plugins/server_admin.php b/plugins/server_admin.php
new file mode 100644 (file)
index 0000000..9b6887f
--- /dev/null
@@ -0,0 +1,49 @@
+<?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
index bf3bc2c..621c61d 100644 (file)
@@ -31,11 +31,23 @@ if($configpath == false) {
 }
 
 $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";