source: spip-zone/_plugins_/_stable_/spip-formulaires/inc/formulaires_pipelines.php @ 28636

Last change on this file since 28636 was 28636, checked in by pierre.basson@…, 12 years ago

spip-formulaires : mauvaise idée le if defined dans mes_options

File size: 12.2 KB
Line 
1<?php
2
3
4        /**
5         * SPIP-Formulaires
6         *
7         * Copyright (c) 2006-2009
8         * Agence Artégo http://www.artego.fr
9         * 
10         * Ce programme est un logiciel libre distribue sous licence GNU/GPLv3.
11         * Pour plus de details voir http://www.gnu.org/licenses/gpl-3.0.html
12         * 
13         **/
14
15
16        function formulaires_header_prive($texte) {
17                $blocs_tous.= '    $("#blocs_tous").load("'.generer_url_ecrire('blocs_tous', '', true).'&id_formulaire="+id_form, function(){'."\n";
18                $blocs_tous.= '      $("a.editer_position_bloc").bind("click", editer_position_bloc);'."\n";
19                $blocs_tous.= '      $("a.supprimer_bloc").bind("click", supprimer_bloc);'."\n";
20                $blocs_tous.= '      $("a.editer_position_question").bind("click", editer_position_question);'."\n";
21                $blocs_tous.= '      $("a.supprimer_question").bind("click", supprimer_question);'."\n";
22                $blocs_tous.= '      $("a.editer_position_choix_question").bind("click", editer_position_choix_question);'."\n";
23                $blocs_tous.= '      $("a.supprimer_choix_question").bind("click", supprimer_choix_question);'."\n";
24                $blocs_tous.= '    })'."\n";
25
26                $js.= '<script type="text/javascript">'."\n";
27                $js.= '$(document).ready(function() {'."\n";
28                $js.= '  $("a.editer_position_bloc").click(editer_position_bloc);'."\n";
29                $js.= '  $("a.supprimer_bloc").click(supprimer_bloc);'."\n";
30                $js.= '  $("a.editer_position_question").click(editer_position_question);'."\n";
31                $js.= '  $("a.supprimer_question").click(supprimer_question);'."\n";
32                $js.= '  $("a.editer_position_choix_question").click(editer_position_choix_question);'."\n";
33                $js.= '  $("a.supprimer_choix_question").click(supprimer_choix_question);'."\n";
34                $js.= '});'."\n";
35                $js.= 'function editer_position_bloc() {'."\n";
36                $js.= '  var chaine;'."\n";
37                $js.= '  chaine = this.href.match(/id_formulaire=\d*/);'."\n";
38                $js.= '  chaine = chaine.toString();'."\n";
39                $js.= '  var tableau = chaine.split(/=/);'."\n";
40                $js.= '  var id_form = tableau[1];'."\n";
41                $js.= '  var chaine;'."\n";
42                $js.= '  chaine = this.href.match(/id_bloc=\d*/);'."\n";
43                $js.= '  chaine = chaine.toString();'."\n";
44                $js.= '  var tableau = chaine.split(/=/);'."\n";
45                $js.= '  var id = tableau[1];'."\n";
46                $js.= '  chaine = this.href.match(/position=\d*/);'."\n";
47                $js.= '  chaine = chaine.toString();'."\n";
48                $js.= '  var tableau = chaine.split(/=/);'."\n";
49                $js.= '  var pos = tableau[1];'."\n";
50                $js.= '  $("#searching-formulaire").css("visibility","visible");'."\n";
51                $js.= '  $.post("'.generer_url_action('editer_position_bloc', '', true, true).'", { id_formulaire: id_form, id_bloc: id, position: pos, ajax: 1 }, function(data) {'."\n";
52                $js.= $blocs_tous;
53                $js.= '  });'."\n";
54                $js.= '  return false;'."\n";
55                $js.= '}'."\n";
56                $js.= 'function supprimer_bloc() {'."\n";
57                $js.= '  var chaine;'."\n";
58                $js.= '  chaine = this.href.match(/id_formulaire=\d*/);'."\n";
59                $js.= '  chaine = chaine.toString();'."\n";
60                $js.= '  var tableau = chaine.split(/=/);'."\n";
61                $js.= '  var id_form = tableau[1];'."\n";
62                $js.= '  var chaine;'."\n";
63                $js.= '  chaine = this.href.match(/id_bloc=\d*/);'."\n";
64                $js.= '  chaine = chaine.toString();'."\n";
65                $js.= '  var tableau = chaine.split(/=/);'."\n";
66                $js.= '  var id = tableau[1];'."\n";
67                $js.= '  $("#searching-formulaire").css("visibility","visible");'."\n";
68                $js.= '  $.post("'.generer_url_action('supprimer_bloc', '', true, true).'", { id_formulaire: id_form, id_bloc: id, ajax: 1 }, function(data) {'."\n";
69                $js.= $blocs_tous;
70                $js.= '  });'."\n";
71                $js.= '  return false;'."\n";
72                $js.= '}'."\n";
73                $js.= 'function editer_position_question() {'."\n";
74                $js.= '  var chaine;'."\n";
75                $js.= '  chaine = this.href.match(/id_formulaire=\d*/);'."\n";
76                $js.= '  chaine = chaine.toString();'."\n";
77                $js.= '  var tableau = chaine.split(/=/);'."\n";
78                $js.= '  var id_form = tableau[1];'."\n";
79                $js.= '  var chaine;'."\n";
80                $js.= '  chaine = this.href.match(/id_bloc=\d*/);'."\n";
81                $js.= '  chaine = chaine.toString();'."\n";
82                $js.= '  var tableau = chaine.split(/=/);'."\n";
83                $js.= '  var id_blo = tableau[1];'."\n";
84                $js.= '  var chaine;'."\n";
85                $js.= '  chaine = this.href.match(/id_question=\d*/);'."\n";
86                $js.= '  chaine = chaine.toString();'."\n";
87                $js.= '  var tableau = chaine.split(/=/);'."\n";
88                $js.= '  var id = tableau[1];'."\n";
89                $js.= '  chaine = this.href.match(/position=\d*/);'."\n";
90                $js.= '  chaine = chaine.toString();'."\n";
91                $js.= '  var tableau = chaine.split(/=/);'."\n";
92                $js.= '  var pos = tableau[1];'."\n";
93                $js.= '  $("#searching-formulaire").css("visibility","visible");'."\n";
94                $js.= '  $.post("'.generer_url_action('editer_position_question', '', true, true).'", { id_formulaire: id_form, id_bloc: id_blo, id_question: id, position: pos, ajax: 1 }, function(data) {'."\n";
95                $js.= $blocs_tous;
96                $js.= '  });'."\n";
97                $js.= '  return false;'."\n";
98                $js.= '}'."\n";
99                $js.= 'function supprimer_question() {'."\n";
100                $js.= '  var chaine;'."\n";
101                $js.= '  chaine = this.href.match(/id_formulaire=\d*/);'."\n";
102                $js.= '  chaine = chaine.toString();'."\n";
103                $js.= '  var tableau = chaine.split(/=/);'."\n";
104                $js.= '  var id_form = tableau[1];'."\n";
105                $js.= '  var chaine;'."\n";
106                $js.= '  chaine = this.href.match(/id_bloc=\d*/);'."\n";
107                $js.= '  chaine = chaine.toString();'."\n";
108                $js.= '  var tableau = chaine.split(/=/);'."\n";
109                $js.= '  var id_blo = tableau[1];'."\n";
110                $js.= '  var chaine;'."\n";
111                $js.= '  chaine = this.href.match(/id_question=\d*/);'."\n";
112                $js.= '  chaine = chaine.toString();'."\n";
113                $js.= '  var tableau = chaine.split(/=/);'."\n";
114                $js.= '  var id = tableau[1];'."\n";
115                $js.= '  $("#searching-formulaire").css("visibility","visible");'."\n";
116                $js.= '  $.post("'.generer_url_action('supprimer_question', '', true, true).'", { id_formulaire: id_form, id_bloc: id_blo, id_question: id, ajax: 1 }, function(data) {'."\n";
117                $js.= $blocs_tous;
118                $js.= '  });'."\n";
119                $js.= '  return false;'."\n";
120                $js.= '}'."\n";
121                $js.= 'function editer_position_choix_question() {'."\n";
122                $js.= '  var chaine;'."\n";
123                $js.= '  chaine = this.href.match(/id_formulaire=\d*/);'."\n";
124                $js.= '  chaine = chaine.toString();'."\n";
125                $js.= '  var tableau = chaine.split(/=/);'."\n";
126                $js.= '  var id_form = tableau[1];'."\n";
127                $js.= '  var chaine;'."\n";
128                $js.= '  chaine = this.href.match(/id_bloc=\d*/);'."\n";
129                $js.= '  chaine = chaine.toString();'."\n";
130                $js.= '  var tableau = chaine.split(/=/);'."\n";
131                $js.= '  var id_blo = tableau[1];'."\n";
132                $js.= '  var chaine;'."\n";
133                $js.= '  chaine = this.href.match(/id_question=\d*/);'."\n";
134                $js.= '  chaine = chaine.toString();'."\n";
135                $js.= '  var tableau = chaine.split(/=/);'."\n";
136                $js.= '  var id_q = tableau[1];'."\n";
137                $js.= '  var chaine;'."\n";
138                $js.= '  chaine = this.href.match(/id_choix_question=\d*/);'."\n";
139                $js.= '  chaine = chaine.toString();'."\n";
140                $js.= '  var tableau = chaine.split(/=/);'."\n";
141                $js.= '  var id = tableau[1];'."\n";
142                $js.= '  chaine = this.href.match(/position=\d*/);'."\n";
143                $js.= '  chaine = chaine.toString();'."\n";
144                $js.= '  var tableau = chaine.split(/=/);'."\n";
145                $js.= '  var pos = tableau[1];'."\n";
146                $js.= '  $("#searching-formulaire").css("visibility","visible");'."\n";
147                $js.= '  $.post("'.generer_url_action('editer_position_choix_question', '', true, true).'", { id_formulaire: id_form, id_bloc: id_blo, id_question: id_q, id_choix_question: id, position: pos, ajax: 1 }, function(data) {'."\n";
148                $js.= $blocs_tous;
149                $js.= '  });'."\n";
150                $js.= '  return false;'."\n";
151                $js.= '}'."\n";
152                $js.= 'function supprimer_choix_question() {'."\n";
153                $js.= '  var chaine;'."\n";
154                $js.= '  chaine = this.href.match(/id_formulaire=\d*/);'."\n";
155                $js.= '  chaine = chaine.toString();'."\n";
156                $js.= '  var tableau = chaine.split(/=/);'."\n";
157                $js.= '  var id_form = tableau[1];'."\n";
158                $js.= '  var chaine;'."\n";
159                $js.= '  chaine = this.href.match(/id_bloc=\d*/);'."\n";
160                $js.= '  chaine = chaine.toString();'."\n";
161                $js.= '  var tableau = chaine.split(/=/);'."\n";
162                $js.= '  var id_blo = tableau[1];'."\n";
163                $js.= '  var chaine;'."\n";
164                $js.= '  chaine = this.href.match(/id_question=\d*/);'."\n";
165                $js.= '  chaine = chaine.toString();'."\n";
166                $js.= '  var tableau = chaine.split(/=/);'."\n";
167                $js.= '  var id_q = tableau[1];'."\n";
168                $js.= '  var chaine;'."\n";
169                $js.= '  chaine = this.href.match(/id_choix_question=\d*/);'."\n";
170                $js.= '  chaine = chaine.toString();'."\n";
171                $js.= '  var tableau = chaine.split(/=/);'."\n";
172                $js.= '  var id = tableau[1];'."\n";
173                $js.= '  $("#searching-formulaire").css("visibility","visible");'."\n";
174                $js.= '  $.post("'.generer_url_action('supprimer_choix_question', '', true, true).'", { id_formulaire: id_form, id_bloc: id_blo, id_question: id_q, id_choix_question: id, ajax: 1 }, function(data) {'."\n";
175                $js.= $blocs_tous;
176                $js.= '  });'."\n";
177                $js.= '  return false;'."\n";
178                $js.= '}'."\n";
179                $js.= '</script>'."\n";
180                $texte.= $js;
181                return $texte;
182        }
183
184
185        function formulaires_declarer_tables_objets_surnoms($surnoms) {
186                $surnoms['formulaire'] = 'formulaires';
187                $surnoms['applicant'] = 'applicants';
188                return $surnoms;
189        }
190       
191       
192        function formulaires_rechercher_liste_des_champs($tables) {
193                $tables['formulaire']['titre']          = 8;
194                $tables['formulaire']['descriptif']     = 4;
195                $tables['formulaire']['chapo']          = 3;
196                $tables['formulaire']['texte']          = 2;
197                $tables['formulaire']['ps']                     = 1;
198                $tables['applicant']['email']           = 8;
199                return $tables;
200        }
201
202
203        function formulaires_tester_rubrique_vide($flux) {
204                $flux['data']+= sql_countsel('spip_formulaires', 'id_rubrique='.$flux['args']['id_rubrique']);
205                return $flux;
206        }
207
208
209        function formulaires_calculer_rubriques($flux) {
210                $r = sql_select("rub.id_rubrique AS id, max(fille.date) AS date_h", "spip_rubriques AS rub, spip_formulaires AS fille", "rub.id_rubrique = fille.id_rubrique AND rub.date_tmp <= fille.date AND fille.statut='en_ligne' ", "rub.id_rubrique");
211                while ($row = sql_fetch($r))
212                  sql_updateq('spip_rubriques', array('statut_tmp'=>'publie', 'date_tmp'=>$row['date_h']), "id_rubrique=".$row['id']);
213                return $flux;
214        }
215
216
217        function formulaires_trig_propager_les_secteurs($flux) {
218                $r = sql_select("fille.id_formulaire AS id, maman.id_secteur AS secteur", "spip_formulaires AS fille, spip_rubriques AS maman", "fille.id_rubrique = maman.id_rubrique AND fille.id_secteur <> maman.id_secteur");
219                while ($row = sql_fetch($r))
220                        sql_update("spip_formulaires", array("id_secteur" => $row['secteur']), "id_formulaire=".$row['id']);
221                return $flux;
222        }
223
224
225        function formulaires_calculer_langues_rubriques($flux) {
226                $s = sql_select("fils.id_formulaire AS id_formulaire, mere.lang AS lang", "spip_formulaires AS fils, spip_rubriques AS mere", "fils.id_rubrique = mere.id_rubrique AND fils.langue_choisie != 'oui' AND (fils.lang='' OR mere.lang<>'') AND mere.lang<>fils.lang");
227                while ($row = sql_fetch($s)) {
228                        $id_formulaire = $row['id_formulaire'];
229                        sql_updateq('spip_formulaires', array("lang"=> $row['lang'], 'langue_choisie'=>'non'), "id_formulaire=$id_formulaire");
230                }
231                return $flux;
232        }
233
234
235        function formulaires_contenu_naviguer($flux) {
236                global $spip_lang_right;
237                $id_rubrique = $flux['args']['id_rubrique'];
238                if (autoriser('voir', 'formulaires')) {
239                        if ($id_rubrique) {
240                                $flux['data'].= afficher_objets('formulaire', _T('formulairesprive:tous_formulaires_rubrique'), array('FROM' => 'spip_formulaires', 'WHERE' => 'id_rubrique='.intval($id_rubrique), 'ORDER BY' => 'maj DESC'));
241                                $flux['data'].= icone_inline(_T('formulairesprive:creer_nouveau_formulaire'), generer_url_ecrire("formulaires_edit", "id_rubrique=$id_rubrique"), _DIR_PLUGIN_FORMULAIRES.'/prive/images/formulaire-24.png',"creer.gif", $spip_lang_right);
242                                $flux['data'].= '<br class="nettoyeur" />';
243                        }
244                }
245                return $flux;
246        }
247
248
249        function formulaires_editer_contenu_objet($flux){
250                if ($flux['args']['type'] == 'groupe_mot'){
251                        $checked = in_array('formulaires', $flux['args']['contexte']['tables_liees']);
252                        $checked = $checked ? ' checked="checked"' : '';
253                        $input = '<div class="choix"><input type="checkbox" class="checkbox" name="tables_liees&#91;&#93;" value="formulaires" id="formulaires"'.$checked.' /><label for="formulaires">'._T('formulairesprive:item_mots_cles_association_formulaires').'</label></div>';
254                        $flux['data'] = str_replace('<!--choix_tables-->',"$input\n<!--choix_tables-->", $flux['data']);
255                }
256                return $flux;
257        }
258
259
260        function formulaires_libelle_association_mots($libelles){
261                $libelles['formulaires'] = 'formulairesprive:formulaires';
262                return $libelles;
263        }
264
265
266?>
Note: See TracBrowser for help on using the repository browser.