source: spip-zone/_plugins_/coordonnees/trunk/formulaires/editer_adresse.php @ 70504

Last change on this file since 70504 was 70504, checked in by tcharlss@…, 7 years ago
  • Langues : un fichier de langue par objet éditorial + formattage des chaînes de langue pour SPIP 3. Mise à jour des chaînes de langue dans les fichiers afférents.
  • Commentaires façon "la fabrique" dans les fichiers php
File size: 3.2 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 * Identifier le formulaire en faisant abstraction des parametres qui ne representent pas l'objet edite
14 */
15function formulaires_editer_adresse_identifier_dist($id_adresse='new', $retour='', $associer_objet='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
16        return serialize(array(intval($id_adresse), $associer_objet));
17}
18
19/**
20 * Declarer les champs postes et y integrer les valeurs par defaut
21 */
22function formulaires_editer_adresse_charger_dist($id_adresse='new', $retour='', $associer_objet='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
23        $valeurs = formulaires_editer_objet_charger('adresse',$id_adresse,'',$lier_trad,$retour,$config_fonc,$row,$hidden);
24
25        // importer les saisies yaml
26        include_spip('inc/yaml');
27        $valeurs['_saisies_adresse'] = _T_ou_typo(yaml_decode_file(find_in_path('yaml/saisies_adresse.yaml')));
28        // valeur de la saisie "type" dans la table de liens
29        if ( $associer_objet ) {
30                list($objet, $id_objet) = explode('|', $associer_objet);
31                $valeurs['type'] = sql_getfetsel('type', 'spip_adresses_liens', 'objet='.sql_quote($objet).' AND id_objet='.intval($id_objet).' AND id_adresse='.intval($id_adresse) );
32        }
33
34        return $valeurs;
35}
36
37/**
38 * Verifier les champs postes et signaler d'eventuelles erreurs
39 */
40function formulaires_editer_adresse_verifier_dist($id_adresse='new', $retour='', $associer_objet='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
41        // verification generique
42        $erreurs = formulaires_editer_objet_verifier('adresse',$id_adresse);
43
44        // verification des saisies yaml
45        include_spip('inc/yaml');
46        include_spip('inc/saisies');
47        $erreurs = saisies_verifier(yaml_decode_file(find_in_path('yaml/saisies_adresse.yaml')));
48
49        // verifier qu'il y a au moins le code ou la boite postale
50        if ( strlen(_request('code_postal')==0) AND strlen(_request('boite_postale'))==0 ) {
51                $erreurs['boite_postale'] = _T('adresse:erreur_code_boite_postal');
52                $erreurs['code_postal'] = '&nbsp;';
53        }
54
55        return $erreurs;
56}
57
58/**
59 * Traiter les champs postes
60 */
61function formulaires_editer_adresse_traiter_dist($id_adresse='new', $retour='', $associer_objet='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
62        $res = formulaires_editer_objet_traiter('adresse',$id_adresse,'',$lier_trad,$retour,$config_fonc,$row,$hidden);
63 
64        // Un lien a prendre en compte ?
65        if ($associer_objet AND $id_adresse = $res['id_adresse']) {
66                list($objet, $id_objet) = explode('|', $associer_objet);
67                if ($objet AND $id_objet AND autoriser('modifier', $objet, $id_objet)) {
68                        include_spip('action/editer_liens');
69                        objet_associer(array('adresse' => $id_adresse), array($objet => $id_objet));
70                        if (isset($res['redirect'])) {
71                                $res['redirect'] = parametre_url ($res['redirect'], 'id_adresse', '', '&');
72                        }
73                }
74                // remplir le champ "type" dans la table de liens
75                if ( $type = _request('type') ) {
76                        sql_updateq('spip_adresses_liens',
77                                array('type' => $type),
78                                'objet='.sql_quote($objet).' AND id_objet='.intval($id_objet).' AND id_adresse='.intval($id_adresse)
79                        );
80                }
81        }
82        return $res;
83
84}
85
86
87?>
Note: See TracBrowser for help on using the repository browser.