source: spip-zone/_plugins_/coordonnees/trunk/action/editer_numero.php @ 57111

Last change on this file since 57111 was 57111, checked in by guillaume@…, 8 years ago

Micro coquille : mauvais titre par défaut dans l'insertion d'une numero

File size: 1.8 KB
Line 
1<?php
2
3/**
4 * Plugin Coordonnées
5 * Licence GPL (c) 2010 Matthieu Marcillaud
6**/
7if (!defined("_ECRIRE_INC_VERSION")) return;
8
9function action_editer_numero_dist($arg=null) {
10        if (is_null($arg)){
11                $securiser_action = charger_fonction('securiser_action', 'inc');
12                $arg = $securiser_action();
13        }
14
15        // pas d'adresse ? on en cree une nouvelle, mais seulement si 'oui' en argument.
16        if (!$id_numero = intval($arg)) {
17                if (!in_array($arg, array('oui', 'new'))) {
18                        include_spip('inc/headers');
19                        redirige_url_ecrire();
20                }
21                $id_numero = insert_numero();
22        }
23
24        if ($id_numero) $err = revisions_numeros($id_numero);
25        return array($id_numero, $err);
26}
27
28
29function insert_numero($c = '') {
30        $champs = array(
31                'numero' => _T('coordonnees:item_nouveau_numero')
32        );
33       
34        // Envoyer aux plugins
35        $champs = pipeline('pre_insertion', array(
36                'args' => array(
37                        'table' => 'spip_numeros',
38                ),
39                'data' => $champs
40        ));
41       
42        $id_numero = sql_insertq("spip_numeros", $champs);
43
44        if (!$c) 
45                $c = array('objet' => _request('objet'),
46                        'id_objet' => _request('id_objet'),
47                        'type' => _request('type'));
48
49        // ajouter la liaison si presente
50        if (!empty($c['objet']) AND !empty($c['id_objet'])) {
51                if (empty($c['type'])) $c['type'] = '';
52                $c['id_numero'] = $id_numero;
53                sql_insertq("spip_numeros_liens", $c);
54        }
55       
56        return $id_numero;
57}
58
59
60// Enregistrer certaines modifications d'une adresse
61function revisions_numeros($id_numero, $c=false) {
62
63        // recuperer les champs dans POST s'ils ne sont pas transmis
64        if ($c === false) {
65                $c = array();
66                foreach (array(
67                                'numero', 'titre') as $champ
68                ) {
69                        if (($a = _request($champ)) !== null) {
70                                $c[$champ] = $a;
71                        }
72                }
73        }
74
75        include_spip('inc/modifier');
76        modifier_contenu('numero', $id_numero, array(
77                        'invalideur' => "id='id_numero/$id_numero'"
78                ),
79                $c);
80}
81?>
Note: See TracBrowser for help on using the repository browser.