Templatize sieve rules editor; return success/fail state of serverwrite
[citadel.git] / webcit / static / t / sieve / list.html
1 <?--("iterate over an empty template, so we have the states already loaded for below")><?ITERATE("SIEVE:SCRIPTS", ="sieve_empty")><script type="text/javascript">
2 var previously_active_script;                                                                   
3 function ToggleSievePanels() {
4  d = ($('sieveform').bigaction.options[$('sieveform').bigaction.selectedIndex].value);
5  for (i=0; i<3; ++i) {
6   if (i == d) {
7    $('sievediv' + i).style.display = 'block';
8   }
9   else {
10    $('sievediv' + i).style.display = 'none';
11   }
12  }
13 }
14                                                                         
15 function ToggleScriptPanels() {
16  d = ($('sieveform').active_script.options[$('sieveform').active_script.selectedIndex].value);
17  if ($('script_' + previously_active_script)) {
18   $('script_' + previously_active_script).style.display = 'none';
19  }
20  $('script_' + d).style.display = 'block';
21  previously_active_script = d;
22 }
23 </script>                                                               
24 <div id="banner">
25 <img src="static/advanpage2_48x.gif">
26 <h1><?_("View/edit server-side mail filters")></h1>
27 </div>
28
29 <div id="content" class="service">
30
31 <table class="sieve_background">
32 <tr><td valign=top>
33 <form id="sieveform" method="post" action="save_sieve">
34 <input type="hidden" name="nonce" value="<?NONCE>">
35
36 <?--("The no filtering div")>
37 <?_("When new mail arrives: ")>
38 <select name="bigaction" size=1 onChange="ToggleSievePanels();">
39  <option <?%("COND:BSTR", 1, "__SIEVE:RULESSCRIPT", 1, "", "selected")> value="0"><?_("Leave it in my inbox without filtering")></option>
40  <option <?%("COND:BSTR", 1, "__SIEVE:RULESSCRIPT", 1, "selected", "")> value="1"><?_("Filter it according to rules selected below")></option>
41  <option <?%("COND:BSTR", 1, "__SIEVE:EXTERNAL_SCRIPT", 1, "selected", "")> value="2"><?_("Filter it through a manually edited script (advanced users only)")></option>
42 </select>
43
44 <div id="sievediv0" style="display:none">
45 <div align="center"><br><br>
46 <?_("Your incoming mail will not be filtered through any scripts.")>
47 <br><br></div>
48 </div>
49 <?--("The webcit managed scripts div")>
50
51 <div id="sievediv1" style="display:none">
52         display_rules_editor_inner_div();
53 </div>
54 <?--("The I am smart and can write my own Sieve scripts div ")>
55
56 <div id="sievediv2" style="display:none">
57
58 <?!("COND:BSTR", 1, "__SIEVE:RULESSCRIPT", 1)>
59 <?_("The currently active script is: ")>
60 <select name="active_script" size=1 onChange="ToggleScriptPanels();">
61 <?ITERATE("SIEVE:SCRIPTS", ="sieve_list_select_one")>
62 </select>
63
64 &nbsp;&nbsp;&nbsp;
65 <a href="display_add_remove_scripts"><?_("Add or delete scripts")></a>
66 <br>
67 <?ITERATE("SIEVE:SCRIPTS", ="sieve_display_one_script")>
68
69 <??("X", 1)>
70
71 <script type="text/javascript">ToggleScriptPanels();</script>
72 </div>
73 <?--("The rest of this is common for all panels... ")>
74
75 <div align="center"><br>
76 <input type="submit" name="save_button" value='<?_("Save changes")>'>
77 &nbsp;
78 <input type="submit" name="cancel_button" value='(?_("Cancel")>'>
79 </div></form>
80
81 </td></tr></table>
82
83 <script type="text/javascript">ToggleSievePanels();</script>
84
85