/*@@ @file Groups.c @date Wed Sep 14 23:47:43 2000 @author Gabrielle Allen @desc Pages about groups @enddesc @version $Header$ @@*/ #include #include #include "cctk.h" #include "util_String.h" #include "CactusConnect/HTTPD/src/http_Request.h" #include "CactusConnect/HTTPD/src/http_Content.h" static char *rcsid = "$Header$"; CCTK_FILEVERSION(DevThorns_httpd_utils_Groups_c) /******************************************************************** ********************* Local Data Types *********************** ********************************************************************/ static char memo[4098]; /******************************************************************** ********************* Local Routine Prototypes ********************* ********************************************************************/ static int MessagesPage(cGH *cctkGH, httpRequest *request, void *data); /******************************************************************** ********************* Other Routine Prototypes ********************* ********************************************************************/ /******************************************************************** ********************* Local Data ***************************** ********************************************************************/ /******************************************************************** ********************* External Routines ********************** ********************************************************************/ /*@@ @routine HTTPUTILS_RegisterPages @date Wed Sep 14 11:29:43 2000 @author Gabrielle Allen @desc Httpd utils registration routine. @enddesc @calls @calledby @history @endhistory @@*/ int HTTPUTILS_RegisterPages(void) { /* Register the message board page. */ HTTP_RegisterPage("/Messages", MessagesPage, NULL); HTTP_ContentLink("/Messages/index.html", "Message Board", "Collaborative simulation notepad", HTTP_QUICKLINK); return 0; } /******************************************************************** ********************* Local Routines ************************* ********************************************************************/ /*@@ @routine MessagesPage @date Sat Sep 16 @author Gabrielle @desc Message board for simulation. @enddesc @calls @calledby @@*/ static int MessagesPage(cGH *cctkGH, httpRequest *request, void *data) { int retval; char message[4098]; char currtime[100]; char currdate[100]; if (request->n_arguments > 0) { Util_CurrentTime(100,currtime); Util_CurrentDate(100,currdate); sprintf(memo,"%s\n\n

%s %s %s
", memo,HTTP_ArgumentValue(request, "name"), currtime,currdate); sprintf(memo,"%s\n\n%s

",memo, HTTP_ArgumentValue(request, "memo")); } /* Status message */ strcpy(message,"HTTP/1.0 200 OK\r\n"); HTTP_Write(request, message, strlen(message)); /* Content-Type */ strcpy(message,"Content-Type: text/html\r\n\r\n"); HTTP_Write(request, message, strlen(message)); /* Start the page */ strcpy(message,"CACTUS Messages\n"); HTTP_Write(request, message, strlen(message)); /* Write out the header part */ HTTP_ContentHeader(cctkGH, 0, 4098, message,NULL); HTTP_Write(request, message, strlen(message)); strcpy(message,"

Message Board

\n" "

This page can be used to post messages during a simulation. " "At the moment the messages will disappear when the simulation" " finishes, but soon there will be an option to save them to a file" "

" ""); HTTP_Write(request, message, strlen(message)); sprintf(message, "\n"); HTTP_Write(request, message, strlen(message)); sprintf(message,"\n"); HTTP_Write(request, message, strlen(message)); sprintf(message,"
Name:" "" "
Message:" "\n" "
"); HTTP_Write(request, message, strlen(message)); sprintf(message, "\n"); HTTP_Write(request, message, strlen(message)); sprintf(message,"%s","

Messages:

"); HTTP_Write(request, message, strlen(message)); if (strlen(memo)>0) { sprintf(message,"
%s
",memo); HTTP_Write(request, message, strlen(message)); } else { strcpy(message,"
No messages yet ... use the form above to add one
"); HTTP_Write(request, message, strlen(message)); } sprintf(message, "
"); HTTP_Write(request, message, strlen(message)); /* Write out the footer part. */ HTTP_ContentFooter(cctkGH, 0, 4098, message); retval = HTTP_Write(request, message, strlen(message)); return retval; }