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 | |
---|
12 | if (!defined("_ECRIRE_INC_VERSION")) return; |
---|
13 | |
---|
14 | function 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 | |
---|
22 | function update_spip_asso_membre($id_auteur) |
---|
23 | { |
---|
24 | $auteur = sql_fetsel('statut, nom', 'spip_auteurs', "id_auteur=$id_auteur"); |
---|
25 | |
---|
26 | 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 */ |
---|
27 | if (sql_getfetsel('id_auteur', 'spip_asso_membres', "id_auteur=$id_auteur")) { |
---|
28 | sql_updateq('spip_asso_membres', array('statut_interne' => 'sorti'), "id_auteur=$id_auteur"); |
---|
29 | } |
---|
30 | return; |
---|
31 | } |
---|
32 | |
---|
33 | $modif = array(); |
---|
34 | |
---|
35 | /* on recupere les noms et prenoms dans le champ nom de l'auteur SPIP */ |
---|
36 | $nom = $auteur['nom']; |
---|
37 | if ($nom) { |
---|
38 | /* selection du format d'import du champ non */ |
---|
39 | if ($GLOBALS['association_metas']['import_nom_auteur'] == "prenom_nom") { |
---|
40 | list($prenom, $nom) = preg_split('/\s+/', $nom, 2); |
---|
41 | if (!$nom) {/* il n'y avait qu'une seule chaine -> on la met dans le nom et le prenom reste vide */ |
---|
42 | $nom = $prenom; |
---|
43 | $prenom = ''; |
---|
44 | } |
---|
45 | } elseif ($GLOBALS['association_metas']['import_nom_auteur'] == "nom") { |
---|
46 | $prenom = ''; |
---|
47 | } else { // defaut: format nom prenom |
---|
48 | list($nom, $prenom) = preg_split('/\s+/', $nom, 2); /* il faudrait aussi gerer le cas ou le nom de famille contient un espace */ |
---|
49 | } |
---|
50 | } |
---|
51 | else {$nom = _T('asso:activite_entete_adherent').' '.$id_auteur; $prenom = '';} /* si il est vide, le nom sera Adherents XX */ |
---|
52 | |
---|
53 | |
---|
54 | /* 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 */ |
---|
55 | $membre = sql_fetsel('id_auteur,statut_interne', 'spip_asso_membres', "id_auteur=$id_auteur"); |
---|
56 | if ($membre['id_auteur']) { |
---|
57 | if ($membre['statut_interne'] == 'sorti') { |
---|
58 | $modif['statut_interne'] = 'prospect'; /* si un auteur est edite mais correspond a un membre sorti, on le repasse en prospect */ |
---|
59 | sql_updateq('spip_asso_membres', $modif, "id_auteur=$id_auteur"); |
---|
60 | } |
---|
61 | } else { /* sinon on l'ajoute avec comme statut par defaut prospect */ |
---|
62 | $modif['nom_famille'] = $nom; |
---|
63 | $modif['prenom'] = $prenom; |
---|
64 | $modif['statut_interne'] = 'prospect'; |
---|
65 | $modif['id_auteur'] = $id_auteur; |
---|
66 | sql_insertq('spip_asso_membres', $modif); |
---|
67 | } |
---|
68 | } |
---|
69 | |
---|
70 | function telephone_std($num) |
---|
71 | { |
---|
72 | $num = preg_replace('/\D/', '', $num); |
---|
73 | if ($num AND strlen($num) < 10) $num = '0'.$num; |
---|
74 | $num = preg_replace('/(\d\d)/', '\1 ', $num); |
---|
75 | return rtrim($num); |
---|
76 | } |
---|
77 | ?> |
---|