* copy daves great handler script and modify it to fit the simpler needs of webcit.
[citadel.git] / webcit / mainmenu.c
index cf1ea9bf2abeef28daec83b776945690826833ca..1ec145374b3d9a3894174584d2dd7bb9935b6bdf 100644 (file)
@@ -1,16 +1,11 @@
 /*
  * $Id$
  */
-/**
- * \defgroup DispAdvancedMenu Displays the "advanced" (main) menu.
- * \ingroup MenuInfrastructure
- *
- */
-/*@{*/
+
 #include "webcit.h"
 
-/**
- * \brief The Main Menu
+/*
+ * The Main Menu
  */
 void display_main_menu(void)
 {
@@ -24,7 +19,7 @@ void display_main_menu(void)
        svput("BOXTITLE", WCS_STRING, _("Basic commands"));
        do_template("beginbox");
 
-       /**< start of first column */
+       /* start of first column */
        wprintf("<ul class=\"adminitems col1\">");
 
        wprintf("<li><a href=\"knrooms\">");
@@ -152,8 +147,8 @@ void display_main_menu(void)
 }
 
 
-/**
- * \brief System administration menu
+/*
+ * System administration menu
  */
 void display_aide_menu(void)
 {
@@ -202,8 +197,8 @@ void display_aide_menu(void)
 
 
 
-/**
- * \brief Display the screen to enter a generic server command
+/*
+ * Display the screen to enter a generic server command
  */
 void display_generic(void)
 {
@@ -226,7 +221,7 @@ void display_generic(void)
        wprintf("<br />\n");
 
        wprintf("<form method=\"post\" action=\"do_generic\">\n");
-       wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%ld\">\n", WC->nonce);
+       wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%d\">\n", WC->nonce);
 
        wprintf(_("Enter command:"));
        wprintf("<br /><input type=\"text\" name=\"g_cmd\" size=80 maxlength=\"250\"><br />\n");
@@ -246,8 +241,8 @@ void display_generic(void)
        wDumpContent(1);
 }
 
-/**
- * \brief Interactive window to perform generic Citadel server commands.
+/*
+ * Interactive window to perform generic Citadel server commands.
  */
 void do_generic(void)
 {
@@ -310,9 +305,10 @@ void do_generic(void)
 }
 
 
-/**
- * \brief Display the menubar.  
- * \param as_single_page Set to display HTML headers and footers -- otherwise it's assumed
+/*
+ * Display the menubar.  
+ *
+ * Set 'as_single_page' to display HTML headers and footers -- otherwise it's assumed
  * that the menubar is being embedded in another page.
  */
 void display_menubar(int as_single_page) {
@@ -339,8 +335,8 @@ void display_menubar(int as_single_page) {
 }
 
 
-/**
- * \brief Display the wait / input dialog while restarting the server.
+/*
+ * Display the wait / input dialog while restarting the server.
  */
 void display_shutdown(void)
 {
@@ -413,13 +409,23 @@ void display_shutdown(void)
        else if (!strcmp(when, "idle")) {
                serv_printf("SCDN 3");
                serv_getln(buf, sizeof buf);
-               if (atol(buf) == 500)
-               { /* upsie. maybe the server is not running as daemon? */
+               if (atol(buf) == 500) {
+                       /* oops ... maybe the server is not running as a daemon? */
                        wprintf("<html><head></head><body>Attention: %s</body></html>", &buf[4]);
-
                }
        }
 }
 
+void _display_menubar(void) { display_menubar(0); }
 
-/*@}*/
+void 
+InitModule_MAINMENU
+(void)
+{
+       WebcitAddUrlHandler(HKEY("display_aide_menu"), display_aide_menu, 0);
+       WebcitAddUrlHandler(HKEY("server_shutdown"), display_shutdown, 0);
+       WebcitAddUrlHandler(HKEY("display_main_menu"), display_main_menu, 0);
+       WebcitAddUrlHandler(HKEY("display_generic"), display_generic, 0);
+       WebcitAddUrlHandler(HKEY("do_generic"), do_generic, 0);
+       WebcitAddUrlHandler(HKEY("display_menubar"), _display_menubar, 0);
+}