1 {**************************************************************************}
3 {* Copyright (C) 2003-2007 Polytechnique.org *}
4 {* http://opensource.polytechnique.org/ *}
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. *}
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. *}
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 *}
21 {**************************************************************************}
23 <script type="text/javascript">//<![CDATA[
25 function updatePreview()
27 var titre = document.getElementById('titre').value;
28 var texte = document.getElementById('texte').value;
30 if (titre == '' || texte == '') {
31 document.getElementById('valid').style.display = 'none';
32 document.getElementById('info').style.display = '';
34 document.getElementById('valid').style.display = '';
35 document.getElementById('info').style.display = 'none';
37 var page = 'events/preview?titre=' + encodeURIComponent(titre) + '&texte=' + encodeURIComponent(texte);
40 page = "{$globals->baseurl}/" + page;
43 Ajax.update_html('preview', page, null);
50 {include file="events/preview.tpl"}
54 <form action="{$platal->path}" method="post">
57 <th colspan="2">Contenu de l'annonce</th>
60 <td class="titre">Titre</td>
62 <input type="text" name="titre" id="titre" size="50" maxlength="200" value="{$titre}" />
66 <td class="titre">Texte</td>
67 <td><textarea name="texte" id="texte" rows="10" cols="60" onfocus="update_texte_count(this.form)">{$texte}</textarea></td>
70 <td colspan="2" class="smaller">
71 <script type="text/javascript">//<![CDATA[
72 var form_propose_texte = false;
74 function update_texte_count(f) {
75 if (!form_propose_texte && f) form_propose_texte = f;
76 form_propose_texte.texte_count.value=form_propose_texte.texte.value.length;
77 setTimeout("update_texte_count(0)", 100);
81 Essaie de faire un <strong>texte court</strong>, une annonce ne doit pas excéder 800 caractères soit une douzaine de ligne. Tu en es déjà à <input type='text' name='texte_count' size="4" /> caractères.
87 <input type="submit" name="preview" value="Aperçu" onclick="updatePreview(); return false;" />
89 <p id="info" {if trim($texte) && trim($titre)}style="display: none"{/if}>
90 Le bouton de confirmation n'apparaît que si l'aperçu est concluant.
93 N'oublie pas de remplir les informations suivantes :
96 <script type="text/javascript">//<![CDATA[
98 function updateRange(min, max)
100 var range = document.getElementById('range');
102 min = document.getElementById('promo_min').value;
105 max = document.getElementById('promo_max').value;
107 if (isNaN(min) || (min != 0 && (min < 1900 || min > 2020))) {
108 range.innerHTML = '<span class="erreur">La promotion minimum n\'est pas valide</span>';
110 } else if (isNaN(max) || (max != 0 && (max < 1900 || max > 2020))) {
111 range.innerHTML = '<span class="erreur">La promotion maximum n\'est pas valide</span>';
113 } else if (max != 0 && min != 0 && max < min) {
114 range.innerHTML = '<span class="erreur">L\'intervalle de promotion est inversé</span>';
116 } else if (max == 0 && min == 0) {
117 range.innerHTML = 'L\'annonce est destinée à toutes les promotions';
118 } else if (max == 0) {
119 range.innerHTML = 'L\'annonce sera affichée aux promotions plus jeunes que ' + min + ' (incluse)';
120 } else if (min == 0) {
121 range.innerHTML = "L\'annonce sera affichée aux promotions plus anciennes que " + max + ' (incluse)';
123 range.innerHTML = "L\'annonce sera affichées aux promotions de " + min + " à " + max + ' (incluses)';
130 <table class="bicol">
132 <th colspan="2">Informations complémentaires</th>
136 Tu peux limiter la visibilité de ton annonce aux camarades de certaines promotions :
140 <td class="titre">Promotion la plus ancienne</td>
142 <input type="text" name="promo_min" id="promo_min" size="4" maxlength="4" value="{$promo_min}"
143 onkeyup="return updateRange(null, null);" /> incluse
144 <em>(ex : 1980, 0 signifie pas de minimum)</em>
148 <td class="titre">Promotion la plus jeune</td>
150 <input type="text" name="promo_max" id="promo_max" size="4" maxlength="4" value="{$promo_max}"
151 onkeyup="return updateRange(null, null);" /> incluse
152 <em>(ex : 2000, 0 signifie pas de maximum)</em>
156 <td colspan="2" id="range" class="smaller">
157 <script type="text/javascript">updateRange({$promo_min}, {$promo_max});</script>
162 Choisis la date d'expiration de ton annonce :
167 Dernier jour d'affichage
170 <select name="peremption">
171 {$select|smarty:nodefaults}
177 <div class="center" {if !trim($texte) || !trim($titre)}style="display: none"{/if} id="valid">
178 <input type="hidden" name="evt_id" value="{$smarty.post.evt_id}" />
179 <input type="submit" name="action" value="Proposer" />
184 {* vim:set et sw=2 sts=2 sws=2 enc=utf-8: *}