+/*
+ * $Id$
+ *
+ * Display a list of all accounts on a Citadel system.
+ *
+ */
+
+#include <ctype.h>
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
+#include <fcntl.h>
#include <signal.h>
#include <sys/types.h>
-#include <ctype.h>
+#include <sys/wait.h>
+#include <sys/socket.h>
+#include <sys/time.h>
+#include <limits.h>
+#include <netinet/in.h>
+#include <netdb.h>
#include <string.h>
-#include <time.h>
+#include <pwd.h>
+#include <errno.h>
+#include <stdarg.h>
+#include <pthread.h>
+#include <signal.h>
#include "webcit.h"
-#include "child.h"
struct namelist {
struct namelist *next;
*/
void userlist(void)
{
- char buf[256];
- char fl[256];
+ char buf[SIZ];
+ char fl[SIZ];
struct tm *tmbuf;
long lc;
struct namelist *bio = NULL;
struct namelist *bptr;
int has_bio;
+ int bg = 0;
serv_puts("LBIO");
serv_gets(buf);
strcpy(bptr->name, buf);
bio = bptr;
}
- printf("HTTP/1.0 200 OK\n");
- output_headers(1, "bottom");
+ output_headers(1, 1, 0, 0, 0, 0, 0);
serv_puts("LIST");
serv_gets(buf);
if (buf[0] != '1') {
- wprintf("<EM>%s</EM><BR>\n", &buf[4]);
+ wprintf("<EM>%s</EM><br />\n", &buf[4]);
goto DONE;
}
- wprintf("<TABLE WIDTH=100% BORDER=0 BGCOLOR=007700><TR><TD>");
- wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
- wprintf("<B>User list for ");
- escputs(serv_info.serv_humannode);
- wprintf("</B></FONT></TD></TR></TABLE>\n");
- wprintf("<CENTER><TABLE border>");
+ svprintf("BOXTITLE", WCS_STRING, "User list for %s",
+ serv_info.serv_humannode);
+
+ do_template("beginbox");
+ wprintf("<CENTER>");
+ wprintf("<TABLE border=0 width=100%%>");
wprintf("<TR><TH>User Name</TH><TH>Number</TH><TH>Access Level</TH>");
- wprintf("<TH>Last Call</TH><TH>Total Calls</TH><TH>Total Posts</TH></TR>\n");
+ wprintf("<TH>Last Login</TH><TH>Total Logins</TH><TH>Total Posts</TH></TR>\n");
while (serv_gets(buf), strcmp(buf, "000")) {
extract(fl, buf, 0);
if (!strcasecmp(fl, bptr->name))
has_bio = 1;
}
- wprintf("<TR><TD>");
+ bg = 1 - bg;
+ wprintf("<TR BGCOLOR=\"#%s\"><TD>",
+ (bg ? "DDDDDD" : "FFFFFF")
+ );
if (has_bio) {
wprintf("<A HREF=\"/showuser&who=");
urlescputs(fl);
extract_long(buf, 4), extract_long(buf, 5));
}
- wprintf("</TABLE></CENTER>\n");
- DONE:wDumpContent(1);
+ wprintf("</TABLE>");
+ wprintf("</CENTER>\n");
+ do_template("endbox");
+DONE: wDumpContent(1);
}
*/
void showuser(void)
{
- char who[256];
- char buf[256];
+ char who[SIZ];
+ char buf[SIZ];
int have_pic;
- printf("HTTP/1.0 200 OK\n");
- output_headers(1, "bottom");
-
+ output_headers(1, 1, 0, 0, 0, 0, 0);
- wprintf("<TABLE WIDTH=100% BORDER=0 BGCOLOR=007700><TR><TD>");
- wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"<B>User profile");
- wprintf("</B></FONT></TD></TR></TABLE>\n");
+ svprintf("BOXTITLE", WCS_STRING, "User profile");
+ do_template("beginbox");
strcpy(who, bstr("who"));
serv_printf("OIMG _userpic_|%s", who);
wprintf("</TD><TD><H1>%s</H1></TD></TR></TABLE></CENTER>\n", who);
serv_printf("RBIO %s", who);
serv_gets(buf);
- if (buf[0] == '1')
- fmout(NULL);
+ if (buf[0] == '1') {
+ fmout(NULL, "JUSTIFY");
+ }
+ wprintf("<br /><A HREF=\"/display_page&recp=");
+ urlescputs(who);
+ wprintf("\">"
+ "<IMG SRC=\"/static/page.gif\" ALIGN=MIDDLE BORDER=0>"
+ " "
+ "Click here to page this user (send an instant message)"
+ "</A>\n");
+
+ do_template("endbox");
wDumpContent(1);
}