source: spip-zone/_plugins_/mailsubscribers/branches/v1/action/mailsubscribers_export.php @ 106014

Last change on this file since 106014 was 106014, checked in by erational@…, 3 years ago

[fix] ne pas choisir comme séparateur "-" car le nom des listes peut contenir ce caractère
[fix] sur la requête d'export, être plus restrictif (pour éviter par ex. news1 sorte aussi news123)

File size: 1.4 KB
Line 
1<?php
2/**
3 * Plugin mailsubscribers
4 * (c) 2012 Cédric Morin
5 * Licence GNU/GPL v3
6 */
7
8if (!defined('_ECRIRE_INC_VERSION')) {
9        return;
10}
11
12/**
13 * Exporter la base au format CSV
14 *
15 * @param null|string $args
16 */
17function action_mailsubscribers_export_dist($args = null){
18        if (is_null($args)){
19                $securiser_action = charger_fonction('securiser_action','inc');
20                $args = $securiser_action();
21        }
22
23        if (!autoriser('exporter','_mailsubscribers')){
24                include_spip('inc/minipres');
25                echo minipres();
26                exit;
27        }
28
29        $args = explode("~~", $args);
30        $statut = $args[0];
31        $liste = (isset($args[1])) ? trim($args[1]) : false;
32
33        $where = array();
34        // '' ou 'all' pour tout exporter (sauf poubelle)
35        if (in_array($statut,array('','all'))) {
36                $where[] = "statut<>".sql_quote('poubelle');
37        } else {
38                $where[] = "statut=".sql_quote($statut);
39        }
40
41        if ($liste) {
42                //$where[] = "listes LIKE '%".$liste."%'";
43                $where = array();
44                $where[] = "listes LIKE '%".$liste.",%' OR listes LIKE '%".$liste."' AND statut='valide'";
45        }
46
47        $entetes = array(
48                'email',
49                'nom',
50                'lang',
51                'date',
52                'statut',
53                'listes',
54        );
55
56        $titre = _T('mailsubscriber:titre_mailsubscribers')."-".$GLOBALS['meta']['nom_site']."-".date('Y-m-d');
57        $exporter_csv = charger_fonction("exporter_csv","inc");
58        $res = sql_select("email,nom,lang,date,statut,listes","spip_mailsubscribers",$where);
59        $exporter_csv($titre, $res, ',', $entetes);
60
61}
Note: See TracBrowser for help on using the repository browser.