source: spip-zone/_plugins_/_dev_/ctrlforms/inc/ctrlforms_types_champs.php @ 15239

Last change on this file since 15239 was 15239, checked in by ventrea@…, 13 years ago

remontee du code ctrlfroms, la surcharge de f_t (Forms_valide_conformite_champs_reponse_post) n'est pas incluse pour l'instant donc les retours d'erreur ne passent pas.

File size: 3.0 KB
Line 
1<?php
2/* Ajout du champ dans la liste en mode création formulaire*/
3function ctrlforms_forms_types_champs($flux){
4        $flux['ctrlpass']=_T('ctrlforms:ctrl_pass');
5        return $flux;
6}
7
8
9function ctrlforms_forms_bloc_edition_champ($flux){
10        $row = $flux['args']['row'];
11        $type = $row['type'];
12
13        if (in_array($type,array('ctrlpass'))){
14
15                $action_link = $flux['args']['action_link'];
16                $redirect = $flux['args']['redirect'];
17                $idbloc = $flux['args']['idbloc'];
18                $id_form = $row['id_form'];
19                $champ = $row['champ'];
20                $titre = $row['titre'];
21                $obligatoire = $row['obligatoire'];
22                $extra_info = $row['extra_info'];
23                $specifiant = $row['specifiant'];
24                $public = $row['public'];
25                $aide = $row['aide'];
26                $html_wrap = $row['html_wrap'];
27               
28               
29                if (!$structure){
30                        include_spip("inc/forms");
31                        $structure = Forms_structure($id_form);
32                }
33               
34                $out = $flux['data'];
35               
36                $out .= "<label for='controle_$champ'>"._T('ctrlforms:sel_ctrlfield')."</label> :";
37                $out .= " &nbsp;<select name='controle_$champ' id='controle_$champ' class='fondo verdana2'>\n";
38                $out .= "<option value=''>"._T('ctrlforms:sel_ctrlfielddefault')."</option>\n";
39                foreach($structure as $champliste=>$infos){
40                        $type = $infos['type'];
41                        if($type!='ctrlpass'){ 
42                                $selected = ($champliste == $row['extra_info']) ? " selected='selected'": "";
43                                $out .= "<option value='$champliste'$selected>".$type."</option>\n";
44                        }
45                }
46                $out .= "</select>";
47                $out .= "<br />\n";
48               
49                $flux['data'] = $out;
50        }
51        return $flux;
52}
53
54
55function ctrlforms_forms_update_edition_champ($flux){
56        $row = $flux['args']['row'];
57        $type = $row['type'];
58        $champ = $row['champ'];
59        $id_form = $row['id_form'];
60        if (in_array($type,array('ctrlpass'))){
61                if ($s = _request("controle_$champ")){
62                                        if (!$structure){
63                                                include_spip("inc/forms");
64                                                $structure = Forms_structure($id_form);
65                                        }
66                                        $flux['data'] = "";
67                                        foreach($structure as $champliste=>$infos){
68                                                if($s == $champliste) $flux['data'] = $s;
69                                        }
70                }
71        }
72        return $flux;
73}
74
75
76function ctrlforms_forms_input_champs($flux){
77        static $vu=array();
78        $type = $flux['args']['type'];
79        if (in_array($type,array('ctrlpass')) AND (_DIR_RESTREINT OR _request('exec')!=='forms_edit')) {
80                $id_form = $flux['args']['id_form'];
81                $champ = $flux['args']['champ'];
82                $extra_info = $flux['args']['extra_info'];
83                $vu[$id_form][$type]=array(
84                        'id'=>extraire_attribut($flux['data'],'id'),
85                        'name'=>extraire_attribut($flux['data'],'name'),
86                        'value'=>extraire_attribut($flux['data'],'value'),
87                        'syst'=>$extra_info);
88                       
89                        $flux['data']="";
90                       
91                        $typefield = substr($vu[$id_form][$type][syst],0,8);
92                       
93                        if(strcmp($typefield,"password")==0){
94                                $flux['data'].="<input type=\"password\" name='".$champ."' id='input-".$id_form."-".$champ."' value=\""._request($champ, $c)."\" class='password formo' size='40' />";
95                        }
96                        else{
97                                $flux['data'].="<input type=\"text\" name='".$champ."' id='input-".$id_form."-".$champ."' value=\""._request($champ, $c)."\" class='password formo' size='40' />";
98                        }
99                       
100        }
101        return $flux;
102}
103
104?>
Note: See TracBrowser for help on using the repository browser.