wprintf("<td width=20%%>%s ", _("If") );
+ char *hfield_values[14][2] = {
+ { "from", _("From") },
+ { "tocc", _("To or Cc") },
+ { "subject", _("Subject") },
+ { "replyto", _("Reply-to") },
+ { "sender", _("Sender") },
+ { "resentfrom", _("Resent-From") },
+ { "resentto", _("Resent-To") },
+ { "envfrom", _("Envelope From") },
+ { "envto", _("Envelope To") },
+ { "xmailer", _("X-Mailer") },
+ { "xspamflag", _("X-Spam-Flag") },
+ { "xspamstatus", _("X-Spam-Status") },
+ { "size", _("Message size") },
+ { "all", _("All") }
+ };
+
wprintf("<select id=\"hfield%d\" name=\"hfield%d\" size=1 onChange=\"UpdateRules();\">",
i, i);
- wprintf("<option value=\"from\">%s</option>", _("From"));
- wprintf("<option value=\"tocc\">%s</option>", _("To or Cc"));
- wprintf("<option value=\"subject\">%s</option>", _("Subject"));
- wprintf("<option value=\"replyto\">%s</option>", _("Reply-to"));
- wprintf("<option value=\"sender\">%s</option>", _("Sender"));
- wprintf("<option value=\"resentfrom\">%s</option>", _("Resent-From"));
- wprintf("<option value=\"resentto\">%s</option>", _("Resent-To"));
- wprintf("<option value=\"envfrom\">%s</option>", _("Envelope From"));
- wprintf("<option value=\"envto\">%s</option>", _("Envelope To"));
- wprintf("<option value=\"xmailer\">%s</option>", _("X-Mailer"));
- wprintf("<option value=\"xspamflag\">%s</option>", _("X-Spam-Flag"));
- wprintf("<option value=\"xspamstatus\">%s</option>", _("X-Spam-Status"));
- wprintf("<option value=\"size\">%s</option>", _("Message size"));
- wprintf("<option value=\"all\">%s</option>", _("All"));
+ for (j=0; j<14; ++j) {
+ wprintf("<option %s value=\"%s\">%s</option>",
+ ( (!strcasecmp(hfield, hfield_values[j][0])) ? "selected" : ""),
+ hfield_values[j][0],
+ hfield_values[j][1]
+ );
+ }
+
wprintf("</select>");
wprintf("</td>");
wprintf("<td width=20%%>");
+ char *compare_values[4][2] = {
+ { "contains", _("contains") },
+ { "notcontains", _("does not contain") },
+ { "is", _("is") },
+ { "isnot", _("is not") }
+ };
+
wprintf("<div id=\"div_compare%d\">", i);
wprintf("<select id=\"compare%d\" name=\"compare%d\" size=1 onChange=\"UpdateRules();\">",
i, i);
- wprintf("<option value=\"contains\">%s</option>", _("contains"));
- wprintf("<option value=\"notcontains\">%s</option>", _("does not contain"));
- wprintf("<option value=\"is\">%s</option>", _("is"));
- wprintf("<option value=\"isnot\">%s</option>", _("is not"));
+ for (j=0; j<4; ++j) {
+ wprintf("<option %s value=\"%s\">%s</option>",
+ ( (!strcasecmp(compare, compare_values[j][0])) ? "selected" : ""),
+ compare_values[j][0],
+ compare_values[j][1]
+ );
+ }
wprintf("</select>");
- wprintf("<input type=\"text\" id=\"htext%d\" name=\"htext%d\">", i, i);
- wprintf("</div>");
+ wprintf("<input type=\"text\" id=\"htext%d\" name=\"htext%d\" value=\"", i, i);
+ escputs(htext);
+ wprintf("\"></div>");
wprintf("<div id=\"div_nocompare%d\">", i);
wprintf("%s", _("(All messages)"));
wprintf("</div>");
+ char *sizecomp_values[2][2] = {
+ { "larger", _("is larger than") },
+ { "smaller", _("is smaller than") }
+ };
+
wprintf("<div id=\"div_size%d\">", i);
wprintf("<select id=\"sizecomp%d\" name=\"sizecomp%d\" size=1 onChange=\"UpdateRules();\">",
i, i);
- wprintf("<option value=\"larger\">%s</option>", _("is larger than"));
- wprintf("<option value=\"smaller\">%s</option>", _("is smaller than"));
+ for (j=0; j<2; ++j) {
+ wprintf("<option %s value=\"%s\">%s</option>",
+ ( (!strcasecmp(sizecomp, sizecomp_values[j][0])) ? "selected" : ""),
+ sizecomp_values[j][0],
+ sizecomp_values[j][1]
+ );
+ }
wprintf("</select>");
- wprintf("<input type=\"text\" id=\"sizeval%d\" name=\"sizeval%d\">", i, i);
+ wprintf("<input type=\"text\" id=\"sizeval%d\" name=\"sizeval%d\" value=\"%d\">",
+ i, i, sizeval);
wprintf("bytes");
wprintf("</div>");
wprintf("</td>");
+ char *action_values[6][2] = {
+ { "keep", _("Keep") },
+ { "discard", _("Discard silently") },
+ { "reject", _("Reject") },
+ { "fileinto", _("Move message to") },
+ { "redirect", _("Forward to") },
+ { "vacation", _("Vacation") }
+ };
+
wprintf("<td width=20%%>");
wprintf("<select id=\"action%d\" name=\"action%d\" size=1 onChange=\"UpdateRules();\">",
i, i);
- wprintf("<option value=\"keep\">%s</option>", _("Keep"));
- wprintf("<option value=\"discard\">%s</option>", _("Discard silently"));
- wprintf("<option value=\"reject\">%s</option>", _("Reject"));
- wprintf("<option value=\"fileinto\">%s</option>", _("Move message to"));
- wprintf("<option value=\"redirect\">%s</option>", _("Forward to"));
- wprintf("<option value=\"vacation\">%s</option>", _("Vacation"));
+ for (j=0; j<6; ++j) {
+ wprintf("<option %s value=\"%s\">%s</option>",
+ ( (!strcasecmp(action, action_values[j][0])) ? "selected" : ""),
+ action_values[j][0],
+ action_values[j][1]
+ );
+ }
wprintf("</select>");
wprintf("<div id=\"div_fileinto%d\">", i);
wprintf("<select name=\"fileinto%d\" id=\"fileinto%d\">", i, i);
for (j=0; j<num_roomnames; ++j) {
wprintf("<option ");
- if (!strcasecmp(rooms[j].name, "Mail")) {
+ if (!strcasecmp(rooms[j].name, fileinto)) {
wprintf("selected ");
}
wprintf("value=\"");
wprintf("</div>");
wprintf("<div id=\"div_redirect%d\">", i);
- wprintf("<input type=\"text\" id=\"redirect%d\" name=\"redirect%d\">", i, i);
- wprintf("</div>");
+ wprintf("<input type=\"text\" id=\"redirect%d\" name=\"redirect%d\" value=\"", i, i);
+ escputs(redirect);
+ wprintf("\"></div>");
wprintf("<div id=\"div_automsg%d\">", i);
wprintf(_("Message:"));
wprintf("<br />");
wprintf("<textarea name=\"automsg%d\" id=\"automsg%d\" wrap=soft rows=5>\n", i, i);
+ escputs(automsg);
wprintf("</textarea>");
wprintf("</div>");
wprintf("</td>");
-
+ char *final_values[2][2] = {
+ { "continue", _("continue processing") },
+ { "stop", _("stop") }
+ };
wprintf("<td width=10%% align=\"center\">%s</td>", _("and then") );
wprintf("<td width=20%%>");
wprintf("<select name=\"final%d\" id=\"final%d\" size=1 onChange=\"UpdateRules();\">",
i, i);
- wprintf("<option value=\"continue\">%s</option>", _("continue processing"));
- wprintf("<option value=\"stop\">%s</option>", _("stop"));
+ for (j=0; j<2; ++j) {
+ wprintf("<option %s value=\"%s\">%s</option>",
+ ( (!strcasecmp(final, final_values[j][0])) ? "selected" : ""),
+ final_values[j][0],
+ final_values[j][1]
+ );
+ }
wprintf("</select>");
wprintf("</td>");