]> code.citadel.org Git - citadel.git/commitdiff
Merge branch 'master' of ssh://git.citadel.org/appl/gitroot/citadel
authorWilfried Goesgens <dothebart@citadel.org>
Sun, 24 Jul 2011 21:11:19 +0000 (21:11 +0000)
committerWilfried Goesgens <dothebart@citadel.org>
Sun, 24 Jul 2011 21:11:19 +0000 (21:11 +0000)
webcit/sieve.c
webcit/static/t/sieve/display.html
webcit/static/t/sieve/display_one.html
webcit/static/t/sieve/display_one_script.html
webcit/static/t/sieve/list.html
webcit/static/t/sieve/list_select_one.html
webcit/static/t/sieve/roomlist.html

index 3a8067845f73db4ad3be864dc58f91a2f0e8a122..4aa53e20bf8a8146e2d175c30d139f085c4c766d 100644 (file)
@@ -540,33 +540,33 @@ void display_sieve(void)
 
        output_headers(1, 1, 2, 0, 0, 0);
 
-       wc_printf("<script type=\"text/javascript\">                                    \n"
-               "                                                                       \n"
-               "var previously_active_script;                                          \n"
-               "                                                                       \n"
-               "function ToggleSievePanels() {                                         \n"
-               " d = ($('sieveform').bigaction.options[$('sieveform').bigaction.selectedIndex].value); \n"
-               " for (i=0; i<3; ++i) {                                                 \n"
-               "  if (i == d) {                                                        \n"
-               "   $('sievediv' + i).style.display = 'block';                          \n"
-               "  }                                                                    \n"
-               "  else {                                                               \n"
-               "   $('sievediv' + i).style.display = 'none';                           \n"
-               "  }                                                                    \n"
-               " }                                                                     \n"
-               "}                                                                      \n"
-               "                                                                       \n"
-               "function ToggleScriptPanels() {                                        \n"
-               " d = ($('sieveform').active_script.options[$('sieveform').active_script.selectedIndex].value); \n"
-               " if ($('script_' + previously_active_script)) {                        \n"
-               "  $('script_' + previously_active_script).style.display = 'none';      \n"
-               " }                                                                     \n"
-               " $('script_' + d).style.display = 'block';                             \n"
-               " previously_active_script = d;                                         \n"
-               "}                                                                      \n"
-               "                                                                       \n"
-               "</script>                                                              \n"
-       );
+       wc_printf("<script type=\"text/javascript\">\n"
+                 "\n"
+                 "var previously_active_script;\n"
+                 "\n"
+                 "function ToggleSievePanels() {\n"
+                 " d = ($('sieveform').bigaction.options[$('sieveform').bigaction.selectedIndex].value);\n"
+                 " for (i=0; i<3; ++i) {\n"
+                 "  if (i == d) {\n"
+                 "   $('sievediv' + i).style.display = 'block';\n"
+                 "  }\n"
+                 "  else {\n"
+                 "   $('sievediv' + i).style.display = 'none';\n"
+                 "  }\n"
+                 " }\n"
+                 "}\n"
+                 "\n"
+                 "function ToggleScriptPanels() {\n"
+                 " d = ($('sieveform').active_script.options[$('sieveform').active_script.selectedIndex].value);\n"
+                 " if ($('script_' + previously_active_script)) {\n"
+                 "  $('script_' + previously_active_script).style.display = 'none';\n"
+                 " }\n"
+                 " $('script_' + d).style.display = 'block';\n"
+                 " previously_active_script = d;\n"
+                 "}\n"
+                 "\n"
+                 "</script>\n"
+);
 
        wc_printf("<div id=\"banner\">\n");
        wc_printf("<img src=\"static/webcit_icons/essen/32x32/config.png\">");
@@ -577,8 +577,8 @@ void display_sieve(void)
 
        wc_printf("<div id=\"content\" class=\"service\">\n");
 
-       wc_printf("<table class=\"sieve_background\">"
-               "<tr><td valign=top>\n");
+       wc_printf("<table class=\"sieve_background\">\n"
+               "<tr>\n<td valign=top>\n");
 
 
        wc_printf("<form id=\"sieveform\" method=\"post\" action=\"save_sieve\">\n");
@@ -600,7 +600,7 @@ void display_sieve(void)
        wc_printf(_("Filter it through a manually edited script (advanced users only)"));
        wc_printf("</option>\n");
 
-       wc_printf("</select>");
+       wc_printf("</select>\n\n");
 
 
 
@@ -634,7 +634,7 @@ void display_sieve(void)
                                );
                        }
                }
-               wc_printf("</select>\n");
+               wc_printf("</select>\n\n");
        }
 
        wc_printf("&nbsp;&nbsp;&nbsp;");
@@ -764,7 +764,7 @@ void display_add_remove_scripts(char *message)
                        }
                 }
         }
-        wc_printf("</select><br>\n");
+        wc_printf("</select>\n\n<br>\n");
 
         wc_printf("<input type=\"submit\" name=\"delete_button\" value=\"%s\" "
                "onClick=\"return confirm('%s');\">", _("Delete script"), _("Delete this script?"));
