source: spip-zone/_plugins_/encarts/trunk/encarts_pipelines.php @ 100130

Last change on this file since 100130 was 100130, checked in by teddy.spip@…, 5 years ago

Formatage de code.

File size: 1.6 KB
Line 
1<?php
2/**
3 * Utilisations de pipelines par encarts
4 *
5 * @plugin     encarts
6 * @copyright  2013-2016
7 * @author     Cyril
8 * @licence    GNU/GPL
9 * @package    SPIP\Encarts\Pipelines
10 */
11
12if (!defined('_ECRIRE_INC_VERSION')) {
13        return;
14}
15
16/*
17 * Un fichier de pipelines permet de regrouper
18 * les fonctions de branchement de votre plugin
19 * sur des pipelines existants.
20 */
21
22/**
23 * Ajout de contenu sur certaines pages,
24 * notamment des formulaires de liaisons entre objets
25 *
26 * @pipeline affiche_milieu
27 *
28 * @param  array $flux Données du pipeline
29 *
30 * @return array       Données du pipeline
31 */
32function encarts_affiche_milieu($flux) {
33        $texte = "";
34        $e = trouver_objet_exec($flux['args']['exec']);
35
36        // encarts sur les articles
37        if (!$e['edition'] AND in_array($e['type'], array('article'))) {
38                $texte .= recuperer_fond('prive/objets/editer/liens', array(
39                        'table_source' => 'encarts',
40                        'objet' => $e['type'],
41                        'id_objet' => $flux['args'][$e['id_table_objet']],
42                ));
43        }
44
45        if ($texte) {
46                if ($p = strpos($flux['data'], "<!--affiche_milieu-->")) {
47                        $flux['data'] = substr_replace($flux['data'], $texte, $p, 0);
48                } else {
49                        $flux['data'] .= $texte;
50                }
51        }
52
53        return $flux;
54}
55
56/**
57 * Optimiser la base de données en supprimant les liens orphelins
58 * de l'objet vers quelqu'un et de quelqu'un vers l'objet.
59 *
60 * @pipeline optimiser_base_disparus
61 *
62 * @param  array $flux Données du pipeline
63 *
64 * @return array       Données du pipeline
65 */
66function encarts_optimiser_base_disparus($flux) {
67        include_spip('action/editer_liens');
68        $flux['data'] += objet_optimiser_liens(array('encart' => '*'), '*');
69
70        return $flux;
71}
Note: See TracBrowser for help on using the repository browser.