source: spip-zone/_plugins_/contacts_et_organisations/branches/v1/action/creer_auteur_lie.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.0 KB
Line 
1<?php
2/**
3 * Plugin Contacts & Organisations
4 * Licence GPL (c) 2010-2011 Matthieu Marcillaud, Cyril Marion
5**/
6
7if (!defined("_ECRIRE_INC_VERSION")) return;
8
9function action_creer_auteur_lie_dist($arg=null) {
10
11        if (is_null($arg)){
12                $securiser_action = charger_fonction('securiser_action', 'inc');
13                $arg = $securiser_action();
14        }
15
16        // on attend le type ($arg[0]) et l'id ($arg[1])
17        $arg = explode('/', $arg);
18
19        if ($arg[0] and is_numeric($arg[1])) {
20               
21                switch($arg[0]) {
22
23                        case 'contact':
24                                $contact = sql_fetsel("nom, prenom", "spip_contacts", "id_contact=$arg[1]"); 
25                                $nom = ltrim($contact['prenom'] . " " . $contact['nom']);
26                                $id_auteur = sql_insertq("spip_auteurs", array (
27                                                "nom"           =>  $nom,
28                                                "statut"        => "1comite"
29                                        ));
30                                sql_insertq("spip_contacts", 
31                                                array("id_auteur" => $id_auteur),
32                                                "id_contact =" . $arg[1]
33                                        );
34                                //compatibilite
35                                        $champs = array(
36                                                'id_contact' => $arg[1],
37                                                'objet' => 'auteur',
38                                                'id_objet' => $id_auteur
39                                        );
40                                        sql_insertq("spip_contacts_liens", $champs);
41       
42                                break;
43
44                        case 'organisation': 
45                               
46                                // Code pour le cas present ou le id_auteur est dans la table organisations...
47                                $organisation = sql_getfetsel("nom", "spip_organisations", "id_organisation=$arg[1]"); 
48                                $nom = ltrim($organisation);
49                                $id_auteur = sql_insertq("spip_auteurs", array (
50                                                "nom"                           =>  $nom,
51                                                "statut"                        => "1comite"
52                                        ));
53                                sql_updateq('spip_organisations',array('id_auteur'=>$id_auteur),"id_organisation=".$arg[1]);
54                               
55                                //compatibilite
56                                        $champs = array(
57                                                'id_organisation' => $arg[1],
58                                                'objet' => 'auteur',
59                                                'id_objet' => $id_auteur
60                                        );
61                                        sql_insertq("spip_organisations_liens", $champs);
62                                       
63                                break;
64
65                        default : break;
66                }               
67               
68                include_spip('inc/invalideur');
69                suivre_invalideur("id='id_contact/$id_contact'");
70
71        } else {
72               
73                spip_log("erreur creation auteur lie a l objet ".$arg[0],"contacts");
74
75        }
76}
77
78?>
Note: See TracBrowser for help on using the repository browser.