source: spip-zone/_plugins_/contacts_et_organisations/branches/v1/action/definir_contact.php @ 52034

Last change on this file since 52034 was 52034, checked in by toutati@…, 10 years ago

On assure la compatibilite (c'est note en commentaire compatibilite) avec d'autres plugins,
en mettant systématiquement à jour les tables de liens et les tables sur le champ id_auteur

nettoyage pour afficher les accents

passage du plugin en 1.13

File size: 2.1 KB
Line 
1<?php
2
3/**
4 * Plugin  Contacts & Organisations
5 * Licence GPL (c) 2010 Matthieu Marcillaud
6**/
7if (!defined("_ECRIRE_INC_VERSION")) return;
8
9function action_definir_contact_dist($arg=null) {
10        if (is_null($arg)){
11                $securiser_action = charger_fonction('securiser_action', 'inc');
12                $arg = $securiser_action();
13        }
14        $arg = explode('/', $arg);
15
16        // Si on défini un contact
17        if ($arg[0] == 'contact' and intval($arg[1])) {
18                return action_definir_contact_post($arg[1]);
19        }
20        // Si on défini une organisation
21        elseif ($arg[0] == 'organisation' and intval($arg[1])) {
22                return action_definir_organisation_post($arg[1]);
23        }       
24        // Sinon ça veut rien dire
25        else {
26                spip_log("action_definir_contact_dist $arg pas compris");
27        }
28}
29
30function action_definir_contact_post($id_auteur) {
31        $id_auteur = intval($id_auteur);
32        return insert_contact($id_auteur);
33}
34
35function action_definir_organisation_post($id_auteur) {
36        $id_auteur = intval($id_auteur);
37        return insert_organisation($id_auteur);
38}
39
40
41function insert_contact($id_auteur=0) {
42        // récupérer le nom
43        $nom = sql_getfetsel('nom', 'spip_auteurs', 'id_auteur=' . $id_auteur); 
44
45        $champs = array(
46                'nom' => $nom,
47                'id_auteur' => $id_auteur
48        );
49       
50        // Envoyer aux plugins
51        $champs = pipeline('pre_insertion', array(
52                'args' => array(
53                        'table' => 'spip_contacts',
54                ),
55                'data' => $champs
56        ));
57
58        $id_contact = sql_insertq("spip_contacts", $champs);
59       
60        //compatibilite
61                $champs = array(
62                        'id_contact' => $id_contact,
63                        'objet' => 'auteur',
64                        'id_objet' => $id_auteur
65                );
66                sql_insertq("spip_contacts_liens", $champs);
67       
68        return $id_contact;
69}
70
71function insert_organisation($id_auteur=0) {
72
73        // récupérer le nom
74        $nom = sql_getfetsel('nom', 'spip_auteurs', 'id_auteur=' . $id_auteur); 
75
76        $champs = array(
77                'nom' => $nom,
78                'id_auteur' => $id_auteur
79        );
80       
81        // Envoyer aux plugins
82        $champs = pipeline('pre_insertion', array(
83                'args' => array(
84                        'table' => 'spip_organisations',
85                ),
86                'data' => $champs
87        ));
88
89        $id_organisation = sql_insertq("spip_organisations", $champs);
90        return $id_organisation;
91}
92
93
94?>
Note: See TracBrowser for help on using the repository browser.