Opt-in for email rewriting.
[platal.git] / templates / emails / redirect.tpl
... / ...
CommitLineData
1{**************************************************************************}
2{* *}
3{* Copyright (C) 2003-2008 Polytechnique.org *}
4{* http://opensource.polytechnique.org/ *}
5{* *}
6{* This program is free software; you can redistribute it and/or modify *}
7{* it under the terms of the GNU General Public License as published by *}
8{* the Free Software Foundation; either version 2 of the License, or *}
9{* (at your option) any later version. *}
10{* *}
11{* This program is distributed in the hope that it will be useful, *}
12{* but WITHOUT ANY WARRANTY; without even the implied warranty of *}
13{* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *}
14{* GNU General Public License for more details. *}
15{* *}
16{* You should have received a copy of the GNU General Public License *}
17{* along with this program; if not, write to the Free Software *}
18{* Foundation, Inc., *}
19{* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *}
20{* *}
21{**************************************************************************}
22
23{if $retour == $smarty.const.ERROR_INACTIVE_REDIRECTION}
24 <p class="erreur">
25 Tu ne peux pas avoir aucune adresse de redirection active, sinon ton adresse
26 {$smarty.session.forlife}@{#globals.mail.domain#} ne fonctionnerait plus.
27 </p>
28{/if}
29{if $retour == $smarty.const.ERROR_INVALID_EMAIL}
30 <p class="erreur">
31 Erreur&nbsp;: l'email n'est pas valide.
32 </p>
33{/if}
34{if $retour == $smarty.const.ERROR_LOOP_EMAIL}
35 <p class="erreur">
36 Erreur&nbsp;: {$smarty.session.forlife}@{#globals.mail.domain#} ne doit pas être renvoyé
37 vers lui-même, ni vers son équivalent en {#globals.mail.domain2#} ni vers polytechnique.edu.
38 </p>
39{/if}
40 <h1>
41 Tes adresses de redirection
42 </h1>
43 <p>
44 Tu configures ici les adresses emails vers lesquelles tes adresses (listées ci-dessous) sont dirigées&nbsp;:
45 </p>
46 <ul>
47 {if $melix}
48 <li>
49 <strong>{$melix}@{#globals.mail.alias_dom#}</strong>,
50 <strong>{$melix}@{#globals.mail.alias_dom2#}</strong>
51 </li>
52 {/if}
53 {foreach from=$alias item=a}
54 <li>
55 <strong>{$a.alias}@{#globals.mail.domain#}</strong>
56 {if $a.expire}<span class='erreur'>(expire le {$a.expire|date_format})</span>{/if}
57 </li>
58 {/foreach}
59 </ul>
60 <p>
61 Le routage est en place pour les adresses dont la case "<strong>Actif</strong>" est cochée.
62 Si tu modifies souvent ton routage, tu as tout intérêt à rentrer toutes les
63 adresses qui sont susceptibles de recevoir ton routage, de sorte qu'en
64 jouant avec les cases "<strong>Actif</strong>" tu pourras facilement mettre en place les unes
65 ou bien les autres.
66 </p>
67 <p>
68 Enfin, la <strong>réécriture</strong> consiste à substituer à ton adresse email habituelle
69 (adresse gmail, orange, free, ou autre) ton adresse {#globals.mail.domain#} ou
70 {#globals.mail.domain2#} dans l'adresse d'expédition de tes messages, lorsque le courrier
71 passe par nos serveurs. Ceci arrive lorsque tu écris à un camarade sur son adresse {#globals.mail.domain#} ou
72 {#globals.mail.domain2#}, ou lorsque tu utilises notre
73 <a href="Xorg/SMTPSecurise">service d'envoi de courrier SMTP sécurisé</a>.
74 </p>
75
76 {javascript name=ajax}
77 <script type="text/javascript">//<![CDATA[
78 {literal}
79 function activeEnable()
80 {
81 var remove = $(".active_email:checked");
82 if (remove.length <= 1) {
83 remove.attr("disabled", "disabled");
84 remove.parent('td').parent('tr').children('td').children('.remove_email').hide();
85 } else {
86 remove.removeAttr("disabled");
87 $('.remove_email').show();
88 }
89 }
90
91 function redirectUpdate()
92 {
93 showTempMessage('redirect-msg', "Tes redirections ont été mises à jour.", true);
94 activeEnable();
95 }
96
97 function removeRedirect(link, email)
98 {
99 if (confirm("Supprimer l'adresse " + email + " ?")) {
100 $.get(link.href, {},function() {
101 $('tr[@id=line_' + email.replace('@', '_at_') + ']').remove();
102 showRemove();
103 activeEnable();
104 });
105 }
106 return false;
107 }
108
109 function showRemove()
110 {
111 var removeLinks = $('.remove_email');
112 if (removeLinks.length == 1) {
113 removeLinks.hide();
114 } else {
115 removeLinks.show();
116 }
117 }
118
119 function updateRedirect(checked, email)
120 {
121 activeEnable();
122 Ajax.update_html(null, 'emails/redirect/' + (checked ? '' : 'in') + 'active/' + email, redirectUpdate);
123 }
124
125 function rewriteUpdate(mail, allow, box)
126 {
127 return function() {
128 if (!allow) {
129 if (box.value != '') {
130 alert("Un mail de validation vient d'être envoyer sur " + mail
131 + ". La réécriture ne sera active que lorsque tu auras cliqué sur le lien indiqué dans ce mail.");
132 }
133 }
134 redirectUpdate();
135 };
136 }
137
138 {/literal}
139 //]]></script>
140 {test_email}
141 <div id="redirect-msg" style="position:absolute;"></div><br />
142 <div class="center">
143 <table class="bicol" summary="Adresses de redirection">
144 <tr>
145 <th>Redirection</th>
146 <th>Actif</th>
147 <th>Réécriture</th>
148 <th>&nbsp;</th>
149 </tr>
150 {foreach from=$emails item=e name=redirect}
151 <tr class="{cycle values="pair,impair"}" id="line_{$e->email|replace:'@':'_at_'}">
152 <td>
153 <strong>
154 {if $e->broken}<span class="erreur">{assign var="erreur" value="1"}{/if}
155 {if $e->panne neq '0000-00-00'}{assign var="panne" value="1"}{icon name=error title="En panne"}{/if}
156 {$e->display_email}
157 {if $e->broken}</span>{/if}
158 </strong>
159 </td>
160 <td>
161 <input type="checkbox" value="{$e->email}" {if $e->sufficient}class="active_email"{/if}
162 {if $e->active}checked="checked"{/if}
163 {if $smarty.foreach.redirect.total eq 1}disabled="disabled"{/if}
164 onchange="updateRedirect(this.checked, '{$e->email}')" /></td>
165 <td style="text-align: left">
166 {if $e->has_rewrite()}
167 <select onchange="Ajax.update_html(null,'emails/redirect/rewrite/{$e->email}/'+this.value, rewriteUpdate('{$e->email}', {$e->allow_rewrite}, this))">
168 <option value=''>--- aucune ---</option>
169 {assign var=dom1 value=#globals.mail.domain#}
170 {assign var=dom2 value=#globals.mail.domain2#}
171 {foreach from=$alias item=a}
172 <option {if $e->rewrite eq "`$a.alias`@`$dom1`"}selected='selected'{/if}
173 value='{$a.alias}@{#globals.mail.domain#}'>{$a.alias}@{#globals.mail.domain#}</option>
174 <option {if $e->rewrite eq "`$a.alias`@`$dom2`"}selected='selected'{/if}
175 value='{$a.alias}@{#globals.mail.domain2#}'>{$a.alias}@{#globals.mail.domain2#}</option>
176 {/foreach}
177 </select>
178 {if $e->rewrite neq '' && !$e->allow_rewrite}{icon name="error" title="en attente de validation"}{/if}
179 {else}
180 <em>pas de réécriture</em>
181 {/if}
182 </td>
183 <td>
184 {if $e->is_removable()}
185 <a href="emails/redirect/remove/{$e->email}"
186 class="remove_email"
187 onclick="return removeRedirect(this, &quot;{$e->email}&quot;);" >
188 {icon name=cross title="Supprimer"}
189 </a>
190 {else}
191 {if $e->sufficient}<span class="remove_email"></span>{/if}
192 <a href="emails/redirect#{$e->email}">{icon name=information title="Plus d'informations"}</a>
193 {/if}
194 </td>
195 </tr>
196 {/foreach}
197 <tr class="{cycle values="pair,impair"}"><td colspan="4">
198 <form action="emails/redirect" method="post">
199 <div>
200 &nbsp;<br />
201 Ajouter une adresse email&nbsp;:
202 <input type="text" size="35" maxlength="60" name="email" value="" />
203 &nbsp;&nbsp;<input type="submit" value="ajouter" name="emailop" />
204 {xsrf_token_field}
205 </div>
206 </form>
207 </td></tr>
208 </table>
209 <script type="text/javascript">showRemove(); activeEnable();</script>
210 </div>
211{if $panne}
212<p class="smaller">
213 <strong>
214 {icon name=error title="En panne"}
215 <a href="Xorg/Pannes">Panne&nbsp;:</a>
216 </strong>
217 les adresses marquées de cette icône sont des adresses de redirection pour lesquelles une panne
218 a été détectée. Si le problème persiste, la redirection vers ces adresses sera désactivée.
219</p>
220{/if}
221{if $erreur}
222<p class="smaller">
223 <strong>
224 {icon name=error title="En panne"}
225 <a href="Xorg/Pannes" style="color: #f00">Panne durable&nbsp;:</a>
226 </strong>
227 les adresses en rouge sont des adresses qui ont été désactivées en raison d'un grand nombre de pannes. Si tu penses que
228 le problème est résolu, tu peux les réactiver, mais l'adresse sera redésactivée si les problèmes persistent.
229</p>
230{/if}
231{if $smarty.session.mx_failures|@count}
232<fieldset>
233 <legend>{icon name=error} Des problèmes sont actuellement recontrés sur tes redirections suivantes</legend>
234 {foreach from=$smarty.session.mx_failures item=mail}
235 <div>
236 <span class="erreur">{$mail.mail}</span>
237 <div class="explication">{$mail.text}</div>
238 </div>
239 {/foreach}
240</fieldset>
241{/if}
242
243{if #globals.mailstorage.googleapps_active# or #globals.mailstorage.imap_active# or hasPerm('admin') or $googleapps}
244<h1>Tes comptes de stockage de courrier</h1>
245{/if}
246{if #globals.mailstorage.imap_active# or hasPerm('admin')}
247<p>
248 Polytechnique.org te propose de conserver les emails que tu reçois, pendant une durée limitée (environ 30 jours).
249 Grâce à ce service, tu disposes d'une sauvegarde de tes emails en secours, au cas où, par exemple, tu effacerais
250 un email par erreur.<br />
251 <strong>Attention :</strong> il ne s'agit que d'un service de secours, dont la disponibilité n'est pas garantie.
252</p>
253
254<table class="bicol" summary="Compte de stockage">
255 <col width="55%" />
256 <col width="45%" />
257 <tr>
258 <th colspan="2">Compte de stockage</th>
259 </tr>
260 <tr class="pair">
261 <td>
262 <a href="Xorg/IMAP">
263 <strong>Accès de secours aux emails (IMAP)</strong>
264 </a><br />Hébergé par Polytechnique.org
265 </td>
266 <td style="text-align: center; vertical-align: middle">
267 <a href="emails/redirect#line_imap">Voir l'état de la redirection vers l'IMAP</a>
268 </td>
269 </tr>
270</table>
271{/if}
272
273{if #globals.mailstorage.googleapps_active# or hasPerm('admin') or $googleapps}
274<br />
275<p>
276 Grâce à un partenariat avec Google, Polytechnique.org te propose également un compte
277 <b>Google Apps</b>, qui te permet de disposer des services Google (GMail pour
278 tes emails, Google Calendar, Google Docs, ...) sur une adresse polytechnique.org.
279</p>
280
281<table class="bicol" summary="Compte de stockage" id="googleapps">
282 <col width="55%" />
283 <col width="45%" />
284 <tr>
285 <th colspan="2">Compte de stockage</th>
286 </tr>
287 <tr class="pair">
288 {if $googleapps eq 'active'}
289 <td>
290 <a href="googleapps">
291 <strong>Compte Google Apps / Polytechnique.org</strong>
292 </a><br />Hébergé par Google
293 </td>
294 <td style="text-align: center; vertical-align: middle">
295 Ton compte Google Apps est actif.<br />
296 <a href="emails/redirect#line_googleapps">Voir l'état de la redirection vers GMail</a>
297 </td>
298 {else}
299 <td colspan="2">
300 {if $googleapps eq 'disabled'}
301 Ton compte Google Apps est actuellement inactif.<br />
302 {else}
303 Tu n'as pas encore de compte Google Apps pour Polytechnique.org.<br />
304 {/if}
305 <a href="googleapps">Plus d'informations &hellip;</a>
306 </td>
307 {/if}
308 </tr>
309</table>
310{/if}
311
312{if $eleve}
313<h1>Pour les Élèves (non encore diplômés)</h1>
314<p>
315 L'X te fournit aussi une adresse à vie en <strong>«prenom.nom»@polytechnique.edu</strong> qui par défaut est
316 une redirection vers «login»@poly.polytechnique.fr. <a href="https://www.mail.polytechnique.edu/">
317 Tu peux modifier cette redirection</a> et la faire pointer vers ton adresse
318 {$smarty.session.forlife}@{#globals.mail.domain#} (attention, cela demande de la concentration).
319</p>
320<p>
321 Si tu utilises le service POP de poly pour récupérer tes emails dans ton logiciel de courrier,
322 l'équipe de Polytechnique.org te conseille de rediriger&nbsp;:
323</p>
324<ul>
325 <li>«prenom.nom»@polytechnique.edu vers {$smarty.session.forlife}@{#globals.mail.domain#}&nbsp;;</li>
326 <li>{$smarty.session.forlife}@{#globals.mail.domain#} vers «login»@poly.polytechnique.fr.</li>
327</ul>
328<p>
329 Attention à ne pas faire une boucle quand tu manipules tes redirections ! Tes emails seraient
330 alors perdus, jusqu'à ce que tu règles le problème.
331</p>
332{/if}
333
334{* vim:set et sw=2 sts=2 sws=2 enc=utf-8: *}