* *** HUGE CHANGES *** *** WARNING: NOT FULLY FUNCTIONAL ***
[citadel.git] / webcit / auth.c
index a764367c06e38f7045e18a85b737f08387615e49..a2f51d6d792a8d99f9bb41c4acf64097c1755ac9 100644 (file)
@@ -46,19 +46,21 @@ void display_login(char *mesg)
 {
        char buf[SIZ];
 
-       output_headers(3);
+       output_headers(1, 1, 2, 0, 0, 0, 0);
+       wprintf("<div id=\"text\">\n");
 
        if (mesg != NULL) if (strlen(mesg) > 0) {
-               stresc(buf, mesg, 0);
+               stresc(buf, mesg, 0, 0);
                svprintf("mesg", WCS_STRING, "%s", buf);
        }
 
        svprintf("hello", WCS_SERVCMD, "MESG hello");
+       svprintf("BOXTITLE", WCS_STRING, "%s - powered by Citadel",
+               serv_info.serv_humannode);
 
        do_template("login");
 
-       clear_local_substs();
-       wDumpContent(0);        /* No menu here; not logged in yet! */
+       wDumpContent(2);
 }
 
 
@@ -158,8 +160,8 @@ void do_welcome(void)
 
         svprintf("STARTPAGE", WCS_STRING, startpage);
 
-        do_template("mainframeset");
-        clear_local_substs();
+       /* FIXME ... go to my start page, not to the summary */
+       summary();
 }
 
 
@@ -181,7 +183,8 @@ void do_logout(void)
        strcpy(WC->wc_password, "");
        strcpy(WC->wc_roomname, "");
 
-       output_headers(2);      /* note "2" causes cookies to be unset */
+       /* Calling output_headers() this way causes the cookies to be un-set */
+       output_headers(1, 1, 0, 1, 0, 0, 0);
 
        wprintf("<CENTER>");
        serv_puts("MESG goodbye");
@@ -189,7 +192,7 @@ void do_logout(void)
 
        if (WC->serv_sock >= 0) {
                if (buf[0] == '1') {
-                       fmout(NULL);
+                       fmout(NULL, "CENTER");
                } else {
                        wprintf("Goodbye\n");
                }
@@ -201,7 +204,7 @@ void do_logout(void)
                );
        }
 
-       wprintf("<HR><A HREF=\"/\">Log in again</A>&nbsp;&nbsp;&nbsp;"
+       wprintf("<hr /><A HREF=\"/\">Log in again</A>&nbsp;&nbsp;&nbsp;"
                "<A HREF=\"javascript:window.close();\">Close window</A>"
                "</CENTER>\n");
        wDumpContent(2);
@@ -209,7 +212,6 @@ void do_logout(void)
 }
 
 
-
 /* 
  * validate new users
  */
@@ -220,25 +222,30 @@ void validate(void)
        char buf[SIZ];
        int a;
 
-       output_headers(3);
+       output_headers(1, 1, 0, 0, 0, 0, 0);
 
        strcpy(buf, bstr("user"));
        if (strlen(buf) > 0)
-               if (strlen(bstr("WC->axlevel")) > 0) {
-                       serv_printf("VALI %s|%s", buf, bstr("WC->axlevel"));
+               if (strlen(bstr("axlevel")) > 0) {
+                       serv_printf("VALI %s|%s", buf, bstr("axlevel"));
                        serv_gets(buf);
                        if (buf[0] != '2') {
-                               wprintf("<EM>%s</EM><BR>\n", &buf[4]);
+                               wprintf("<EM>%s</EM><br />\n", &buf[4]);
                        }
                }
        serv_puts("GNUR");
        serv_gets(buf);
 
        if (buf[0] != '3') {
-               wprintf("<EM>%s</EM><BR>\n", &buf[4]);
+               wprintf("<EM>%s</EM><br />\n", &buf[4]);
                wDumpContent(1);
                return;
        }
+
+       wprintf("<CENTER>");
+       do_template("beginbox_nt");
+       wprintf("<CENTER>");
+
        strcpy(user, &buf[4]);
        serv_printf("GREG %s", user);
        serv_gets(cmd);
@@ -248,39 +255,42 @@ void validate(void)
                        serv_gets(buf);
                        ++a;
                        if (a == 1)
-                               wprintf("User #%s<BR><H1>%s</H1>",
+                               wprintf("User #%s<br /><H1>%s</H1>",
                                        buf, &cmd[4]);
                        if (a == 2)
-                               wprintf("PW: %s<BR>\n", buf);
+                               wprintf("PW: %s<br />\n", buf);
                        if (a == 3)
-                               wprintf("%s<BR>\n", buf);
+                               wprintf("%s<br />\n", buf);
                        if (a == 4)
-                               wprintf("%s<BR>\n", buf);
+                               wprintf("%s<br />\n", buf);
                        if (a == 5)
                                wprintf("%s, ", buf);
                        if (a == 6)
                                wprintf("%s ", buf);
                        if (a == 7)
-                               wprintf("%s<BR>\n", buf);
+                               wprintf("%s<br />\n", buf);
                        if (a == 8)
-                               wprintf("%s<BR>\n", buf);
+                               wprintf("%s<br />\n", buf);
                        if (a == 9)
                                wprintf("Current access level: %d (%s)\n",
                                        atoi(buf), axdefs[atoi(buf)]);
                } while (strcmp(buf, "000"));
        } else {
-               wprintf("<H1>%s</H1>%s<BR>\n", user, &cmd[4]);
+               wprintf("<H1>%s</H1>%s<br />\n", user, &cmd[4]);
        }
 
