source: spip-zone/_plugins_/shortcut_url/trunk/formulaires/shortcut_url_export_logs.php @ 96600

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

Optimise export (ajout index sur id pour soulager la requête count)

File size: 2.2 KB
Line 
1<?php
2/**
3 * shortcut_url
4 *
5 * @plugin     shortcut_url
6 * @copyright  2015
7 * @author     cyp
8 * @licence    GNU/GPL
9 * @package    SPIP\formulaires\shortcut_url_export_logs
10 */
11
12/**
13 * Gestion du formulaire d'export des shortcut_url des sites
14 *
15 * @package SPIP\Formulaires
16**/
17if (!defined('_ECRIRE_INC_VERSION')) return;
18
19/**
20 * Chargement du formulaire de configuration du shortcut_url
21 *
22 * @return array
23 *     Environnement du formulaire
24**/
25function formulaires_shortcut_url_export_logs_charger_dist(){
26
27        $valeurs = array();
28        return $valeurs;
29       
30}
31
32/**
33 * Vérifications du formulaire de shortcut_url
34 *
35 * @return array
36 *     Tableau des erreurs
37**/
38function formulaires_shortcut_url_export_logs_verifier_dist(){
39
40        $erreurs = array();
41        return $erreurs;
42
43}
44
45/**
46 * Traitement du formulaire de configuration du shortcut_url
47 *
48 * @return array
49 *     Retours du traitement
50**/
51function formulaires_shortcut_url_export_logs_traiter_dist(){
52
53        include_spip('inc/exporter_csv');
54        $donnees = '';
55        $date = _request('annee').'-'._request('mois');
56        $req = sql_select('DISTINCT id_shortcut_url', 'spip_shortcut_urls_logs', 'DATE(date_modif) like "' . $date . '%" and humain="oui"');
57        foreach ($req as $cle => $valeur) {
58                $id_shortcut_url = sql_select('id_shortcut_url, description, url', 'spip_shortcut_urls', 'id_shortcut_url=' . intval($valeur['id_shortcut_url']));
59                foreach ($id_shortcut_url as $c => $v) {
60                        $count_shortcut_url =  sql_countsel('spip_shortcut_urls_logs', 'id_shortcut_url=' . intval($v['id_shortcut_url']));
61                        $donnees .= $count_shortcut_url . ',';
62                        $donnees .= exporter_csv_ligne($v);
63                }
64        }
65
66        $date_jour = date('Y-m-d_H-i');
67        $nom_fichier_csv = 'shortcut_urls_logs_'.$date_jour.'.csv';
68
69        header('Content-Type: text/csv; charset=utf-8');
70        header("Content-Disposition: attachment; filename=$nom_fichier_csv");
71        header("Content-Length: ".strlen($donnees));
72        header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
73        header('Pragma: public');
74
75        echo _T('shortcut_url:titre_csv_export', array('date' => $date, 'date_jour' => $date_jour)) . "\r\n";
76        echo "nb click,id,description,url\r\n";
77        echo $donnees;
78
79        return array('editable' => false, 'message_ok'=>_T('shortcut_url:config_export_ok'));
80
81}
Note: See TracBrowser for help on using the repository browser.