* add transitional beginboxx template and move some places to the new syntax
authorWilfried Göesgens <willi@citadel.org>
Sun, 23 Nov 2008 23:21:18 +0000 (23:21 +0000)
committerWilfried Göesgens <willi@citadel.org>
Sun, 23 Nov 2008 23:21:18 +0000 (23:21 +0000)
* finish preferences settings via templates
* add new settings to pre-select from/name/handle in case of email / posting into forums
* find some more missing error messages in the templating...

23 files changed:
webcit/auth.c
webcit/graphics.c
webcit/inetconf.c
webcit/listsub.c
webcit/mainmenu.c
webcit/openid.c
webcit/preferences.c
webcit/roomops.c
webcit/sieve.c
webcit/static/t/beginbox.html
webcit/static/t/beginboxx.html [new file with mode: 0644]
webcit/static/t/beginboxx.m.html [new file with mode: 0644]
webcit/static/t/box_preferences.html
webcit/static/t/edit_message.html
webcit/static/t/menu_your_info.html
webcit/static/t/section_msg_sender_from_select.html
webcit/static/t/section_msg_sender_name_select.html
webcit/subst.c
webcit/summary.c
webcit/sysmsgs.c
webcit/vcard_edit.c
webcit/webcit.c
webcit/webcit.h

