source: spip-zone/_plugins_/encarts/branches/v1.3/encarts_pipelines.php

Last change on this file was 76991, checked in by cyril@…, 8 years ago

on déplace tout vers branches/v1.3;

File size: 1.8 KB
Line 
1<?php
2/*
3 * Plugin Encarts
4 * (c) 2011 Camille Lafitte, Cyril Marion
5 * Avec l'aide de Matthieu Marcillaud
6 * Distribue sous licence GPL
7 *
8 */
9
10
11function encarts_afficher_fiche_objet($flux) {
12
13
14        // si on est sur la page ?exec=articles on affiche le bouton et/ou le bloc encarts
15        if ($flux['args']['type'] == 'article' AND $id_article = $flux['args']['id']) {
16       
17               
18                // a corriger $_GET... trop permissif
19                $contexte = $_GET;
20                $flux['data'] .= recuperer_fond('prive/boite/encarts_article', $contexte, array('ajax'=>true));
21
22        }
23
24        return $flux;
25}
26
27if (!defined('_TYPES_ENCARTS')) {
28        define('_TYPES_ENCARTS', 'encart|marge');
29}
30
31/**
32 * Traiter les textes contenant des <encart> .... </encart>
33 * ou des <marge>...</marge>
34 * en les remplaçant par un span...
35 *
36 * @param string $texte à analyser
37 * @return texte modifié
38**/
39function encarts_pre_propre($texte) {
40        if (false !== strpos($texte, '<')) {
41                if (preg_match_all(',<(' . _TYPES_ENCARTS . ')>(.*?)</\1>,is', $texte, $regs, PREG_SET_ORDER)) {
42                        foreach ($regs as $reg) {
43                                $css = 'encart';
44                                if ($reg[1] != 'encart') {
45                                        $css .= " " . $reg[1];
46                                }
47                                $texte = str_replace($reg[0], "<span class='$css'>".$reg[2]."</span>", $texte);
48                        }
49                }
50        }
51        return $texte;
52}
53
54/**
55 * Mettre les vu=oui lorsque l'on met un modèle
56 * d'encart dans un texte.
57 *
58**/
59function encarts_post_edition($flux) {
60        if (!in_array($flux['args']['type'], array('forum','signature'))) {
61                $marquer_doublons_encart = charger_fonction('marquer_doublons_encart', 'inc');
62                $marquer_doublons_encart($flux['data'],$flux['args']['id_objet'],$flux['args']['type'],id_table_objet($flux['args']['type'], $flux['args']['serveur']),$flux['args']['table_objet'],$flux['args']['spip_table_objet'], '', $flux['args']['serveur']);
63        }
64        return $flux;
65}
66?>
Note: See TracBrowser for help on using the repository browser.