source: spip-zone/_plugins_/_stable_/formslies/inc/formslies_types_champs.php @ 22903

Last change on this file since 22903 was 22903, checked in by spipcarto@…, 12 years ago

gestion de liens entre formulaire pour Form&tables
ajoute un type de champ "formslies"
on choisit le formulaire a lier
a la saisie des donnees, on choisit une donnee de ce formulaire
l'id_donnee est stocke en valeur
a l'affichage, l'id_donnee est remplace par la valeur du premier champ listable

File size: 2.6 KB
Line 
1<?php
2
3function formslies_forms_types_champs($flux){
4        $flux['formslies']=_T('formslies:type_formslies');
5        return $flux;
6}
7
8function formslies_forms_bloc_edition_champ($flux){
9        $row = $flux['args']['row'];
10        $type = $row['type'];
11
12        if ($type=='formslies'){
13                $action_link = $flux['args']['action_link'];
14                $redirect = $flux['args']['redirect'];
15                $idbloc = $flux['args']['idbloc'];
16       
17                $id_form = $row['id_form'];
18                $champ = $row['champ'];
19                $titre = $row['titre'];
20                $obligatoire = $row['obligatoire'];
21                $extra_info = intval($row['extra_info']);
22                $specifiant = $row['specifiant'];
23                $public = $row['public'];
24                $aide = $row['aide'];
25                $html_wrap = $row['html_wrap'];
26               
27                $out = $flux['data'];
28                $out .= "<label for=\"".$champ."_id_form\">"._T('formslies:formslies_type_label')."</label> : \n";
29                $contexte=array('id_form'=>$extra_info,'champ'=>$champ.'_id_form');
30                include_spip('public/assembler');
31                $out .= recuperer_fond('formslies_forms_selecteur',$contexte);
32                $out .= "<br />\n";             
33                $flux['data'] = $out;
34        }
35        return $flux;
36}
37
38function formslies_forms_update_edition_champ($flux){
39        $extra_info = $flux['args']['data'];
40        $row = $flux['args']['row'];
41        $type = $row['type'];
42        $champ = $row['champ'];
43        $r=intval($extra_info);
44        if ($type=='formslies'){
45                $flux['data']=_request($champ."_id_form");;
46        }
47        return $flux;
48}
49
50function formslies_forms_input_champs($flux){
51        static $vu=array();
52        $type = $flux['args']['type'];
53        if ($type=='formslies') {
54                $id_form = $flux['args']['id_form'];
55                $champ = $flux['args']['champ'];
56                $extra_info = $flux['args']['extra_info'];
57                $id=extraire_attribut($flux['data'],'id');
58                $val=extraire_attribut($flux['data'],'value');
59                if((_DIR_RESTREINT AND $GLOBALS['formslies_public']!=false) 
60                        OR (!_DIR_RESTREINT AND _request('exec')!=='forms_edit')) {
61                        $vu[$id_form][$type]=array(
62                                'id'=>$id,
63                                //'name'=>extraire_attribut($flux['data'],'name'),
64                                'value'=>$val,
65                                'options'=>$extra_info);
66               
67                }
68                if (intval($extra_info)){
69                        $contexte = array();
70                        $contexte['id'] = $id;
71                        $contexte['value'] = $val;
72                        $contexte['id_form'] = $extra_info;
73                        $contexte['champ'] = $champ;
74                        include_spip('public/assembler');
75                        $flux['data'] = recuperer_fond('formslies_selecteur',$contexte);
76                }
77        }
78        return $flux;
79}
80function formslies_forms_calcule_valeur_en_clair($flux){
81        if ($flux['args']['type_champ']=='formslies') {
82                        $contexte = array();
83                        $contexte['id_donnee'] = intval($flux['data']);
84                        include_spip('public/assembler');
85                        $flux['data'] = recuperer_fond('formslies_valeur',$contexte);
86
87        }
88        return $flux;
89}
90?>
Note: See TracBrowser for help on using the repository browser.