source: spip-zone/_plugins_/newsletters/newsletters_pipelines.php @ 68171

Last change on this file since 68171 was 68171, checked in by cedric@…, 8 years ago

action fixer_newsletter qui fixe les elements volatiles de la newsletter
par exemple : images de local/ copiee dans IMG/nl/xx/
Lorsque la newsletter est publiee, on appelle cette action fixer_newsletter

+ un filtre newsletter_fixer_image utilisable depuis le squelette de newsletter (filtre unipotent)

File size: 1.4 KB
Line 
1<?php
2/**
3 * Plugin Newsletters
4 * (c) 2012 Cedric Morin
5 * Licence GNU/GPL
6 */
7
8if (!defined('_ECRIRE_INC_VERSION')) return;
9
10
11
12/**
13 * Quand une newsletter est publiee fixer les images dans un dossier IMG/nl/xx/
14 * pour ne jamais perdre les images temporaires
15 *
16 * @param $flux
17 * @return mixed
18 */
19function newsletters_pre_edition($flux){
20        if ($flux['args']['table']=='spip_newsletters'
21          AND $flux['args']['action']=='instituer'
22          AND $id_newsletter = $flux['args']['id_objet']
23          AND $statut_ancien = $flux['args']['statut_ancien']
24          AND isset($flux['data']['statut'])
25          AND $statut = $flux['data']['statut']
26          AND $statut != $statut_ancien
27          AND ($statut=='publie')){
28
29                // generer une version a jour (ne fera rien si deja cuite)
30                $generer_newsletter = charger_fonction("generer_newsletter","action");
31                $generer_newsletter($id_newsletter);
32
33                // fixer les images et autre
34                $fixer_newsletter = charger_fonction("fixer_newsletter","action");
35                $fixer_newsletter($id_newsletter);
36
37                $flux['data']['baked'] = 1;
38        }
39
40        return $flux;
41}
42
43
44/**
45 * Optimiser la base de donnees en supprimant les liens orphelins
46 * de l'objet vers quelqu'un et de quelqu'un vers l'objet.
47 *
48 * @param array $flux
49 * @return array
50 */
51function newsletters_optimiser_base_disparus($flux){
52        include_spip('action/editer_liens');
53        $flux['data'] += objet_optimiser_liens(array('newsletter'=>'*'),'*');
54        return $flux;
55}
56
57?>
Note: See TracBrowser for help on using the repository browser.