index 0c4e76b516b04b0eb9f23297ae8454923fccff91..73a39ba62657cd0f4365c586f81eb9f41ff2eda7 100644 (file)
@@ -792,11 +792,13 @@ void display_reg(int during_login)
 void display_changepw(void)
 {
        char buf[SIZ];
-
+       StrBuf *Buf;
        output_headers(1, 1, 1, 0, 0, 0);
 
-       svput("BOXTITLE", WCS_STRING, _("Change your password"));
-       do_template("beginbox", NULL);
+       Buf = NewStrBufPlain(_("Change your password"), -1);
+       DoTemplate(HKEY("beginbox"), NULL, Buf, CTX_STRBUF);
+
+       FreeStrBuf(&Buf);
 
        if (!IsEmptyStr(WC->ImportantMessage)) {
                wprintf("<span class=\"errormsg\">"
index 601b4d0a43359aed77fef439aa3a2394dcc02ab6..add3b0021929ebe3072806906f481b5aefc9e2e7 100644 (file)
@@ -22,10 +22,13 @@ void display_graphics_upload(char *description, char *filename, char *uplurl)
        }
        output_headers(1, 1, 0, 0, 0, 0);
 
+       StrBuf *Buf;
        output_headers(1, 1, 1, 0, 0, 0);
 
-       svput("BOXTITLE", WCS_STRING, _("Image upload"));
-       do_template("beginbox", NULL);
+       Buf = NewStrBufPlain(_("Image upload"), -1);
+       DoTemplate(HKEY("beginbox"), NULL, Buf, CTX_STRBUF);
+
+       FreeStrBuf(&Buf);
 
        wprintf("<form enctype=\"multipart/form-data\" action=\"%s\" "
                "method=\"post\" name=\"graphicsupload\">\n", uplurl);
index c025792b056df02a28a676874da1807801c68157..191f90e76787a6b3525f6893654446c411d90869 100644 (file)
@@ -110,7 +110,7 @@ void display_inetconf(void)
                        wprintf("</td><td valign=top>");
                }
                svput("BOXTITLE", WCS_STRING, ic_boxtitle[which]);
-               do_template("beginbox", NULL);
+               do_template("beginboxx", NULL);
                wprintf("<span class=\"menudesc\">");
                escputs(ic_desc[which]);
                wprintf("</span><br />");
index 604d3d47b0acd46d5d61bb6c3eecee997a421075..0f2fd8e86a395d7873f97f937befd9b9117a0320 100644 (file)
@@ -49,7 +49,7 @@ void do_listsub(void)
        wprintf("<table border=0 width=75%%><tr><td>");
 
        svput("BOXTITLE", WCS_STRING, _("List subscribe/unsubscribe"));
-       do_template("beginbox", NULL);
+       do_template("beginboxx", NULL);
        wprintf("<div align=center><br>");
 
        /*
index 4c1943817d985f9999d27fd803d5ed094932dd07..aa2e07396b41128bd858cf9dc972bab5a9d413af 100644 (file)
@@ -275,7 +275,7 @@ void do_generic(void)
        serv_getln(buf, sizeof buf);
 
        svput("BOXTITLE", WCS_STRING, _("Server command results"));
-       do_template("beginbox", NULL);
+       do_template("beginboxx", NULL);
 
        wprintf("<table border=0><tr><td>Command:</td><td><tt>");
        escputs(bstr("g_cmd"));
index 2d905bd50d915d7abd7a1c17227d41241e584373..464f3c91242dfde6c38db5170e7cd3e8998b5d8d 100644 (file)
@@ -18,7 +18,7 @@ void display_openids(void)
        wprintf("<div class=\"fix_scrollbar_bug\">");
 
        svput("BOXTITLE", WCS_STRING, _("Manage Account/OpenID Associations"));
-       do_template("beginbox", NULL);
+       do_template("beginboxx", NULL);
 
        if (serv_info.serv_supports_openid) {
 
index c839d57380d80ce5a79e56506a0c07f791cba0c3..800968875305650841a980f9bdb21edba460b522 100644 (file)
@@ -656,6 +656,7 @@ void set_preferences(void)
        set_preference("emptyfloors", NewStrBufPlain(bstr("emptyfloors"), -1), 0);
        set_preference("defaultfrom", NewStrBufDup(sbstr("defaultfrom")), 0);
        set_preference("defaultname", NewStrBufDup(sbstr("defaultname")), 0);
+       set_preference("defaulthandle", NewStrBufDup(sbstr("defaulthandle")), 0);
 
 
        buf = NewStrBufPlain(bstr("signature"), -1);
@@ -741,6 +742,7 @@ HashList *GetGVEAHash(StrBuf *Target, int nArgs, WCTemplateToken *Tokens, void *
                        }
                        else {
                                i = snprintf(N, sizeof(N), "%d", n);
+                               StrBufTrim(Rcp);
                                Put(List, N, i, Rcp, HFreeStrBuf);
                                Rcp = NewStrBuf();
                        }
@@ -777,6 +779,7 @@ HashList *GetGVSNHash(StrBuf *Target, int nArgs, WCTemplateToken *Tokens, void *
                        }
                        else {
                                i = snprintf(N, sizeof(N), "%d", n);
+                               StrBufTrim(Rcp);
                                Put(List, N, i, Rcp, HFreeStrBuf);
                                Rcp = NewStrBuf();
                        }
@@ -811,8 +814,7 @@ InitModule_PREFERENCES
        RegisterPreference("emptyfloors", _("Show empty floors"), PRF_YESNO);
        RegisterPreference("defaultfrom", _("Prefered Email Address"), PRF_STRING);
        RegisterPreference("defaultname", _("Prefered Email Sendername"), PRF_STRING);
-
-
+       RegisterPreference("defaulthandle", _("Prefered Name for posting messages"), PRF_STRING);
 
        
        RegisterNamespace("PREF:VALUE", 1, 2, tmplput_CFG_Value, CTX_NONE);
index edbb48fd7e7868894fc98b9e33b0df674d53ab9f..93a6bfa5235bb010b07d05fe7849c02ae0739aa0 100644 (file)
@@ -256,10 +256,13 @@ void listrms(char *variety)
  */
 void zapped_list(void)
 {
+       StrBuf *Buf;
        output_headers(1, 1, 1, 0, 0, 0);
 
-       svput("BOXTITLE", WCS_STRING, _("Zapped (forgotten) rooms"));
-       do_template("beginbox", NULL);
+       Buf = NewStrBufPlain(_("Zapped (forgotten) rooms"), -1);
+       DoTemplate(HKEY("beginbox"), NULL, Buf, CTX_STRBUF);
+
+       FreeStrBuf(&Buf);
 
        listrms("LZRM -1");
 
@@ -2631,10 +2634,13 @@ void entroom(void)
  */
 void display_private(char *rname, int req_pass)
 {
+       StrBuf *Buf;
        output_headers(1, 1, 1, 0, 0, 0);
 
-       svprintf(HKEY("BOXTITLE"), WCS_STRING, _("Go to a hidden room"));
-       do_template("beginbox", NULL);
+       Buf = NewStrBufPlain(_("Go to a hidden room"), -1);
+       DoTemplate(HKEY("beginbox"), NULL, Buf, CTX_STRBUF);
+
+       FreeStrBuf(&Buf);
 
        wprintf("<p>");
        wprintf(_("If you know the name of a hidden (guess-name) or "
@@ -3093,7 +3099,6 @@ void do_rooms_view(struct folder *fold, int max_folders, int num_floors) {
        char buf[256];
        char floor_name[256];
        char old_floor_name[256];
-       char boxtitle[256];
        int levels, oldlevels;
        int i, t;
        int num_boxes = 0;
@@ -3139,10 +3144,12 @@ void do_rooms_view(struct folder *fold, int max_folders, int num_floors) {
                strcpy(old_floor_name, floor_name);
 
                if (levels == 1) {
-                       /** Begin inner box */
-                       stresc(boxtitle, 256, floor_name, 1, 0);
-                       svprintf(HKEY("BOXTITLE"), WCS_STRING, boxtitle);
-                       do_template("beginbox", NULL);
+                       StrBuf *Buf;
+                       
+                       Buf = NewStrBufPlain(floor_name, -1);
+                       DoTemplate(HKEY("beginbox"), NULL, Buf, CTX_STRBUF);
+                       
+                       FreeStrBuf(&Buf);
                }
 
                oldlevels = levels;
index 0f9687d3552c50cb79c8e66f9936de3d3b608307..14a04a7ad921b8d8e136e998564f441c3c274ca8 100644 (file)
@@ -656,7 +656,7 @@ void display_add_remove_scripts(char *message)
        wprintf("<table border=0 cellspacing=10><tr valign=top><td>\n");
 
        svput("BOXTITLE", WCS_STRING, _("Add a new script"));
-       do_template("beginbox", NULL);
+       do_template("beginboxx", NULL);
 
        wprintf(_("To create a new script, enter the desired "
                "script name in the box below and click 'Create'."));
@@ -672,7 +672,7 @@ void display_add_remove_scripts(char *message)
        do_template("endbox", NULL);
 
        svput("BOXTITLE", WCS_STRING, _("Edit scripts"));
-       do_template("beginbox", NULL);
+       do_template("beginboxx", NULL);
        wprintf("<br /><div align=center><a href=\"display_sieve\">%s</a><br /><br />\n",
                _("Return to the script editing screen")
        );
@@ -681,7 +681,7 @@ void display_add_remove_scripts(char *message)
        wprintf("</td><td>");
 
        svput("BOXTITLE", WCS_STRING, _("Delete scripts"));
-       do_template("beginbox", NULL);
+       do_template("beginboxx", NULL);
 
        wprintf(_("To delete an existing script, select the script "
                "name from the list and click 'Delete'."));
index 32ecfedac963358f6e1104dfa9d21604385a6321..2d9cc609da0f0cc00cb291eeaaa55cd555b05e8e 100644 (file)
@@ -1,5 +1,5 @@
 <!-- start beginbox.html-->
 <div class="box">
-<div class="boxlabel"><?BOXTITLE><?CONTEXTSTR("X)></div>
+<div class="boxlabel"><?CONTEXTSTR("X")></div>
 <div class="boxcontent">
 <!-- end beginbox.html-->
diff --git a/webcit/static/t/beginboxx.html b/webcit/static/t/beginboxx.html
new file mode 100644 (file)
index 0000000..593fefe
--- /dev/null
@@ -0,0 +1,5 @@
+<!-- start beginbox.html-->
+<div class="box">
+<div class="boxlabel"><?BOXTITLE></div>
+<div class="boxcontent">
+<!-- end beginbox.html-->
diff --git a/webcit/static/t/beginboxx.m.html b/webcit/static/t/beginboxx.m.html
new file mode 100644 (file)
index 0000000..593fefe
--- /dev/null
@@ -0,0 +1,5 @@
+<!-- start beginbox.html-->
+<div class="box">
+<div class="boxlabel"><?BOXTITLE></div>
+<div class="boxcontent">
+<!-- end beginbox.html-->
index faa26c9de320808b3ac16877670a97de86197a3f..0181d6db867384ab8c6353998fda9a0131be3c70 100644 (file)
@@ -1,30 +1,33 @@
-<?%("COND:PREF", 1, :"", "", "selected", "")>
-
 <form name="prefform" action="set_preferences" method="post">
 <input type="hidden" name="nonce" value="<?NONCE>">
 <table class="altern">
-<?:("roomlistview")>
 
 <tr class="even"><td><?PREF:DESCR("roomlistview")> </td>
 <td>
-  <input type="radio" name="roomlistview" VALUE="folders" <?%("COND:PREF", 1, :"roomlistview", "folders", "selected", "")> ><?_("Tree (folders) view")></input>
+  <input type="radio" name="roomlistview" VALUE="folders" 
+        <?%("COND:PREF", 1, :"roomlistview", "folders", "checked", "")> 
+        ><?_("Tree (folders) view")></input>
   &nbsp;&nbsp;&nbsp;
-  <input type="radio" name="roomlistview" VALUE="rooms" <?%("COND:PREF", 1, :"roomlistview", "rooms", "selected", "")>><?_("Table (rooms) view")></input>
+  <input type="radio" name="roomlistview" VALUE="rooms" <?%("COND:PREF", 1, :"roomlistview", "rooms", "checked", "")><?%("COND:PREF", 1, :"roomlistview", "", "checked", "")>><?_("Table (rooms) view")></input>
 </td>
 </tr>
 
 <tr class="odd">
-  <td><?PREF:DESCR("calhourformat")</td>
+  <td><?PREF:DESCR("calhourformat")></td>
   <td>
-    <input type="radio" name="calhourformat" VALUE="12" <?%("COND:PREF", 1, :"calhourformat", "12", "selected", "")>><?_("12 hour (am/pm)")></input>
+    <input type="radio" name="calhourformat" VALUE="12" 
+          <?%("COND:PREF", 1, :"calhourformat", "12", "checked", "")>
+          <?%("COND:PREF", 1, :"calhourformat", "", "checked", "")>
+          ><?_("12 hour (am/pm)")></input>
     &nbsp;&nbsp;&nbsp;
-    <input type="radio" name="calhourformat" VALUE="24" <?%("COND:PREF", 1, :"calhourformat", "24", "selected", "")> ><?_("24 hour")></input>
+    <input type="radio" name="calhourformat" VALUE="24" <?%("COND:PREF", 1, :"calhourformat", "24", "checked", "")> ><?_("24 hour")></input>
   </td>
 </tr>
 
 
 <tr class="even"><td><?PREF:DESCR("daystart")></td><td>
 <select name="daystart" size="1">
+<?!("COND:PREF", 2, :"calhourformat", "24")>
 <option <?%("COND:PREF", 1, :"daystart", "0", "selected", "")> value="0">0:00</option>
 <option <?%("COND:PREF", 1, :"daystart", "1", "selected", "")> value="1">1:00</option>
 <option <?%("COND:PREF", 1, :"daystart", "2", "selected", "")> value="2">2:00</option>
@@ -33,7 +36,7 @@
 <option <?%("COND:PREF", 1, :"daystart", "5", "selected", "")> value="5">5:00</option>
 <option <?%("COND:PREF", 1, :"daystart", "6", "selected", "")> value="6">6:00</option>
 <option <?%("COND:PREF", 1, :"daystart", "7", "selected", "")> value="7">7:00</option>
-<option <?%("COND:PREF", 1, :"daystart", "8", "selected", "")> value="8">8:00</option>
+<option <?%("COND:PREF", 1, :"daystart", "8", "selected", "")> <?%("COND:PREF", 1, :"daystart", "", "selected", "")> value="8">8:00</option>
 <option <?%("COND:PREF", 1, :"daystart", "9", "selected", "")> value="9">9:00</option>
 <option <?%("COND:PREF", 1, :"daystart", "10", "selected", "")> value="10">10:00</option>
 <option <?%("COND:PREF", 1, :"daystart", "11", "selected", "")> value="11">11:00</option>
 <option <?%("COND:PREF", 1, :"daystart", "21", "selected", "")> value="21">21:00</option>
 <option <?%("COND:PREF", 1, :"daystart", "22", "selected", "")> value="22">22:00</option>
 <option <?%("COND:PREF", 1, :"daystart", "23", "selected", "")> value="23">23:00</option>
+<?!("X", 2)>
+<?!("COND:PREF", 3, :"calhourformat", "12")>
+<option <?%("COND:PREF", 1, :"daystart", "0", "selected", "")> value="0">12:00</option>
+<option <?%("COND:PREF", 1, :"daystart", "1", "selected", "")> value="1">1:00</option>
+<option <?%("COND:PREF", 1, :"daystart", "2", "selected", "")> value="2">2:00</option>
+<option <?%("COND:PREF", 1, :"daystart", "3", "selected", "")> value="3">3:00</option>
+<option <?%("COND:PREF", 1, :"daystart", "4", "selected", "")> value="4">4:00</option>
+<option <?%("COND:PREF", 1, :"daystart", "5", "selected", "")> value="5">5:00</option>
+<option <?%("COND:PREF", 1, :"daystart", "6", "selected", "")> value="6">6:00</option>
+<option <?%("COND:PREF", 1, :"daystart", "7", "selected", "")> value="7">7:00</option>
+<option <?%("COND:PREF", 1, :"daystart", "8", "selected", "")> <?%("COND:PREF", 1, :"daystart", "", "selected", "")>value="8">8:00</option>
+<option <?%("COND:PREF", 1, :"daystart", "9", "selected", "")> value="9">9:00</option>
+<option <?%("COND:PREF", 1, :"daystart", "10", "selected", "")> value="10">10:00</option>
+<option <?%("COND:PREF", 1, :"daystart", "11", "selected", "")> value="11">11:00</option>
+<option <?%("COND:PREF", 1, :"daystart", "12", "selected", "")> value="12">12:00</option>
+<option <?%("COND:PREF", 1, :"daystart", "13", "selected", "")> value="13"> 1:00</option>
+<option <?%("COND:PREF", 1, :"daystart", "14", "selected", "")> value="14"> 2:00</option>
+<option <?%("COND:PREF", 1, :"daystart", "15", "selected", "")> value="15"> 3:00</option>
+<option <?%("COND:PREF", 1, :"daystart", "16", "selected", "")> value="16"> 4:00</option>
+<option <?%("COND:PREF", 1, :"daystart", "17", "selected", "")> value="17"> 5:00</option>
+<option <?%("COND:PREF", 1, :"daystart", "18", "selected", "")> value="18"> 6:00</option>
+<option <?%("COND:PREF", 1, :"daystart", "19", "selected", "")> value="19"> 7:00</option>
+<option <?%("COND:PREF", 1, :"daystart", "20", "selected", "")> value="20"> 8:00</option>
+<option <?%("COND:PREF", 1, :"daystart", "21", "selected", "")> value="21"> 9:00</option>
+<option <?%("COND:PREF", 1, :"daystart", "22", "selected", "")> value="22">10:00</option>
+<option <?%("COND:PREF", 1, :"daystart", "23", "selected", "")> value="23">11:00</option>
+<?!("X", 3)>
 </select>
 </td></tr>
 
 <tr class="odd">
   <td><?PREF:DESCR("dayend")></td>
   <td><select name="dayend" size="1">
+<?!("COND:PREF", 4, :"calhourformat", "24")>
 <option <?%("COND:PREF", 1, :"dayend", "0", "selected", "")> value="0">0:00</option>
 <option <?%("COND:PREF", 1, :"dayend", "1", "selected", "")> value="1">1:00</option>
 <option <?%("COND:PREF", 1, :"dayend", "2", "selected", "")> value="2">2:00</option>
 <option <?%("COND:PREF", 1, :"dayend", "15", "selected", "")> value="15">15:00</option>
 <option <?%("COND:PREF", 1, :"dayend", "16", "selected", "")> value="16">16:00</option>
 <option <?%("COND:PREF", 1, :"dayend", "17", "selected", "")> value="17">17:00</option>
-<option <?%("COND:PREF", 1, :"dayend", "18", "selected", "")> value="18">18:00</option>
+<option <?%("COND:PREF", 1, :"dayend", "18", "selected", "")><?%("COND:PREF", 1, :"dayend", "", "selected", "")> value="18">18:00</option>
 <option <?%("COND:PREF", 1, :"dayend", "19", "selected", "")> value="19">19:00</option>
 <option <?%("COND:PREF", 1, :"dayend", "20", "selected", "")> value="20">20:00</option>
 <option <?%("COND:PREF", 1, :"dayend", "21", "selected", "")> value="21">21:00</option>
 <option <?%("COND:PREF", 1, :"dayend", "22", "selected", "")> value="22">22:00</option>
 <option <?%("COND:PREF", 1, :"dayend", "23", "selected", "")> value="23">23:00</option>
+<?!("X", 4)>
+<?!("COND:PREF", 5, :"calhourformat", "12")>
+<option <?%("COND:PREF", 1, :"dayend", "0", "selected", "")> value="0">0:00</option>
+<option <?%("COND:PREF", 1, :"dayend", "1", "selected", "")> value="1">1:00</option>
+<option <?%("COND:PREF", 1, :"dayend", "2", "selected", "")> value="2">2:00</option>
+<option <?%("COND:PREF", 1, :"dayend", "3", "selected", "")> value="3">3:00</option>
+<option <?%("COND:PREF", 1, :"dayend", "4", "selected", "")> value="4">4:00</option>
+<option <?%("COND:PREF", 1, :"dayend", "5", "selected", "")> value="5">5:00</option>
+<option <?%("COND:PREF", 1, :"dayend", "6", "selected", "")> value="6">6:00</option>
+<option <?%("COND:PREF", 1, :"dayend", "7", "selected", "")> value="7">7:00</option>
+<option <?%("COND:PREF", 1, :"dayend", "8", "selected", "")> value="8">8:00</option>
+<option <?%("COND:PREF", 1, :"dayend", "9", "selected", "")> value="9">9:00</option>
+<option <?%("COND:PREF", 1, :"dayend", "10", "selected", "")> value="10">10:00</option>
+<option <?%("COND:PREF", 1, :"dayend", "11", "selected", "")> value="11">11:00</option>
+<option <?%("COND:PREF", 1, :"dayend", "12", "selected", "")> value="12">12:00</option>
+<option <?%("COND:PREF", 1, :"dayend", "13", "selected", "")> value="13"> 1:00</option>
+<option <?%("COND:PREF", 1, :"dayend", "14", "selected", "")> value="14"> 2:00</option>
+<option <?%("COND:PREF", 1, :"dayend", "15", "selected", "")> value="15"> 3:00</option>
+<option <?%("COND:PREF", 1, :"dayend", "16", "selected", "")> value="16"> 4:00</option>
+<option <?%("COND:PREF", 1, :"dayend", "17", "selected", "")> value="17"> 5:00</option>
+<option <?%("COND:PREF", 1, :"dayend", "18", "selected", "")> value="18"><?%("COND:PREF", 1, :"dayend", "", "selected", "")> 6:00</option>
+<option <?%("COND:PREF", 1, :"dayend", "19", "selected", "")> value="19"> 7:00</option>
+<option <?%("COND:PREF", 1, :"dayend", "20", "selected", "")> value="20"> 8:00</option>
+<option <?%("COND:PREF", 1, :"dayend", "21", "selected", "")> value="21"> 9:00</option>
+<option <?%("COND:PREF", 1, :"dayend", "22", "selected", "")> value="22">10:00</option>
+<option <?%("COND:PREF", 1, :"dayend", "23", "selected", "")> value="23">11:00</option>
+<?!("X", 5)>
 </select>
 </td></tr>
 
   </td>
   <td>
     <select name="weekstart" size="1">
-      <option <?%("COND:PREF", 1, :"weekstart", "0", "selected", "") value="0"><?_("Sunday")></option>
-      <option <?%("COND:PREF", 1, :"weekstart", "1", "selected", "") value="1"><?_("Monday")></option>
+      <option <?%("COND:PREF", 1, :"weekstart", "0", "selected", "")> value="0"><?_("Sunday")></option>
+      <option <?%("COND:PREF", 1, :"weekstart", "1", "selected", "")> value="1"><?_("Monday")></option>
     </select>
   </td>
 </tr>
        }
        </script>
 
-signature
-
-       
-       <input type="radio" id="no_sig" name="use_sig" VALUE="no" checked onChange="show_or_hide_sigbox();" ><?_("No signature")></input>
+       <input type="radio" id="no_sig" name="use_sig" VALUE="no" onChange="show_or_hide_sigbox();" 
+<?%("COND:PREF", 1, "use_sig", "no", "checked", "")><?%("COND:PREF", 1, "use_sig", "", "checked", "")> >
+         <?_("No signature")>
+        </input>
        &nbsp,&nbsp;&nbsp;
-       <input type="radio" id="yes_sig" name="use_sig" VALUE="yes" onChange="show_or_hide_sigbox();" >
+       <input type="radio" id="yes_sig" name="use_sig" VALUE="yes" onChange="show_or_hide_sigbox();" 
+              <?%("COND:PREF", 1, "use_sig", "yes", "checked", "")> >
                <div id="signature_box"><br>
                  <textarea name="signature" cols="40" rows="5"><?PREF:VALUE("signature")></textarea>
-               </div></input>
+               </div>
+       </input>
   </td>
 </tr>
 <script type="text/javascript">show_or_hide_sigbox();</script>
@@ -130,11 +190,45 @@ signature
   <tr class="odd">
     <td><?PREF:DESCR("emptyfloors")></td>
     <td>
-      <input type="radio" name="emptyfloors" VALUE="yes" <?%("COND:PREF", 1, :"emptyfloors", "yes", "selected", "")> ><?_("Yes")></input>
+      <input type="radio" name="emptyfloors" VALUE="yes" 
+            <?%("COND:PREF", 1, :"emptyfloors", "yes", "checked", "")> 
+            <?%("COND:PREF", 1, :"emptyfloors", "", "checked", "")> 
+            ><?_("Yes")></input>
       &nbsp;&nbsp;&nbsp;
-      <input type="radio" name="emptyfloors" VALUE="no"  <?%("COND:PREF", 1, :"emptyfloors", "no",  "selected", "")> ><?_("No")></input>
+      <input type="radio" name="emptyfloors" VALUE="no"  <?%("COND:PREF", 1, :"emptyfloors", "no",  "checked", "")> ><?_("No")></input>
 </td>
 </tr>
+
+<tr class="even">
+  <td><?PREF:DESCR("defaultname")></td>
+  <td>
+<select name="defaultname" size=1 id="from_id">
+<?ITERATE("PREF:VALID:EMAIL:NAME", "section_msg_sender_name_select")>
+</select>
+
+  </td>
+</tr>
+
+<tr class="odd">
+  <td><?PREF:DESCR("defaulthandle")></td>
+  <td>
+<select name="defaulthandle" size=1 id="from_id">
+<?ITERATE("PREF:VALID:EMAIL:NAME", "section_msg_handle_select")>
+</select>
+
+  </td>
+</tr>
+
+<tr class="even">
+  <td><?PREF:DESCR("defaultfrom")></td>
+  <td>
+<select name="defaultfrom" size=1>
+<?ITERATE("PREF:VALID:EMAIL:ADDR", "section_msg_sender_from_select")>
+</select>
+  </td>
+</tr>
+
+
 </table>
 
 <div class="buttons"> 
index 3c02d02cf1ca650b3dea77e69a6b37251eb658af..74fcd5dfce9d3ddbc0e9e8465a6ab3f31082a497 100644 (file)
 <table width="100%" class="edit_msg_table">
 <TODO: anonym>
 <tr><th><label for="from_id" >  <i><?_("from")></i> </label></th><td colspan="2">
+
+<??("COND:SUBST", 4, "RCPTREQUIRED")>
+<select name="display_name" size=1 id="from_id">
+<?ITERATE("PREF:VALID:EMAIL:NAME", "section_msg_handle_select")>
+<?!("COND:ROOM:FLAGS:QR_ANONOPT", 3)>
+<option <?%("COND:BSTR", 1, "__ANONYMOUS__", "selected", "")> value="__ANONYMOUS__"><?_("Anonymous")></option>
+<?!("X", 3)>
+</select>
+<??("X", 4)>
+
+<?!("COND:SUBST", 5, "RCPTREQUIRED")>
 <select name="display_name" size=1 id="from_id">
 <?ITERATE("PREF:VALID:EMAIL:NAME", "section_msg_sender_name_select")>
 <?!("COND:ROOM:FLAGS:QR_ANONOPT", 3)>
@@ -28,7 +39,6 @@
 <?!("X", 3)>
 </select>
 
-<?!("COND:SUBST", 4, "RCPTREQUIRED")>
 <select name="my_email_addr" size=1>
 <?ITERATE("PREF:VALID:EMAIL:ADDR", "section_msg_sender_from_select")>
 </select>
index 95b011e47fb2a81a36ad60bf1281447e9fe8c46b..04609c936bb07a5480ce61ab36dab00a2c457ea2 100644 (file)
@@ -1,5 +1,5 @@
 <ul class="adminitems">
-<li><a href="display_preferences"><?_("Change your preferences and settings")></a></li>
+<li><a href="do_template?template=preferences"><?_("Change your preferences and settings")></a></li>
 <li><a href="display_reg"><?_("Update your contact information")></a></li>
 <li><a href="display_changepw"><?_("Change your password")></a></li>
 <li><a href="display_editbio"><?_("Enter your 'bio'")></a></li>
index 6fe807466be3ede5effd3bb600e599030dc94cc9..b80b79cb8fa55c6982f753f4e5d8641354d663ea 100644 (file)
@@ -1 +1 @@
-<option value="<?CONTEXTSTR("X")>" <?%("COND:CONTEXTSTR", 1, :"defaultname", "selected", "")>>&lt;<?CONTEXTSTR("H")>&gt;</option>
+<option value="<?CONTEXTSTR("X")>" <?%("COND:CONTEXTSTR", 1, :"defaultfrom", 0, "selected", "")>>&lt;<?CONTEXTSTR("H")>&gt;</option>
index a0b760f4cf00993c5a4003fa721dddc60c9e379c..33e0495b7ea9084d35fa17d80acfc80b04466ec3 100644 (file)
@@ -1 +1 @@
-<option  value="<?CONTEXTSTR("X")>"><?CONTEXTSTR("U") <?%("COND:CONTEXTSTR", 1, :"defaultfrom", "selected", "")></option>
+<option value="<?CONTEXTSTR("X")>" <?%("COND:CONTEXTSTR", 1, :"defaultname", 0, "selected", "")>><?CONTEXTSTR("H")></option>
index 4d102045bd0d9ab7a3481fed3989d3de3cc8d9bd..a1879ba9d39628b7b070502b7a783e04b1dfb2f4 100644 (file)
@@ -513,7 +513,7 @@ void GetTemplateTokenString(WCTemplateToken *Tokens,
 {
        StrBuf *Buf;
 
-       if (Tokens->HaveParameters < N) {
+       if (Tokens->nParameters < N) {
                *Value = "";
                *len = 0;
                return;
@@ -1057,6 +1057,20 @@ int EvaluateToken(StrBuf *Target, WCTemplateToken *Token, WCTemplate *pTmpl, voi
                                                     Token->Params[4]->len,
                                                     0);
                }
+               else  {
+                       lprintf(1, "Conditional [%s] (in '%s' line %ld); needs at least 6 Params![%s]\n", 
+                               Token->Params[0]->Start,
+                               ChrPtr(pTmpl->FileName),
+                               Token->Line,
+                               ChrPtr(Token->FlatToken));
+                       StrBufAppendPrintf(
+                               Target, 
+                               "<pre>\nConditional [%s] (in '%s' line %ld); needs 6 Params!\n[%s]\n</pre>\n", 
+                               Token->Params[0]->Start,
+                               ChrPtr(pTmpl->FileName),
+                               Token->Line,
+                               ChrPtr(Token->FlatToken));
+               }
                break;
        case SV_SUBTEMPL:
                if (Token->nParameters == 1)
@@ -1635,6 +1649,7 @@ void RegisterConditional(const char *Name, long len,
                         int ContextRequired)
 {
        ConditionalStruct *Cond = (ConditionalStruct*)malloc(sizeof(ConditionalStruct));
+       Cond->PlainName = Name;
        Cond->nParams = nParams;
        Cond->CondF = CondF;
        Cond->ContextRequired = ContextRequired;
@@ -1648,12 +1663,12 @@ void tmplput_ContextString(StrBuf *Target, int nArgs, WCTemplateToken *Tokens, v
 }
 int ConditionalContextStr(WCTemplateToken *Tokens, void *Context, int ContextType)
 {
-       StrBuf *EmailAddr = (StrBuf*) Context;
+       StrBuf *TokenText = (StrBuf*) Context;
        const char *CompareToken;
        long len;
 
-       GetTemplateTokenString(Tokens, 3, &CompareToken, &len);
-       return strcmp(ChrPtr(EmailAddr), CompareToken) == 0;
+       GetTemplateTokenString(Tokens, 2, &CompareToken, &len);
+       return strcmp(ChrPtr(TokenText), CompareToken) == 0;
 }
 
 
@@ -1671,7 +1686,7 @@ void tmpl_do_boxed(StrBuf *Target, int nArgs, WCTemplateToken *Tokens, void *Con
                }
                else {
                        const char *Ch;
-                       long *len;
+                       long len;
                        GetTemplateTokenString(Tokens, 
                                               1,
                                               &Ch,
@@ -1735,8 +1750,7 @@ InitModule_SUBST
        RegisterNamespace("DOBOXED", 1, 2, tmpl_do_boxed, CTX_NONE);
        RegisterNamespace("DOTABBED", 2, 100, tmpl_do_tabbed, CTX_NONE);
        RegisterConditional(HKEY("COND:SUBST"), 3, ConditionalVar, CTX_NONE);
-       RegisterConditional(HKEY("COND:CONTEXT"), 3, ConditionalContextStr, CTX_NONE);
-
+       RegisterConditional(HKEY("COND:CONTEXTSTR"), 3, ConditionalContextStr, CTX_STRBUF);
 }
 
 /*@}*/
index 6f03c42d8471de47b0e86bcbc427a83218a90ba9..c18b57b81b05a08a2ef590dbded5a9680e7ee25a 100644 (file)
@@ -29,7 +29,7 @@ void output_date(void) {
  */
 void dummy_section(void) {
        svput("BOXTITLE", WCS_STRING, "(dummy&nbsp;section)");
-       do_template("beginbox", NULL);
+       do_template("beginboxx", NULL);
        wprintf(_("(nothing)"));
        do_template("endbox", NULL);
 }
index 7db7f4f7f7da7106b75fd3966a26ce05bb655770..009cd051b7f6e5f7ad8f8a69d4be87d28fb7c320 100644 (file)
@@ -33,7 +33,7 @@ void display_edit(char *description, char *check_cmd,
        }
 
        svprintf(HKEY("BOXTITLE"), WCS_STRING, _("Edit %s"), description);
-       do_template("beginbox", NULL);
+       do_template("beginboxx", NULL);
 
        wprintf(_("Enter %s below. Text is formatted to the reader's browser."
                " A newline is forced by preceding the next line by a blank."), description);
index 27cbc4379db1d795b661898f6f37662f329ae0a0..47032cfc28713c8ae17ad6cd697f49cf9c663fdf 100644 (file)
@@ -688,7 +688,7 @@ void do_edit_vcard(long msgnum, char *partnum, char *return_to, char *force_room
        output_headers(1, 1, 1, 0, 0, 0);
 
        svput("BOXTITLE", WCS_STRING, _("Edit contact information"));
-       do_template("beginbox", NULL);
+       do_template("beginboxx", NULL);
 
        wprintf("<form method=\"POST\" action=\"submit_vcard\">\n");
        wprintf("<input type=\"hidden\" name=\"nonce\" value=\"%d\">\n", WC->nonce);
index efeda29b50b383775b53790afc6e6bfe87e21038..c2866279e847c260c6e282df4e8ab688fa51f868 100644 (file)
@@ -793,7 +793,7 @@ void print_menu_box(char* Title, char *Class, int nLines, ...)
        long i;
        
        svput("BOXTITLE", WCS_STRING, Title);
-       do_template("beginbox", NULL);
+       do_template("beginboxx", NULL);
        
        wprintf("<ul class=\"%s\">", Class);
        
index 7dd5922d55a0183a397d8fb9a3ed165edcc3265a..1250676ec1ff42d1b0752f7af92b62f074e14ea0 100644 (file)
@@ -331,6 +331,7 @@ void RegisterNS(const char *NSName, long len,
 
 typedef int (*WCConditionalFunc)(WCTemplateToken *Token, void *Context, int ContextType);
 typedef struct _ConditionalStruct {
+       const char *PlainName;
        int nParams;
        int ContextRequired;
        WCConditionalFunc CondF;