source: spip-zone/_plugins_/coordonnees/trunk/formulaires/editer_numero.php @ 70506

Last change on this file since 70506 was 70506, checked in by tcharlss@…, 7 years ago

Pour charger les saisies des formulaires d'édition, on utilise la fonction "formulaires_editer_xxx_saisies_dist" au lieu d'utiliser un fichier yaml.
Merci à Rastapopoulos pour l'indication.

File size: 3.9 KB
Line 
1<?php
2/**
3 * Plugin Coordonnees
4 * Licence GPL (c) 2010 - Marcimat / Ateliers CYM
5 */
6
7if (!defined('_ECRIRE_INC_VERSION')) return;
8
9include_spip('inc/actions');
10include_spip('inc/editer');
11
12
13/**
14 * Definition des saisies du formulaire
15 */
16function formulaires_editer_numero_saisies_dist(){
17        $saisies = array (
18                array (
19                        'saisie' => 'input',
20                        'options' => array (
21                                'nom' => 'titre',
22                                'label' => _T('numero:label_titre'),
23                                'placeholder' => _T('numero:placeholder_titre'),
24                                'obligatoire' => 'oui'
25                        )
26                ),
27                array (
28                        'saisie' => 'selection',
29                        'options' => array (
30                                'nom' => 'type',
31                                'label' => _T('numero:label_type'),
32                                'obligatoire' => 'oui',
33                                'datas' => array (
34                                        'home' => _T('numero:type_tel_home'),
35                                        'work' => _T('numero:type_tel_work'),
36                                        'cell' => _T('numero:type_tel_cell'),
37                                        'pref' => _T('numero:type_tel_pref'),
38                                        'voice' => _T('numero:type_tel_voice'),
39                                        'msg' => _T('numero:type_tel_msg'),
40                                        'fax' => _T('numero:type_tel_fax'),
41                                        'dsl' => _T('numero:type_tel_dsl'),
42                                        'video' => _T('numero:type_tel_video'),
43                                        'pager' => _T('numero:type_tel_pager'),
44                                        'bbs' => _T('numero:type_tel_bbs'),
45                                        'modem' => _T('numero:type_tel_modem'),
46                                        'car' => _T('numero:type_tel_car'),
47                                        'isdn' => _T('numero:type_tel_isdn'),
48                                        'pcs' => _T('numero:type_tel_pcs')
49                                )
50                        )
51                ),
52                array (
53                        'saisie' => 'input',
54                        'options' => array (
55                                'nom' => 'numero',
56                                'label' => _T('numero:label_numero'),
57                                'obligatoire' => 'oui',
58                                'verifier' => array (
59                                        'type' => 'telephone'
60                                )
61                        )
62                ),
63        );
64        return $saisies;
65}
66
67/**
68 * Identifier le formulaire en faisant abstraction des parametres qui ne representent pas l'objet edite
69 */
70function formulaires_editer_numero_identifier_dist($id_numero='new', $retour='', $associer_objet='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
71        return serialize(array(intval($id_numero), $associer_objet));
72}
73
74/**
75 * Declarer les champs postes et y integrer les valeurs par defaut
76 */
77function formulaires_editer_numero_charger_dist($id_numero='new', $retour='', $associer_objet='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
78        $valeurs = formulaires_editer_objet_charger('numero',$id_numero,'',$lier_trad,$retour,$config_fonc,$row,$hidden);
79
80        // valeur de la saisie "type" dans la table de liens
81        if ( $associer_objet ) {
82                list($objet, $id_objet) = explode('|', $associer_objet);
83                $valeurs['type'] = sql_getfetsel('type', 'spip_numeros_liens', 'objet='.sql_quote($objet).' AND id_objet='.intval($id_objet).' AND id_numero='.intval($id_numero) );
84        }
85
86        return $valeurs;
87}
88
89/**
90 * Verifier les champs postes et signaler d'eventuelles erreurs
91 */
92function formulaires_editer_numero_verifier_dist($id_numero='new', $retour='', $associer_objet='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
93        // verification generique
94        $erreurs = formulaires_editer_objet_verifier('numero',$id_numero);
95
96        return $erreurs;
97}
98
99/**
100 * Traiter les champs postes
101 */
102function formulaires_editer_numero_traiter_dist($id_numero='new', $retour='', $associer_objet='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
103        $res = formulaires_editer_objet_traiter('numero',$id_numero,'',$lier_trad,$retour,$config_fonc,$row,$hidden);
104 
105        // Un lien a prendre en compte ?
106        if ($associer_objet AND $id_numero = $res['id_numero']) {
107                list($objet, $id_objet) = explode('|', $associer_objet);
108                if ($objet AND $id_objet AND autoriser('modifier', $objet, $id_objet)) {
109                        include_spip('action/editer_liens');
110                        objet_associer(array('numero' => $id_numero), array($objet => $id_objet));
111                        if (isset($res['redirect'])) {
112                                $res['redirect'] = parametre_url ($res['redirect'], 'id_numero', '', '&');
113                        }
114                }
115                // remplir le champ "type" dans la table de liens
116                if ( $type = _request('type') ) {
117                        sql_updateq('spip_numeros_liens',
118                                array('type' => $type),
119                                'objet='.sql_quote($objet).' AND id_objet='.intval($id_objet).' AND id_numero='.intval($id_numero)
120                        );
121                }
122        }
123        return $res;
124
125}
126
127
128?>
Note: See TracBrowser for help on using the repository browser.