source: spip-zone/_plugins_/coordonnees/trunk/formulaires/editer_email.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.5 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_email_saisies_dist(){
17        $saisies = array (
18                array (
19                        'saisie' => 'input',
20                        'options' => array (
21                                'nom' => 'titre',
22                                'label' => _T('email:label_titre'),
23                                'placeholder' => _T('email:placeholder_titre'),
24                                'obligatoire' => 'oui'
25                        )
26                ),
27                array (
28                        'saisie' => 'selection',
29                        'options' => array (
30                                'nom' => 'type',
31                                'label' => _T('email:label_type'),
32                                'obligatoire' => 'oui',
33                                'datas' => array (
34                                        'home' => _T('email:type_mel_home'),
35                                        'work' => _T('email:type_mel_work')
36                                )
37                        )
38                ),
39                array (
40                        'saisie' => 'input',
41                        'options' => array (
42                                'nom' => 'email',
43                                'label' => _T('email:label_email'),
44                                'placeholder' => _T('email:placeholder_email'),
45                                'obligatoire' => 'oui',
46                                'verifier' => array (
47                                        'type' => 'email',
48                                        'options' => array (
49                                                'mode' => 'normal'
50                                        )
51                                )
52                        )
53                ),
54        );
55        return $saisies;
56}
57
58
59/**
60 * Identifier le formulaire en faisant abstraction des parametres qui ne representent pas l'objet edite
61 */
62function formulaires_editer_email_identifier_dist($id_email='new', $retour='', $associer_objet='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
63        return serialize(array(intval($id_email), $associer_objet));
64}
65
66/**
67 * Declarer les champs postes et y integrer les valeurs par defaut
68 */
69function formulaires_editer_email_charger_dist($id_email='new', $retour='', $associer_objet='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
70        $valeurs = formulaires_editer_objet_charger('email',$id_email,'',$lier_trad,$retour,$config_fonc,$row,$hidden);
71
72        // valeur de la saisie "type" dans la table de liens
73        if ( $associer_objet ) {
74                list($objet, $id_objet) = explode('|', $associer_objet);
75                $valeurs['type'] = sql_getfetsel('type', 'spip_emails_liens', 'objet='.sql_quote($objet).' AND id_objet='.intval($id_objet).' AND id_email='.intval($id_email) );
76        }
77
78        return $valeurs;
79}
80
81/**
82 * Verifier les champs postes et signaler d'eventuelles erreurs
83 */
84function formulaires_editer_email_verifier_dist($id_email='new', $retour='', $associer_objet='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
85        // verification generique
86        $erreurs = formulaires_editer_objet_verifier('email',$id_email);
87
88        return $erreurs;
89}
90
91/**
92 * Traiter les champs postes
93 */
94function formulaires_editer_email_traiter_dist($id_email='new', $retour='', $associer_objet='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
95        $res = formulaires_editer_objet_traiter('email',$id_email,'',$lier_trad,$retour,$config_fonc,$row,$hidden);
96 
97        // Un lien a prendre en compte ?
98        if ($associer_objet AND $id_email = $res['id_email']) {
99                list($objet, $id_objet) = explode('|', $associer_objet);
100                if ($objet AND $id_objet AND autoriser('modifier', $objet, $id_objet)) {
101                        include_spip('action/editer_liens');
102                        objet_associer(array('email' => $id_email), array($objet => $id_objet));
103                        if (isset($res['redirect'])) {
104                                $res['redirect'] = parametre_url ($res['redirect'], 'id_email', '', '&');
105                        }
106                }
107                // remplir le champ "type" dans la table de liens
108                if ( $type = _request('type') ) {
109                        sql_updateq('spip_emails_liens',
110                                array('type' => $type),
111                                'objet='.sql_quote($objet).' AND id_objet='.intval($id_objet).' AND id_email='.intval($id_email)
112                        );
113                }
114        }
115        return $res;
116
117}
118
119
120?>
Note: See TracBrowser for help on using the repository browser.