-       wprintf("<CENTER><TABLE border><CAPTION>Select access level:");
-       wprintf("</CAPTION><TR>");
+       wprintf("<hr />Select access level for this user:<br />\n");
        for (a = 0; a <= 6; ++a) {
-               wprintf("<TD><A HREF=\"/validate&user=");
+               wprintf("<A HREF=\"/validate&user=");
                urlescputs(user);
-               wprintf("&WC->axlevel=%d\">%s</A></TD>\n",
+               wprintf("&axlevel=%d\">%s</A>&nbsp;&nbsp;&nbsp;\n",
                        a, axdefs[a]);
        }
-       wprintf("</TR></TABLE><CENTER><BR>\n");
+       wprintf("<br />\n");
+
+       wprintf("</CENTER>\n");
+       do_template("endbox");
+       wprintf("</CENTER>\n");
        wDumpContent(1);
 }
 
@@ -327,25 +337,29 @@ void display_changepw(void)
 {
        char buf[SIZ];
 
-       output_headers(3);
+       output_headers(1, 1, 0, 0, 0, 0, 0);
 
        svprintf("BOXTITLE", WCS_STRING, "Change your password");
        do_template("beginbox");
-       wprintf("<CENTER>");
+       wprintf("<CENTER><br />");
        serv_puts("MESG changepw");
        serv_gets(buf);
        if (buf[0] == '1') {
-               fmout(NULL);
+               fmout(NULL, "CENTER");
        }
 
        wprintf("<FORM ACTION=\"changepw\" METHOD=\"POST\">\n");
-       wprintf("<CENTER><TABLE border><TR><TD>Enter new password:</TD>\n");
+       wprintf("<CENTER>"
+               "<table border=\"0\" cellspacing=\"5\" cellpadding=\"5\" "
+               "BGCOLOR=\"#EEEEEE\">"
+               "<TR><TD>Enter new password:</TD>\n");
        wprintf("<TD><INPUT TYPE=\"password\" NAME=\"newpass1\" VALUE=\"\" MAXLENGTH=\"20\"></TD></TR>\n");
        wprintf("<TR><TD>Enter it again to confirm:</TD>\n");
        wprintf("<TD><INPUT TYPE=\"password\" NAME=\"newpass2\" VALUE=\"\" MAXLENGTH=\"20\"></TD></TR>\n");
-       wprintf("</TABLE>\n");
-       wprintf("<INPUT type=\"submit\" NAME=\"action\" VALUE=\"Change\">\n");
-       wprintf("<INPUT type=\"submit\" NAME=\"action\" VALUE=\"Cancel\">\n");
+       wprintf("</TABLE><br />\n");
+       wprintf("<INPUT type=\"submit\" NAME=\"action\" VALUE=\"Change\">\n"
+               "&nbsp;"
+               "<INPUT type=\"submit\" NAME=\"action\" VALUE=\"Cancel\">\n");
        wprintf("</CENTER>\n");
        do_template("endbox");
        wDumpContent(1);
@@ -360,20 +374,22 @@ void changepw(void)
        char newpass1[32], newpass2[32];
 
        if (strcmp(bstr("action"), "Change")) {
-               display_error("Cancelled.  Password was not changed.");
+               strcpy(WC->ImportantMessage, 
+                       "Cancelled.  Password was not changed.");
+               display_main_menu();
                return;
        }
        strcpy(newpass1, bstr("newpass1"));
        strcpy(newpass2, bstr("newpass2"));
 
        if (strcasecmp(newpass1, newpass2)) {
-               display_error("They don't match.  Password was not changed.");
+               strcpy(WC->ImportantMessage, 
+                       "They don't match.  Password was not changed.");
+               display_main_menu();
                return;
        }
        serv_printf("SETP %s", newpass1);
        serv_gets(buf);
-       if (buf[0] == '2')
-               display_success(&buf[4]);
-       else
-               display_error(&buf[4]);
+       strcpy(WC->ImportantMessage, &buf[4]);
+       display_main_menu();
 }