-/*
- * Display the login screen
+
+/**
+ * \brief user states
+ * the plain text states of a user. filled in at \ function TODO initialize_ax_defs()
+ * due to NLS
+ */
+char *axdefs[7];
+
+void initialize_axdefs(void) {
+ axdefs[0] = _("Deleted"); /*!0: an erased user */
+ axdefs[1] = _("New User"); /*!1: a new user */
+ axdefs[2] = _("Problem User"); /*!2: a trouble maker */
+ axdefs[3] = _("Local User"); /*!3: user with normal privileges */
+ axdefs[4] = _("Network User"); /*!4: a user that may access network resources */
+ axdefs[5] = _("Preferred User");/*!5: a moderator */
+ axdefs[6] = _("Aide"); /*!6: chief */
+}
+
+
+
+
+/**
+ * \brief Display the login screen
+ * \param mesg The error message if last attempt failed.
- output_headers(1, 1, 2, 0, 0, 0, 0);
+ output_headers(1, 1, 2, 0, 0, 0);
wprintf("<div style=\"position:absolute; top:20px; left:20px; right:20px\">\n");
if (mesg != NULL) if (strlen(mesg) > 0) {
wprintf("<div style=\"position:absolute; top:20px; left:20px; right:20px\">\n");
if (mesg != NULL) if (strlen(mesg) > 0) {
+ svprintf("USERNAME_BOX", WCS_STRING, "%s", _("User name:"));
+ svprintf("PASSWORD_BOX", WCS_STRING, "%s", _("Password:"));
+ svprintf("LANGUAGE_BOX", WCS_STRING, "%s", _("Language:"));
svprintf("LOGIN_BUTTON", WCS_STRING, "%s", _("Login"));
svprintf("NEWUSER_BUTTON", WCS_STRING, "%s", _("New User"));
svprintf("EXIT_BUTTON", WCS_STRING, "%s", _("Exit"));
svprintf("hello", WCS_SERVCMD, "MESG hello");
svprintf("BOXTITLE", WCS_STRING, _("%s - powered by Citadel"),
serv_info.serv_humannode);
svprintf("LOGIN_BUTTON", WCS_STRING, "%s", _("Login"));
svprintf("NEWUSER_BUTTON", WCS_STRING, "%s", _("New User"));
svprintf("EXIT_BUTTON", WCS_STRING, "%s", _("Exit"));
svprintf("hello", WCS_SERVCMD, "MESG hello");
svprintf("BOXTITLE", WCS_STRING, _("%s - powered by Citadel"),
serv_info.serv_humannode);
* This function needs to get called whenever the session changes from
* not-logged-in to logged-in, either by an explicit login by the user or
* by a timed-out session automatically re-establishing with a little help
* from the browser cookie. Either way, we need to load access controls and
* preferences from the server.
* This function needs to get called whenever the session changes from
* not-logged-in to logged-in, either by an explicit login by the user or
* by a timed-out session automatically re-establishing with a little help
* from the browser cookie. Either way, we need to load access controls and
* preferences from the server.
- extract_token(WC->wc_username, &serv_response[4], 0, '|', sizeof WC->wc_username);
+ extract_token(WC->wc_fullname, &serv_response[4], 0, '|', sizeof WC->wc_fullname);
+ safestrncpy(WC->wc_username, user, sizeof WC->wc_username);
safestrncpy(WC->wc_password, pass, sizeof WC->wc_password);
WC->axlevel = extract_int(&serv_response[4], 1);
if (WC->axlevel >= 6) {
safestrncpy(WC->wc_password, pass, sizeof WC->wc_password);
WC->axlevel = extract_int(&serv_response[4], 1);
if (WC->axlevel >= 6) {
WC->need_vali = extract_int(&buf[4], 2);
extract_token(WC->cs_inet_email, &buf[4], 3, '|', sizeof WC->cs_inet_email);
}
WC->need_vali = extract_int(&buf[4], 2);
extract_token(WC->cs_inet_email, &buf[4], 3, '|', sizeof WC->cs_inet_email);
}
+
+ get_preference("current_iconbar", buf, sizeof buf);
+ WC->current_iconbar = atoi(buf);
+
+ get_preference("floordiv_expanded", WC->floordiv_expanded, sizeof WC->floordiv_expanded);
* Go to the user's preferred start page
*/
get_preference("startpage", buf, sizeof buf);
if (strlen(buf)==0) {
* Go to the user's preferred start page
*/
get_preference("startpage", buf, sizeof buf);
if (strlen(buf)==0) {
* Disconnect from the Citadel server, and end this WebCit session
*/
void end_webcit_session(void) {
* Disconnect from the Citadel server, and end this WebCit session
*/
void end_webcit_session(void) {
+ char buf[256];
+
+ if (WC->logged_in) {
+ sprintf(buf, "%d", WC->current_iconbar);
+ set_preference("current_iconbar", buf, 0);
+ set_preference("floordiv_expanded", WC->floordiv_expanded, 1);
+ }
+
safestrncpy(WC->wc_username, "", sizeof WC->wc_username);
safestrncpy(WC->wc_password, "", sizeof WC->wc_password);
safestrncpy(WC->wc_roomname, "", sizeof WC->wc_roomname);
safestrncpy(WC->wc_username, "", sizeof WC->wc_username);
safestrncpy(WC->wc_password, "", sizeof WC->wc_password);
safestrncpy(WC->wc_roomname, "", sizeof WC->wc_roomname);
- /* Calling output_headers() this way causes the cookies to be un-set */
- output_headers(1, 1, 0, 1, 0, 0, 0);
+ /** Calling output_headers() this way causes the cookies to be un-set */
+ output_headers(1, 1, 0, 1, 0, 0);
"<a href=\"javascript:window.close();\">");
wprintf(_("Close window"));
wprintf("</a></center>\n");
"<a href=\"javascript:window.close();\">");
wprintf(_("Close window"));
wprintf("</a></center>\n");
- output_headers(1, 1, 2, 0, 0, 0, 0);
+ output_headers(1, 1, 2, 0, 0, 0);
wprintf("<div id=\"banner\">\n"
"<TABLE WIDTH=100%% BORDER=0 BGCOLOR=\"#444455\"><TR><TD>"
"<SPAN CLASS=\"titlebar\">");
wprintf(_("Validate new users"));
wprintf("</SPAN></TD></TR></TABLE>\n</div>\n<div id=\"content\">\n");
wprintf("<div id=\"banner\">\n"
"<TABLE WIDTH=100%% BORDER=0 BGCOLOR=\"#444455\"><TR><TD>"
"<SPAN CLASS=\"titlebar\">");
wprintf(_("Validate new users"));
wprintf("</SPAN></TD></TR></TABLE>\n</div>\n<div id=\"content\">\n");
if (strlen(bstr("axlevel")) > 0) {
serv_printf("VALI %s|%s", buf, bstr("axlevel"));
serv_getln(buf, sizeof buf);
if (strlen(bstr("axlevel")) > 0) {
serv_printf("VALI %s|%s", buf, bstr("axlevel"));
serv_getln(buf, sizeof buf);
* (Set during_login to 1 if this registration is being performed during
* new user login and will require chaining to the proper screen.)
* (Set during_login to 1 if this registration is being performed during
* new user login and will require chaining to the proper screen.)
- output_headers(1, 1, 2, 0, 0, 0, 0);
+ output_headers(1, 1, 2, 0, 0, 0);
wprintf("<div id=\"banner\">\n"
"<TABLE WIDTH=100%% BORDER=0 BGCOLOR=\"#444455\"><TR><TD>"
"<SPAN CLASS=\"titlebar\">");
wprintf("<div id=\"banner\">\n"
"<TABLE WIDTH=100%% BORDER=0 BGCOLOR=\"#444455\"><TR><TD>"
"<SPAN CLASS=\"titlebar\">");