source: spip-zone/_plugins_/joindre_auto_zone/trunk/jaz_pipelines.php @ 76576

Last change on this file since 76576 was 76576, checked in by marcimat@…, 6 years ago

On change de pipeline en SPIP 3 : on utilise «post_insertion» pour savoir qu'un auteur a été créé. Ça simplifie grandement.

File size: 1.5 KB
Line 
1<?php
2/**
3 * JAZ - Joindre Automatiquement une Zone
4 * Cyril MARION (c)2012 GPL
5 *
6 */
7
8if (!defined("_ECRIRE_INC_VERSION")) return;
9
10
11/**
12 * Détecter la création d'un nouvel auteur l'ajouter aux zones restreintes automatiques
13 *
14 * @param array $flux
15 * @return array
16 */
17function jaz_post_insertion($flux)
18{
19        if ($flux['args']['table'] == 'spip_auteurs'
20                and $id_auteur = $flux['args']['id_auteur'])
21        {
22                // On ajoute cet auteur aux zones
23                jaz_ajouter_auteur_zones($id_auteur);
24        }
25
26        return $flux;
27}
28
29
30
31/**
32 * Chercher les zones automatiques à joindre et ajouter l'auteur à ces zones
33 *
34 * Les zones peuvent être indiquées soit :
35 * - par la constante `_ZONES_AUTO_JOINTES` (dans `mes_options.php` par exemple)
36 *   tel que `define('_ZONES_AUTO_JOINTES', '2:4')` où 2 et 4 sont des identifiants de zone
37 * - soit, à défaut de constante, par les zones indiquées dans le formulaire de configuration
38 *   du plugin (meta `jaz/zones_automatiques`).
39 *
40 * @param int $id_auteur Identifiant d'auteur
41 */
42function jaz_ajouter_auteur_zones($id_auteur)
43{
44
45        // On cherche les Zones Auto Jointes :
46        if (defined('_ZONES_AUTO_JOINTES')) {
47                $zones = explode(':', _ZONES_AUTO_JOINTES);
48        } else {
49                include_spip('inc/config');
50                $zones = explode(',', lire_config('jaz/zones_automatiques'));
51        }
52
53        if ($zones) {
54                include_spip('action/editer_zone');
55                zone_lier($zones, 'auteur', $id_auteur);
56                spip_log('Auteur ' . $id_auteur . ' ajouté aux zones : ' . implode(', ', $zones), 'jaz');
57        }
58
59}
60
61?>
Note: See TracBrowser for help on using the repository browser.