@@ -836,118 +836,118 @@ void display_rules_editor_inner_div(void) {
  * This script should get called by every onChange event...
  *
  */
-       wc_printf("<script type=\"text/javascript\">                                    \n"
-               "                                                                       \n"
-               "var highest_active_rule = (-1);                                        \n"
-               "                                                                       \n"
-               "function UpdateRules() {                                               \n");
+       wc_printf("<script type=\"text/javascript\">\n"
+                 "\n"
+                 "var highest_active_rule = (-1);\n"
+                 "\n"
+                 "function UpdateRules() {\n");
 /*
  * Show only the active rows...
  */
-       wc_printf("  highest_active_rule = (-1);                                                \n");
-       wc_printf("  for (i=0; i<%d; ++i) {                                             \n", MAX_RULES);
-       wc_printf("   if ($('active'+i).checked) {                                      \n"
-               "     $('rule' + i).style.display = 'block';                            \n"
-               "     highest_active_rule = i;                                          \n"
-               "   }                                                                   \n"
-               "   else {                                                              \n"
-               "     $('rule' + i).style.display = 'none';                             \n"
-               "   }                                                                   \n"
-               "  }                                                                    \n");
+       wc_printf("  highest_active_rule = (-1);\n");
+       wc_printf("  for (i=0; i<%d; ++i) {\n", MAX_RULES);
+       wc_printf("   if ($('active'+i).checked) {\n"
+                 "     $('rule' + i).style.display = 'block';\n"
+                 "     highest_active_rule = i;\n"
+                 "   }\n"
+                 "   else {\n"
+                 "     $('rule' + i).style.display = 'none';\n"
+                 "   }\n"
+                 "  }\n");
 /*
  * Show only the fields relevant to the rules...
  */
-       wc_printf("  for (i=0; i<=highest_active_rule; ++i) {                           \n"
-               "    d = ($('movedown'+i));                                             \n"
-               "    if (i < highest_active_rule) {                                     \n"
-               "      d.style.display = 'block';                                       \n"
-               "    }                                                                  \n"
-               "    else {                                                             \n"
-               "      d.style.display = 'none';                                        \n"
-               "    }                                                                  \n"
-               "    d = ($('hfield'+i).options[$('hfield'+i).selectedIndex].value);    \n"
-               "    if (d == 'all') {                                                  \n"
-               "      $('div_size'+i).style.display = 'none';                          \n"
-               "      $('div_compare'+i).style.display = 'none';                       \n"
-               "      $('div_nocompare'+i).style.display = 'block';                    \n"
-               "    }                                                                  \n"
-               "    else if (d == 'size') {                                            \n"
-               "      $('div_size'+i).style.display = 'block';                         \n"
-               "      $('div_compare'+i).style.display = 'none';                       \n"
-               "      $('div_nocompare'+i).style.display = 'none';                     \n"
-               "    }                                                                  \n"
-               "    else {                                                             \n"
-               "      $('div_size'+i).style.display = 'none';                          \n"
-               "      $('div_compare'+i).style.display = 'block';                      \n"
-               "      $('div_nocompare'+i).style.display = 'none';                     \n"
-               "    }                                                                  \n"
-               "    d = ($('action'+i).options[$('action'+i).selectedIndex].value);    \n"
-               "    if (d == 'fileinto') {                                             \n"
-               "      $('div_fileinto'+i).style.display = 'block';                     \n"
-               "      $('div_redirect'+i).style.display = 'none';                      \n"
-               "      $('div_automsg'+i).style.display = 'none';                       \n"
-               "    } else if (d == 'redirect') {                                      \n"
-               "      $('div_fileinto'+i).style.display = 'none';                      \n"
-               "      $('div_redirect'+i).style.display = 'block';                     \n"
-               "      $('div_automsg'+i).style.display = 'none';                       \n"
-               "    } else if ((d == 'reject') || (d == 'vacation'))  {                \n"
-               "      $('div_fileinto'+i).style.display = 'none';                      \n"
-               "      $('div_redirect'+i).style.display = 'none';                      \n"
-               "      $('div_automsg'+i).style.display = 'block';                      \n"
-               "    } else {                                                           \n"
-               "      $('div_fileinto'+i).style.display = 'none';                      \n"
-               "      $('div_redirect'+i).style.display = 'none';                      \n"
-               "      $('div_automsg'+i).style.display = 'none';                       \n"
-               "    }                                                                  \n"
-               "    if (highest_active_rule < %d) {                                    \n", MAX_RULES-1 );
-       wc_printf("      $('div_addrule').style.display = 'block';                      \n"
-               "    } else {                                                           \n"
-               "      $('div_addrule').style.display = 'none';                         \n"
-               "    }                                                                  \n"
-               "  }                                                                    \n"
-               "}                                                                      \n"
+       wc_printf("  for (i=0; i<=highest_active_rule; ++i) {\n"
+                 "    d = ($('movedown'+i));\n"
+                 "    if (i < highest_active_rule) {\n"
+                 "      d.style.display = 'block';\n"
+                 "    }\n"
+                 "    else {\n"
+                 "      d.style.display = 'none';\n"
+                 "    }\n"
+                 "    d = ($('hfield'+i).options[$('hfield'+i).selectedIndex].value);\n"
+                 "    if (d == 'all') {\n"
+                 "      $('div_size'+i).style.display = 'none'; \n"
+                 "      $('div_compare'+i).style.display = 'none';\n"
+                 "      $('div_nocompare'+i).style.display = 'block';\n"
+                 "    }\n"
+                 "    else if (d == 'size') {\n"
+                 "      $('div_size'+i).style.display = 'block'; \n"
+                 "      $('div_compare'+i).style.display = 'none';\n"
+                 "      $('div_nocompare'+i).style.display = 'none';\n"
+                 "    }\n"
+                 "    else {\n"
+                 "      $('div_size'+i).style.display = 'none'; \n"
+                 "      $('div_compare'+i).style.display = 'block';\n"
+                 "      $('div_nocompare'+i).style.display = 'none';\n"
+                 "    }\n"
+                 "    d = ($('action'+i).options[$('action'+i).selectedIndex].value);\n"
+                 "    if (d == 'fileinto') {\n"
+                 "      $('div_fileinto'+i).style.display = 'block';\n"
+                 "      $('div_redirect'+i).style.display = 'none';\n"
+                 "      $('div_automsg'+i).style.display = 'none';\n"
+                 "    } else if (d == 'redirect') {\n"
+                 "      $('div_fileinto'+i).style.display = 'none';\n"
+                 "      $('div_redirect'+i).style.display = 'block';\n"
+                 "      $('div_automsg'+i).style.display = 'none';\n"
+                 "    } else if ((d == 'reject') || (d == 'vacation'))  {\n"
+                 "      $('div_fileinto'+i).style.display = 'none';\n"
+                 "      $('div_redirect'+i).style.display = 'none';\n"
+                 "      $('div_automsg'+i).style.display = 'block';\n"
+                 "    } else {\n"
+                 "      $('div_fileinto'+i).style.display = 'none';\n"
+                 "      $('div_redirect'+i).style.display = 'none';\n"
+                 "      $('div_automsg'+i).style.display = 'none';\n"
+                 "    }\n"
+                 "    if (highest_active_rule < %d) {\n", MAX_RULES-1 );
+       wc_printf("      $('div_addrule').style.display = 'block';\n"
+                 "    } else {\n"
+                 "      $('div_addrule').style.display = 'none';\n"
+                 "    }\n"
+                 "  }\n"
+                 "}\n"
 /*
  * Add a rule (really, just un-hide it)
  */
-               "function AddRule() {                                                   \n"
-               "  highest_active_rule = highest_active_rule + 1;                       \n"
-               "  $('active'+highest_active_rule).checked = true;                      \n"
-               "  UpdateRules();                                                       \n"
-               "}                                                                      \n"
+                 "function AddRule() {\n"
+                 "  highest_active_rule = highest_active_rule + 1;\n"
+                 "  $('active'+highest_active_rule).checked = true;\n"
+                 "  UpdateRules();\n"
+                 "}\n"
 /*
  * Swap two rules
  */
-               "function SwapRules(ra, rb) {                                           \n"
-               "                                                                       \n"
-               "  var things = new Array();                                            \n"
-               "  things[0] = 'hfield';                                                \n"
-               "  things[1] = 'compare';                                               \n"
-               "  things[2] = 'htext';                                                 \n"
-               "  things[3] = 'action';                                                \n"
-               "  things[4] = 'fileinto';                                              \n"
-               "  things[5] = 'redirect';                                              \n"
-               "  things[6] = 'final';                                                 \n"
-               "  things[7] = 'sizecomp';                                              \n"
-               "  things[8] = 'sizeval';                                               \n"
-               "  things[9] = 'automsg';                                               \n"
-               "                                                                       \n"
-               "  for (i=0; i<=9; ++i) {                                               \n"
-               "    tempval=$(things[i]+ra).value;                                     \n"
-               "    $(things[i]+ra).value = $(things[i]+rb).value;                     \n"
-               "    $(things[i]+rb).value = tempval;                                   \n"
-               "  }                                                                    \n"
-               "}                                                                      \n"
+                 "function SwapRules(ra, rb) {\n"
+                 "\n"
+                 "  var things = new Array();\n"
+                 "  things[0] = 'hfield';\n"
+                 "  things[1] = 'compare';\n"
+                 "  things[2] = 'htext';\n"
+                 "  things[3] = 'action';\n"
+                 "  things[4] = 'fileinto';\n"
+                 "  things[5] = 'redirect';\n"
+                 "  things[6] = 'final';\n"
+                 "  things[7] = 'sizecomp';\n"
+                 "  things[8] = 'sizeval';\n"
+                 "  things[9] = 'automsg';\n"
+                 "\n"
+                 "  for (i=0; i<=9; ++i) {\n"
+                 "    tempval=$(things[i]+ra).value;\n"
+                 "    $(things[i]+ra).value = $(things[i]+rb).value;\n"
+                 "    $(things[i]+rb).value = tempval;\n"
+                 "  }\n"
+                 "}\n"
 /*
  * Delete a rule (percolate the deleted rule out to the end, then deactivate it)
  */
-               "function DeleteRule(rd) {                                              \n"
-               "  for (j=rd; j<=highest_active_rule; ++j) {                            \n"
-               "    SwapRules(j, (j+1));                                               \n"
-               "  }                                                                    \n"
-               "  $('active'+highest_active_rule).checked = false;                     \n"
-               "}                                                                      \n"
-               "</script>                                                              \n"
-       );
+                 "function DeleteRule(rd) {\n"
+                 "  for (j=rd; j<=highest_active_rule; ++j) {\n"
+                 "    SwapRules(j, (j+1));\n"
+                 "  }\n"
+                 "  $('active'+highest_active_rule).checked = false;\n"
+                 "}\n"
+                 "</script>\n"
+               );
 
 
        wc_printf("<br>");
@@ -971,40 +971,40 @@ void display_rules_editor_inner_div(void) {
                
                /* now generate the table row */
 
-               wc_printf("<tr id=\"rule%d\" bgcolor=\"#%s\">",
+               wc_printf("<tr id=\"rule%d\" class=\"%s\">",
                        i,
-                       ((i%2) ? "DDDDDD" : "FFFFFF")
+                       ((i%2) ? "odd" : "even")
                );
 
-               wc_printf("<td width=5%% align=\"center\">");
+               wc_printf("<td width=5%% align=\"center\">\n");
 
-               wc_printf("<div style=\"display:none\">");
-               wc_printf("<input type=\"checkbox\" name=\"active%d\" id=\"active%d\" %s>",
+               wc_printf("<div style=\"display:none\">\n");
+               wc_printf("<input type=\"checkbox\" name=\"active%d\" id=\"active%d\" %s>\n",
                        i, i,
                        (active ? "checked" : "")
                );
-               wc_printf("</div>");
+               wc_printf("</div>\n");
 
                if (i>0) wc_printf("<a href=\"javascript:SwapRules(%d,%d);UpdateRules();\">"
                        "<img border=\"0\" src=\"static/webcit_icons/up_pointer.gif\" "
-                       "title=\"%s\"/></a>",
+                       "title=\"%s\"/></a>\n",
                        i-1, i, _("Move rule up") );
 
                wc_printf("<a href=\"javascript:SwapRules(%d,%d);UpdateRules();\">"
                        "<img id=\"movedown%d\" border=\"0\" src=\"static/webcit_icons/down_pointer.gif\" "
-                       "title=\"%s\"/></a>",
+                       "title=\"%s\"/></a>\n",
                        i, i+1, i, _("Move rule down") );
 
                wc_printf("<a href=\"javascript:DeleteRule(%d);UpdateRules();\">"
                        "<img id=\"delete%d\" border=\"0\" src=\"static/webcit_icons/delete.gif\" "
-                       "title=\"%s\"/></a>",
+                       "title=\"%s\"/></a>\n",
                        i, i, _("Delete rule") );
 
-               wc_printf("</td>");
+               wc_printf("</td>\n\n\n");
 
-               wc_printf("<td width=5%% align=\"center\">");
-               wc_printf("<font size=+2>%d</font>", i+1);
-               wc_printf("</td>");
+               wc_printf("<td width=5%% align=\"center\">\n");
+               wc_printf("<font size=+2>%d</font>\n", i+1);
+               wc_printf("</td>\n");
 
                wc_printf("<td width=20%%>%s ", _("If") );
 
@@ -1029,14 +1029,14 @@ void display_rules_editor_inner_div(void) {
                wc_printf("<select id=\"hfield%d\" name=\"hfield%d\" size=1 onChange=\"UpdateRules();\">",
                        i, i);
                for (j=0; j<15; ++j) {
-                       wc_printf("<option %s value=\"%s\">%s</option>",
+                       wc_printf("<option %s value=\"%s\">%s</option>\n",
                                ( (!strcasecmp(hfield, hfield_values[j][0])) ? "selected" : ""),
                                hfield_values[j][0],
                                hfield_values[j][1]
                        );
                }
 
-               wc_printf("</select>");
+               wc_printf("</select>\n\n");
                wc_printf("</td>");
 
                wc_printf("<td width=20%%>");
@@ -1050,42 +1050,42 @@ void display_rules_editor_inner_div(void) {
                        {       "notmatches",   _("does not match")     }
                };
 
-               wc_printf("<div id=\"div_compare%d\">", i);
-               wc_printf("<select id=\"compare%d\" name=\"compare%d\" size=1 onChange=\"UpdateRules();\">",
+               wc_printf("<div id=\"div_compare%d\">\n", i);
+               wc_printf("<select id=\"compare%d\" name=\"compare%d\" size=1 onChange=\"UpdateRules();\">\n",
                        i, i);
                for (j=0; j<6; ++j) {
-                       wc_printf("<option %s value=\"%s\">%s</option>",
+                       wc_printf("<option %s value=\"%s\">%s</option>\n",
                                ( (!strcasecmp(compare, compare_values[j][0])) ? "selected" : ""),
                                compare_values[j][0],
                                compare_values[j][1]
                        );
                }
-               wc_printf("</select>");
+               wc_printf("</select>\n\n");
 
                wc_printf("<input type=\"text\" id=\"htext%d\" name=\"htext%d\" value=\"", i, i);
                escputs(htext);
-               wc_printf("\"></div>");
+               wc_printf("\">\n</div>\n");
 
                wc_printf("<div id=\"div_nocompare%d\">", i);
                wc_printf("%s", _("(All messages)"));
-               wc_printf("</div>");
+               wc_printf("</div>\n");
 
                char *sizecomp_values[2][2] = {
                        {       "larger",       _("is larger than")     },
                        {       "smaller",      _("is smaller than")    }
                };
 
-               wc_printf("<div id=\"div_size%d\">", i);
-               wc_printf("<select id=\"sizecomp%d\" name=\"sizecomp%d\" size=1 onChange=\"UpdateRules();\">",
+               wc_printf("<div id=\"div_size%d\">\n", i);
+               wc_printf("<select id=\"sizecomp%d\" name=\"sizecomp%d\" size=1 onChange=\"UpdateRules();\">\n",
                        i, i);
                for (j=0; j<2; ++j) {
-                       wc_printf("<option %s value=\"%s\">%s</option>",
+                       wc_printf("<option %s value=\"%s\">%s</option>\n",
                                ( (!strcasecmp(sizecomp, sizecomp_values[j][0])) ? "selected" : ""),
                                sizecomp_values[j][0],
                                sizecomp_values[j][1]
                        );
                }
-               wc_printf("</select>");
+               wc_printf("</select>\n\n");
 
                wc_printf("<input type=\"text\" id=\"sizeval%d\" name=\"sizeval%d\" value=\"%d\">",
                        i, i, sizeval);
@@ -1103,20 +1103,20 @@ void display_rules_editor_inner_div(void) {
                        {       "vacation",     _("Vacation")           }
                };
 
-               wc_printf("<td width=20%%>");
-               wc_printf("<select id=\"action%d\" name=\"action%d\" size=1 onChange=\"UpdateRules();\">",
+               wc_printf("<td width=20%%>\n");
+               wc_printf("<select id=\"action%d\" name=\"action%d\" size=1 onChange=\"UpdateRules();\">\n",
                        i, i);
                for (j=0; j<6; ++j) {
-                       wc_printf("<option %s value=\"%s\">%s</option>",
+                       wc_printf("<option %s value=\"%s\">%s</option>\n",
                                ( (!strcasecmp(action, action_values[j][0])) ? "selected" : ""),
                                action_values[j][0],
                                action_values[j][1]
                        );
                }
-               wc_printf("</select>");
+               wc_printf("</select>\n\n");
 
-               wc_printf("<div id=\"div_fileinto%d\">", i);
-               wc_printf("<select name=\"fileinto%d\" id=\"fileinto%d\">", i, i);
+               wc_printf("<div id=\"div_fileinto%d\">\n", i);
+               wc_printf("<select name=\"fileinto%d\" id=\"fileinto%d\">\n", i, i);
                for (j=0; j<num_roomnames; ++j) {
                        wc_printf("<option ");
                        if (!strcasecmp(rooms[j].name, fileinto)) {
@@ -1128,56 +1128,56 @@ void display_rules_editor_inner_div(void) {
                        escputs(rooms[j].name);
                        wc_printf("</option>\n");
                }
-               wc_printf("</select>\n");
+               wc_printf("</select>\n\n");
                wc_printf("</div>");
 
-               wc_printf("<div id=\"div_redirect%d\">", i);
+               wc_printf("<div id=\"div_redirect%d\">\n", i);
                wc_printf("<input type=\"text\" id=\"redirect%d\" name=\"redirect%d\" value=\"", i, i);
                escputs(redirect);
-               wc_printf("\"></div>");
+               wc_printf("\">\n</div>\n");
 
-               wc_printf("<div id=\"div_automsg%d\">", i);
+               wc_printf("<div id=\"div_automsg%d\">\n", i);
                wc_printf(_("Message:"));
-               wc_printf("<br>");
+               wc_printf("<br>\n");
                wc_printf("<textarea name=\"automsg%d\" id=\"automsg%d\" wrap=soft rows=5>\n", i, i);
                escputs(automsg);
                wc_printf("</textarea>");
-               wc_printf("</div>");
+               wc_printf("</div>\n");
 
-               wc_printf("</td>");
+               wc_printf("</td>\n");
 
                char *final_values[2][2] = {
                        {       "continue",     _("continue processing")        },
                        {       "stop",         _("stop")                       }
                };
 
-               wc_printf("<td width=10%% align=\"center\">%s</td>", _("and then") );
+               wc_printf("<td width=10%% align=\"center\">%s</td>\n", _("and then") );
 
-               wc_printf("<td width=20%%>");
-               wc_printf("<select name=\"final%d\" id=\"final%d\" size=1 onChange=\"UpdateRules();\">",
+               wc_printf("<td width=20%%>\n");
+               wc_printf("<select name=\"final%d\" id=\"final%d\" size=1 onChange=\"UpdateRules();\">\n",
                        i, i);
                for (j=0; j<2; ++j) {
-                       wc_printf("<option %s value=\"%s\">%s</option>",
+                       wc_printf("<option %s value=\"%s\">%s</option>\n",
                                ( (!strcasecmp(final, final_values[j][0])) ? "selected" : ""),
                                final_values[j][0],
                                final_values[j][1]
                        );
                }
-               wc_printf("</select>");
-               wc_printf("</td>");
+               wc_printf("</select>\n\n");
+               wc_printf("</td>\n");
 
                wc_printf("</tr>\n");
 
        }
 
-       wc_printf("</table>");
+       wc_printf("</table>\n");
        wc_printf("<div id=\"div_addrule\"><a href=\"javascript:AddRule();\">%s</a><br></div>\n",
                _("Add rule")
        );
 
-       wc_printf("<script type=\"text/javascript\">                                    \n");
-       wc_printf("UpdateRules();                                                               \n");
-       wc_printf("</script>                                                            \n");
+       wc_printf("<script type=\"text/javascript\">\n");
+       wc_printf("UpdateRules();\n");
+       wc_printf("</script>\n");
 
        free(rooms);
 }
@@ -1255,6 +1255,7 @@ HashList *GetSieveScriptListing(StrBuf *Target, WCTemplputParams *TP)
                                Ruleset->Name = NewStrBufPlain(NULL, StrLength(Line));
                                StrBufExtract_NextToken(Ruleset->Name, Line, &pch, '|');
                                Ruleset->IsActive = StrBufExtractNext_int(Line, &pch, '|'); 
+                               Ruleset->Content = NULL;
 
                                if (!strcasecmp(ChrPtr(Ruleset->Name), RULES_SCRIPT))
                                {
@@ -1511,7 +1512,7 @@ void tmplput_SieveRule_final(StrBuf *Target, WCTemplputParams *TP)
 void tmplput_SieveRule_sizeval(StrBuf *Target, WCTemplputParams *TP) 
 {
        SieveRule     *Rule = (SieveRule *)CTX;
-       wc_printf("%d", Rule->sizeval);
+       StrBufAppendPrintf(Target, "%d", Rule->sizeval);
 }
 
 void tmplput_SieveRule_lookup_FileIntoRoom(StrBuf *Target, WCTemplputParams *TP) 
@@ -1602,10 +1603,20 @@ HashList *GetSieveRules(StrBuf *Target, WCTemplputParams *TP)
                                        StrBufExtract_NextToken(Line, EncodedRule, &pch, '|');
                                        Rule->final = (eSieveFinal) GetTokenDefine(SKEY(Line), econtinue);
                                        Put(SieveRules, IKEY(n), Rule, FreeSieveRule);
+                                       n++;
                                }
                        }
        }
 
+       while (n < MAX_RULES) {
+               Rule = (SieveRule*) malloc(sizeof(SieveRule));
+               memset(Rule, 0, sizeof(SieveRule));
+               Put(SieveRules, IKEY(n), Rule, FreeSieveRule);
+           
+               n++;
+       }
+
+
        FreeStrBuf(&EncodedRule);
        FreeStrBuf(&Line);
        return SieveRules;
@@ -1686,6 +1697,10 @@ InitModule_SIEVE
  
        RegisterIterator("SIEVE:RULES", 0, NULL, GetSieveRules, NULL, DeleteHash, CTX_SIEVESCRIPT, CTX_NONE, IT_NOFLAG);
        RegisterIterator("SIEVE:RULE:EMPTY", 0, NULL, GetEmptySieveRule, NULL, DeleteHash, CTX_SIEVESCRIPT, CTX_NONE, IT_NOFLAG);
+/*
+<?ITERATE("SIEVE:RULE:EMPTY", ="sieve_display_one")>
+*/
+
 
        RegisterConditional(HKEY("COND:SIEVE:ACTIVE"), 1, ConditionalSieveRule_Active, CTX_SIEVESCRIPT);
        RegisterConditional(HKEY("COND:SIEVE:HFIELD"), 1, ConditionalSieveRule_hfield, CTX_SIEVESCRIPT);
index d34a0edff71bbc5d22b576488d5bb8f1d29a6e6d..0bba5c0ff2f3c69affc287fa934a0013cbbb6e92 100644 (file)
@@ -13,7 +13,7 @@ function UpdateRules() {
  * Show only the active rows... /// TODO 255-> we need no limit anymore.
  */
   highest_active_rule = (-1);
-  for (i=0; i< 255; ++i) {
+  for (i=0; i< 50; ++i) {
    if ($('active'+i).checked) {
      $('rule' + i).style.display = 'block';
      highest_active_rule = i;
@@ -36,17 +36,17 @@ function UpdateRules() {
     }
     d = ($('hfield'+i).options[$('hfield'+i).selectedIndex].value);
     if (d == 'all') {
-      $('div_size'+i).style.display = 'none';   
+      $('div_size'+i).style.display = 'none';
       $('div_compare'+i).style.display = 'none';
       $('div_nocompare'+i).style.display = 'block';
     }
     else if (d == 'size') {
-      $('div_size'+i).style.display = 'block';  
+      $('div_size'+i).style.display = 'block';
       $('div_compare'+i).style.display = 'none';
       $('div_nocompare'+i).style.display = 'none';
     }
     else {
-      $('div_size'+i).style.display = 'none';   
+      $('div_size'+i).style.display = 'none';
       $('div_compare'+i).style.display = 'block';
       $('div_nocompare'+i).style.display = 'none';
     }
@@ -68,7 +68,7 @@ function UpdateRules() {
       $('div_redirect'+i).style.display = 'none';
       $('div_automsg'+i).style.display = 'none';
     }/* TODO: we don't have any limits anymore */
-    if (highest_active_rule < 255 - 1) {
+    if (highest_active_rule < 49) {
       $('div_addrule').style.display = 'block';
     } else {
       $('div_addrule').style.display = 'none';
@@ -119,10 +119,3 @@ function DeleteRule(rd) {
   $('active'+highest_active_rule).checked = false;
 }
 </script>
-
-
-<br>
-
-<div id="div_addrule"><a href="javascript:AddRule();"><?_("Add rule")></a><br></div>
-<script type="text/javascript">UpdateRules();</script>
-</div>
index e7bf253732f526fc4ffd8ec7c1cc54dde4b2fef4..836109883574ef37dd4de466b14c8d7d1e0440b0 100644 (file)
@@ -1,75 +1,73 @@
-<?SIEVE:SCRIPT:LOOKUP_FILEINTO><table cellpadding=2 width=100%>
-<tr id="rule<?ITERATE:N>" class="<?ITERATE:ODDEVEN>">
+<?SIEVE:SCRIPT:LOOKUP_FILEINTO><tr id="rule<?ITERATE:N>" class="<?ITERATE:ODDEVEN>">
 <td width=5% align="center">
 <div style="display:none">
 <input type="checkbox" name="active<?ITERATE:N>" id="active<?ITERATE:N>" <?%("COND:SIEVE:ACTIVE", 1, 0, 0, "checked", "")>>
 </div>
-
-<a href="javascript:SwapRules(<?ITERATE:N>,<?ITERATE:N> - 1);UpdateRules();"><img border="0" src="static/up_pointer.gif" title='<?_("Move rule up")>'/></a>
-<a href="javascript:SwapRules(<?ITERATE:N>,<?ITERATE:N> + 1);UpdateRules();"><img id="movedown%d" border="0" src="static/down_pointer.gif" title='<?_("Move rule down")>'/></a>
-<a href="javascript:DeleteRule(<?ITERATE:N>);UpdateRules();"><img id="delete<?ITERATE:N>" border="0" src="static/delete.gif" title='<?_("Delete rule")>'/></a>
+<??("COND:ITERATE:FIRSTN", 1)><a href="javascript:SwapRules(<?ITERATE:N> - 1, <?ITERATE:N>);UpdateRules();"><img border="0" src="static/webcit_icons/up_pointer.gif" title='<?_("Move rule up")>'/></a><??("X", 1)>
+<??("COND:ITERATE:LASTN",  2)><a href="javascript:SwapRules(<?ITERATE:N>,<?ITERATE:N> + 1);UpdateRules();"><img id="movedown<?ITERATE:N>" border="0" src="static/webcit_icons/down_pointer.gif" title='<?_("Move rule down")>'/></a><??("X", 2)>
+<a href="javascript:DeleteRule(<?ITERATE:N>);UpdateRules();"><img id="delete<?ITERATE:N>" border="0" src="static/webcit_icons/delete.gif" title='<?_("Delete rule")>'/></a>
 
 </td>
 
 <td width=5% align="center">
-<font size=+2><script type="text/javascript"> echo '<?ITERATE:N> + 1';</script></font>
+<font size=+2><script type="text/javascript"> $z = <?ITERATE:N> + 1; document.write($z);</script></font>
 </td>
 
 <td width=20%><?_("If")>
 
 <select id="hfield<?ITERATE:N>" name="hfield<?ITERATE:N>" size=1 onChange="UpdateRules();">
 
-<option <?%("COND:SIEVE:HFIELD", 1, 0, 0, #"from",             "checked", "")> value="from"            ><?_("From")></option>
-<option <?%("COND:SIEVE:HFIELD", 1, 0, 0, #"tocc",             "checked", "")> value="tocc"            ><?_("To or Cc")></option>              
-<option <?%("COND:SIEVE:HFIELD", 1, 0, 0, #"subject",  "checked", ""> value="subject",         )><?_("Subject")></option>
-<option <?%("COND:SIEVE:HFIELD", 1, 0, 0, #"replyto",  "checked", ""> value="replyto"          )><?_("Reply-to")></option>
-<option <?%("COND:SIEVE:HFIELD", 1, 0, 0, #"sender",           "checked", "")> value="sender"          ><?_("Sender")></option>
-<option <?%("COND:SIEVE:HFIELD", 1, 0, 0, #"resentfrom",       "checked", "")> value="resentfrom"      ><?_("Resent-From")></option>
-<option <?%("COND:SIEVE:HFIELD", 1, 0, 0, #"resentto", "checked", "")> value="resentto"                ><?_("Resent-To")></option>
-<option <?%("COND:SIEVE:HFIELD", 1, 0, 0, #"envfrom",  "checked", ""> value="envfrom"          )><?_("Envelope From")></option>
-<option <?%("COND:SIEVE:HFIELD", 1, 0, 0, #"envto",            "checked", "")> value="envto"           ><?_("Envelope To")></option>
-<option <?%("COND:SIEVE:HFIELD", 1, 0, 0, #"xmailer",  "checked", ""> value="xmailer"          )><?_("X-Mailer")></option>
-<option <?%("COND:SIEVE:HFIELD", 1, 0, 0, #"xspamflag",        "checked", "")> value="xspamflag"       ><?_("X-Spam-Flag")></option>
-<option <?%("COND:SIEVE:HFIELD", 1, 0, 0, #"xspamstatus",      "checked", "")> value="xspamstatus"     ><?_("X-Spam-Status")></option>
-<option <?%("COND:SIEVE:HFIELD", 1, 0, 0, #"listid",           "checked", "")> value="listid"          ><?_("List-ID")></option>
-<option <?%("COND:SIEVE:HFIELD", 1, 0, 0, #"size",             "checked", "")> value="size"            ><?_("Message size")></option>
-<option <?%("COND:SIEVE:HFIELD", 1, 0, 0, #"all",              "checked", "")> value="all"             ><?_("All")></option>
+<option <?%("COND:SIEVE:HFIELD", 1, 0, #"from",                "selected", "")> value="from"           ><?_("From")></option>
+<option <?%("COND:SIEVE:HFIELD", 1, 0, #"tocc",                "selected", "")> value="tocc"           ><?_("To or Cc")></option>              
+<option <?%("COND:SIEVE:HFIELD", 1, 0, #"subject",     "selected", "")> value="subject",       ><?_("Subject")></option>
+<option <?%("COND:SIEVE:HFIELD", 1, 0, #"replyto",     "selected", "")> value="replyto"        ><?_("Reply-to")></option>
+<option <?%("COND:SIEVE:HFIELD", 1, 0, #"sender",      "selected", "")> value="sender"         ><?_("Sender")></option>
+<option <?%("COND:SIEVE:HFIELD", 1, 0, #"resentfrom",  "selected", "")> value="resentfrom"     ><?_("Resent-From")></option>
+<option <?%("COND:SIEVE:HFIELD", 1, 0, #"resentto",    "selected", "")> value="resentto"       ><?_("Resent-To")></option>
+<option <?%("COND:SIEVE:HFIELD", 1, 0, #"envfrom",     "selected", "")> value="envfrom"        ><?_("Envelope From")></option>
+<option <?%("COND:SIEVE:HFIELD", 1, 0, #"envto",       "selected", "")> value="envto"          ><?_("Envelope To")></option>
+<option <?%("COND:SIEVE:HFIELD", 1, 0, #"xmailer",     "selected", "")> value="xmailer"        ><?_("X-Mailer")></option>
+<option <?%("COND:SIEVE:HFIELD", 1, 0, #"xspamflag",   "selected", "")> value="xspamflag"      ><?_("X-Spam-Flag")></option>
+<option <?%("COND:SIEVE:HFIELD", 1, 0, #"xspamstatus", "selected", "")> value="xspamstatus"    ><?_("X-Spam-Status")></option>
+<option <?%("COND:SIEVE:HFIELD", 1, 0, #"listid",      "selected", "")> value="listid"         ><?_("List-ID")></option>
+<option <?%("COND:SIEVE:HFIELD", 1, 0, #"size",                "selected", "")> value="size"           ><?_("Message size")></option>
+<option <?%("COND:SIEVE:HFIELD", 1, 0, #"all",         "selected", "")> value="all"            ><?_("All")></option>
 </select>
 </td>
 
 <td width=20%>
 <div id="div_compare<?ITERATE:N>">
 <select id="compare<?ITERATE:N>" name="compare<?ITERATE:N>" size=1 onChange="UpdateRules();">
-<option <?%("COND:SIEVE:COMPARE", 1, 0, 0, #"contains",        "checked", "")>><?_("contains"          )></option>
-<option <?%("COND:SIEVE:COMPARE", 1, 0, 0, #"notcontains",     "checked", "")>><?_("does not contain"  )></option>
-<option <?%("COND:SIEVE:COMPARE", 1, 0, 0, #"is",              "checked", "")>><?_("is"                )></option>
-<option <?%("COND:SIEVE:COMPARE", 1, 0, 0, #"isnot",           "checked", "")>><?_("is not"            )></option>
-<option <?%("COND:SIEVE:COMPARE", 1, 0, 0, #"matches", "checked", "")>><?_("matches"           )></option>
-<option <?%("COND:SIEVE:COMPARE", 1, 0, 0, #"notmatches",      "checked", "")>><?_("does not match"    )></option>
+<option <?%("COND:SIEVE:COMPARE", 1, 0, #"contains",   "selected", "")> value="contains"><?_(          "contains"              )></option>
+<option <?%("COND:SIEVE:COMPARE", 1, 0, #"notcontains",        "selected", "")> value="notcontains"><?_(       "does not contain"      )></option>
+<option <?%("COND:SIEVE:COMPARE", 1, 0, #"is",         "selected", "")> value="is"><?_(                "is"                    )></option>
+<option <?%("COND:SIEVE:COMPARE", 1, 0, #"isnot",      "selected", "")> value="isnot"><?_(             "is not"                )></option>
+<option <?%("COND:SIEVE:COMPARE", 1, 0, #"matches",    "selected", "")> value="matches"><?_(           "matches"               )></option>
+<option <?%("COND:SIEVE:COMPARE", 1, 0, #"notmatches", "selected", "")> value="notmatches"><?_(        "does not match"        )></option>
 </select>
 
-<input type="text" id="htext<?ITERATE:N>" name="htext<?ITERATE:N>" value="<?SIEVE:SCRIPT:HTEXT("X")>"> escputs(htext);
+<input type="text" id="htext<?ITERATE:N>" name="htext<?ITERATE:N>" value="<?SIEVE:SCRIPT:HTEXT("X")>">
 </div>
 
 <div id="div_nocompare<?ITERATE:N>"><?_("(All messages)")></div>
 
 <div id="div_size<?ITERATE:N>">
 <select id="sizecomp<?ITERATE:N>" name="sizecomp<?ITERATE:N>" size=1 onChange="UpdateRules();">
-<option <?%("COND:SIEVE:SIZECOMP", 1, 0, 0, #"larger", "selected", ""> value="larger"><?_("is larger than")></option>
-<option <?%("COND:SIEVE:SIZECOMP", 1, 0, 0, #"smaller", "selected", ""> value="smaler"><?_("is smaller than")></option>
+<option <?%("COND:SIEVE:SIZECOMP", 1, 0, #"larger", "selected", "")> value="larger"><?_("is larger than")></option>
+<option <?%("COND:SIEVE:SIZECOMP", 1, 0, #"smaller", "selected", "")> value="smaller"><?_("is smaller than")></option>
 </select>
-<input type="text" id="sizeval<?ITERATE:N>" name="sizeval<?ITERATE:N>" value="<?SIEVE:SCRIPT:SIZE>">
+<input type="text" id="sizeval<?ITERATE:N>" name="sizeval<?ITERATE:N>" value="<?SIEVE:SCRIPT:SIZE>"><?_("bytes")>
 </div>
 </td>
 
 <td width=20%>
 <select id="action<?ITERATE:N>" name="action<?ITERATE:N>" size=1 onChange="UpdateRules();">
-<option <?%("COND:SIEVE:ACTION", 1, 0, 0, #"keep",     "selected", "")>><?_("Keep")>           </option>
-<option <?%("COND:SIEVE:ACTION", 1, 0, 0, #"discard",  "selected", "")>><?_("Discard silently")></option>
-<option <?%("COND:SIEVE:ACTION", 1, 0, 0, #"reject",   "selected", "")>><?_("Reject")>         </option>
-<option <?%("COND:SIEVE:ACTION", 1, 0, 0, #"fileinto","selected", "")>><?_("Move message to")></option>
-<option <?%("COND:SIEVE:ACTION", 1, 0, 0, #"redirect","selected", "")>><?_("Forward to")>      </option>
-<option <?%("COND:SIEVE:ACTION", 1, 0, 0, #"vacation","selected", "")>><?_("Vacation")>        </option>
+<option <?%("COND:SIEVE:ACTION", 1, 0, #"keep",        "selected", "")> value="keep"><?_("Keep")>              </option>
+<option <?%("COND:SIEVE:ACTION", 1, 0, #"discard",     "selected", "")> value="discard"><?_("Discard silently")></option>
+<option <?%("COND:SIEVE:ACTION", 1, 0, #"reject",      "selected", "")> value="reject"><?_("Reject")>          </option>
+<option <?%("COND:SIEVE:ACTION", 1, 0, #"fileinto",    "selected", "")> value="fileinto"><?_("Move message to")></option>
+<option <?%("COND:SIEVE:ACTION", 1, 0, #"redirect",    "selected", "")> value="redirect"><?_("Forward to")>    </option>
+<option <?%("COND:SIEVE:ACTION", 1, 0, #"vacation",    "selected", "")> value="vacation"><?_("Vacation")>      </option>
 </select>
 
 <div id="div_fileinto<?ITERATE:N>">
@@ -89,7 +87,7 @@
 
 </td>
 
-<td width=10% align="center">< _("and then")></td>
+<td width=10% align="center"><?_("and then")></td>
 <td width=20%>
 <select name="final<?ITERATE:N>" id="final<?ITERATE:N>" size=1 onChange="UpdateRules();">
 <option <?%("COND:SIEVE:FINAL", 1, 0, 0, #"continue", "select", "")> value="continue"><?_("continue processing")></option>
@@ -97,4 +95,3 @@
 </select>
 </td>
 </tr>
-</table>
index 658d75a0224a8f82f4b956cf50577f5ae7b3b03b..3a2bb941c0ed64dbe814bab3ae4651e5981f4b21 100644 (file)
@@ -1,3 +1,3 @@
-<div id="script_<?SIEVE:SCRIPT:NAME("U")>" style="display:none">
+<div id="script_<?SIEVE:SCRIPT:NAME('U')>" style="display:none">
 <textarea name="text_<?SIEVE:SCRIPT:NAME("U")>" wrap=soft rows=20 cols=80 width=80><?SIEVE:SCRIPT:CONTENT("X")></textarea>
 </div>
index 9580165c332ace410b401c90a3820fd5534ccb6e..154bfe69fa57881871ee2ef30ea7786b1bf28999 100644 (file)
@@ -3,7 +3,7 @@
 <?--("iterate over an empty template, so we have the states already loaded for below")><?ITERATE("SIEVE:SCRIPTS", ="sieve_empty")>
 <script type="text/javascript">
 
-var previously_active_script;                                                                  
+var previously_active_script;
 
 function ToggleSievePanels() {
  d = ($('sieveform').bigaction.options[$('sieveform').bigaction.selectedIndex].value);
@@ -25,8 +25,7 @@ function ToggleScriptPanels() {
  $('script_' + d).style.display = 'block';
  previously_active_script = d;
 }
-</script>                                                              
-<?ITERATE("SIEVE:RULE:EMPTY", ="sieve_display_one")>
+</script>
 
 
 <div id="banner">
@@ -59,12 +58,24 @@ function ToggleScriptPanels() {
 <div id="sievediv1" style="display:none">
 
 <?=("sieve_display")>
+
+<br><table cellpadding=2 width=100%>
+<?ITERATE("SIEVE:RULES", ="sieve_display_one")>
+</table>
+
+
+<br>
+
+<div id="div_addrule"><a href="javascript:AddRule();"><?_("Add rule")></a><br></div>
+<script type="text/javascript">UpdateRules();</script>
+</div>
+
 </div>
 <?--("The I am smart and can write my own Sieve scripts div ")>
 
 <div id="sievediv2" style="display:none">
 
-<?!("COND:BSTR", 1, "__SIEVE:RULESSCRIPT", 1)>
+<??("COND:BSTR", 1, "__SIEVE:RULESSCRIPT", 1)>
 <?_("The currently active script is: ")>
 <select name="active_script" size=1 onChange="ToggleScriptPanels();">
 <?ITERATE("SIEVE:SCRIPTS", ="sieve_list_select_one")>
@@ -73,10 +84,11 @@ function ToggleScriptPanels() {
 &nbsp;&nbsp;&nbsp;
 <a href="display_add_remove_scripts"><?_("Add or delete scripts")></a>
 <br>
-<?ITERATE("SIEVE:RULES", ="sieve_display_one_script")>
+<?ITERATE("SIEVE:SCRIPTS", ="sieve_display_one_script")>
 
 <??("X", 1)>
 
+
 <script type="text/javascript">ToggleScriptPanels();</script>
 </div>
 <?--("The rest of this is common for all panels... ")>
index f546351aaa2dfcd2ef48a6091dcf6890d85c9940..25e9eaffb2f596347fcdeb3c7e0239d86875881f 100644 (file)
@@ -1 +1 @@
-<option <?%("COND:SIEVE:SCRIPT:ACTIVE" 1, 0, "selected", "")> value="<?SIEVE:SCRIPT:NAME("U")>"><?SIEVE:SCRIPT:NAME("X")></option>
+<option <?%("COND:SIEVE:SCRIPT:ACTIVE" 1, 0, 0, "selected", "")> value="<?SIEVE:SCRIPT:NAME("U")>"><?SIEVE:SCRIPT:NAME("X")></option>
index 9479a5eefbcc1d8edb874c3b4ef08141942db683..e3714ce225d7e7543295f2f74eb0fac0ecd2704c 100644 (file)
@@ -1 +1 @@
-<option <?%("COND:THIS:THAT:ROOM", 1, 0, 0, "checked", "")> value='<?ROOM:INFO:NAME("U")>' ><?ROOM:INFO:NAME("X")></select>
+<option <?%("COND:THIS:THAT:ROOM", 1, 0, 0, "checked", "")> value='<?ROOM:INFO:NAME("U")>' ><?ROOM:INFO:NAME("X")></option>