source: spip-zone/_plugins_/Association/Associaspip/inc/post_edition.php @ 57780

Last change on this file since 57780 was 57780, checked in by gildas.cotomale@…, 9 years ago

diverses correction et uniformisation des sources et de l'interface

File size: 3.2 KB
Line 
1<?php
2/***************************************************************************
3 *  Associaspip, extension de SPIP pour gestion d'associations             *
4 *                                                                         *
5 *  Copyright (c) 2007 Bernard Blazin & Francois de Montlivault (V1)       *
6 *  Copyright (c) 2010-2011 Emmanuel Saint-James & Jeannot Lapin (V2)       *
7 *                                                                         *
8 *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
9 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
10\***************************************************************************/
11
12if (!defined("_ECRIRE_INC_VERSION")) return;
13
14function association_post_edition($flux){
15        $id = $flux['args']['id_objet'];
16        if ($id
17        AND $flux['args']['table']=='spip_auteurs') {
18                update_spip_asso_membre($id);
19        }
20}
21
22function update_spip_asso_membre($id_auteur)
23{
24        $auteur = sql_fetsel('statut, nom', 'spip_auteurs', "id_auteur=$id_auteur");
25        if ($auteur['statut']=='5poubelle') { /* auteur a la poubelle: on le met aussi a la poubelle dans asso_membres si il est present dans la table */
26                if (sql_getfetsel('id_auteur', 'spip_asso_membres', "id_auteur=$id_auteur")) {
27                        sql_updateq('spip_asso_membres', array('statut_interne' => 'sorti'), "id_auteur=$id_auteur");
28                }
29                return;
30        }
31        $modif = array();
32        /* on recupere les noms et prenoms dans le champ nom de l'auteur SPIP */
33        $nom = $auteur['nom'];
34        if ($nom) {
35                /* selection du format d'import du champ non */
36                if ($GLOBALS['association_metas']['import_nom_auteur']=='prenom_nom') {
37                        list($prenom, $nom) = preg_split('/\s+/', $nom, 2);
38                        if (!$nom) {/* il n'y avait qu'une seule chaine -> on la met dans le nom et le prenom reste vide */
39                                $nom = $prenom;
40                                $prenom = '';
41                        }
42                } elseif ($GLOBALS['association_metas']['import_nom_auteur']=='nom') {
43                        $prenom = '';
44                } else { // defaut: format nom prenom
45                        list($nom, $prenom) = preg_split('/\s+/', $nom, 2); /* il faudrait aussi gerer le cas ou le nom de famille contient un espace */
46                }
47        } else {
48                $nom = _T('asso:activite_entete_adherent').' '.$id_auteur; $prenom = '';
49        } /* si il est vide, le nom sera Adherents XX */
50        /* si l'auteur est deja present dans la base: on ne modifie pas les noms/prenoms qui peuvent etre edites directement dans la page d'edition du membre */
51        $membre = sql_fetsel('id_auteur,statut_interne', 'spip_asso_membres', "id_auteur=$id_auteur");
52        if ($membre['id_auteur']) {
53                if ($membre['statut_interne']=='sorti') {
54                        $modif['statut_interne'] = 'prospect'; /* si un auteur est edite mais correspond a un membre sorti, on le repasse en prospect */
55                        sql_updateq('spip_asso_membres', $modif, "id_auteur=$id_auteur");
56                }
57        } else { /* sinon on l'ajoute avec comme statut par defaut prospect */
58                $modif['nom_famille'] = $nom;
59                $modif['prenom'] = $prenom;
60                $modif['statut_interne'] = 'prospect';
61                $modif['id_auteur'] = $id_auteur;
62                /* on verifie si il existe une categorie par defaut */
63                if ($GLOBALS['association_metas']['categorie_par_defaut']!='') {
64                        $modif['categorie'] = $GLOBALS['association_metas']['categorie_par_defaut'];
65                }
66                sql_insertq('spip_asso_membres', $modif);
67        }
68}
69
70?>
Note: See TracBrowser for help on using the repository browser.