diff --git a/.gitattributes b/.gitattributes index 01b1070a5f085c64850a1181612974af73e08ac0..7033e4ce1fbb488c17b2aa9204d0ba5716084686 100644 --- a/.gitattributes +++ b/.gitattributes @@ -283,6 +283,9 @@ dist/prive/infos/breve_fonctions.php -text dist/prive/infos/rubrique.html -text dist/prive/infos/site.html -text dist/prive/infos/site_fonctions.php -text +dist/prive/transmettre/signatures_article.html -text +dist/prive/transmettre/statistiques.html -text +dist/prive/transmettre/statistiques_article.html -text dist/puce.gif -text dist/puce_prive.gif -text dist/puce_prive_rtl.gif -text diff --git a/dist/prive/transmettre/signatures_article.html b/dist/prive/transmettre/signatures_article.html new file mode 100644 index 0000000000000000000000000000000000000000..dcb68b32cffa61e06f32cdbd16b7e26d10149ca7 --- /dev/null +++ b/dist/prive/transmettre/signatures_article.html @@ -0,0 +1,9 @@ +#HTTP_HEADER{Content-Type: text/csv; charset=#CHARSET} +#HTTP_HEADER{Content-Disposition: attachment; filename=signature#ID_ARTICLE.csv} +<BOUCLE0(ARTICLES){id_article}><B1>#TOTAL_BOUCLE <:info_signatures:> <:info_pour:> #TITRE; +<:nom:>;<:email:> +<BOUCLE1(SIGNATURES){id_article}{par nom_email}>#NOM_EMAIL;#AD_EMAIL +</BOUCLE1></BOUCLE0> + + + diff --git a/dist/prive/transmettre/statistiques.html b/dist/prive/transmettre/statistiques.html new file mode 100644 index 0000000000000000000000000000000000000000..e6b84fe5400a65a6317ee9bdc90f6765e0aea38f --- /dev/null +++ b/dist/prive/transmettre/statistiques.html @@ -0,0 +1,7 @@ +#HTTP_HEADER{Content-Type: text/csv; charset=#CHARSET} +#HTTP_HEADER{Content-Disposition: attachment; filename=stats-#NOM_SITE_SPIP.csv} +<BOUCLE1(VISITES){par date}>#DATE;#VISITES +</BOUCLE1> + + + diff --git a/dist/prive/transmettre/statistiques_article.html b/dist/prive/transmettre/statistiques_article.html new file mode 100644 index 0000000000000000000000000000000000000000..e5d4a286f2b0e7287b62dfa09dcf6819d17c2998 --- /dev/null +++ b/dist/prive/transmettre/statistiques_article.html @@ -0,0 +1,7 @@ +#HTTP_HEADER{Content-Type: text/csv; charset=#CHARSET} +#HTTP_HEADER{Content-Disposition: attachment; filename=stats-#NOM_SITE_SPIP-#ID_ARTICLE.csv} +<BOUCLE1(VISITES_ARTICLES){id_article}{par date}>#DATE;#VISITES +</BOUCLE1> + + + diff --git a/ecrire/exec/statistiques_visites.php b/ecrire/exec/statistiques_visites.php index a0675e9707c37373e87dc9b5f1b2a9d393ddbfd0..609add02fdb453a1266c96d033880c082950f03a 100644 --- a/ecrire/exec/statistiques_visites.php +++ b/ecrire/exec/statistiques_visites.php @@ -45,23 +45,6 @@ function http_img_rien($width, $height, $class='', $title='') { . (!$title ? '' : (" title=\"$title\""))); } -// pondre les stats sous forme d'un fichier csv tres basique -// http://doc.spip.org/@statistiques_csv -function statistiques_csv($id) { - - $filename = 'stats_'.($id ? 'article'.$id : 'total').'.csv'; - header('Content-Type: text/csv'); - header('Content-Disposition: attachment; filename='.$filename); - - if ($id) - $s = sql_select("date, visites", "spip_visites_articles", "id_article=$id", "", "date"); - else - $s = sql_select("date, visites", "spip_visites", "", "", "date"); - while ($t = sql_fetch($s)) { - echo $t['date'].";".$t['visites']."\n"; - } -} - // http://doc.spip.org/@exec_statistiques_visites_dist function exec_statistiques_visites_dist() { @@ -74,12 +57,20 @@ function exec_statistiques_visites_dist() if ($limit == 0) $limit = 100; if (!autoriser('voirstats', $id_article ? 'article':'', $id_article)) { - include_spip('inc/minipres'); - echo minipres(); + include_spip('inc/minipres'); + echo minipres(); } else { - if (_request('format') == 'csv') - statistiques_csv($id_article); - else exec_statistiques_visites_args($id_article, $aff_jours, $limit); + if (_request('format') != 'csv') + exec_statistiques_visites_args($id_article, $aff_jours, $limit); + else { + include_spip('public/assembler'); + $fond = 'prive/transmettre/' + . (_request('table')=='visites' ? 'statistiques' : 'signatures'); + if (!$id_article) + $page = envoyer_page($fond, array()); + else envoyer_page($fond . "_article", + array('id_article' => $id_article)); + } } } @@ -226,7 +217,6 @@ function exec_statistiques_visites_args($id_article, $aff_jours, $limit) echo debut_droite('', true); - $mode = statistiques_mode(self()); if ($id_article) { $table = "spip_visites_articles"; $table_ref = "spip_referers_articles"; @@ -256,11 +246,11 @@ function exec_statistiques_visites_args($id_article, $aff_jours, $limit) echo statistiques_par_mois(sql_select("FROM_UNIXTIME(UNIX_TIMESTAMP(date),'%Y-%m') AS date_unix, SUM(visites) AS total_visites", $table, "$where AND date > DATE_SUB(NOW(),INTERVAL 2700 DAY)", 'date_unix', "date"), $last); } - echo fin_cadre_relief(true), $mode; + echo fin_cadre_relief(true), statistiques_mode('visites'); } if ($id_article AND $n = sql_countsel('spip_signatures', "id_article=$id_article")) { - echo statistiques_signatures($aff_jours, $id_article, $mode, $n); + echo statistiques_signatures($aff_jours, $id_article, statistiques_mode('signatures'), $n); } $r = sql_select("referer, referer_md5, visites AS vis", $table_ref, $where, "", "vis DESC", $limit); @@ -439,7 +429,7 @@ function statistiques_tous($log, $date_premier, $last, $total_absolu, $val_popul // Le bouton pour CSV et pour passer de svg a htm // http://doc.spip.org/@statistiques_mode -function statistiques_mode($lui) +function statistiques_mode($table) { if (flag_svg()) { $lien = 'non'; $alter = 'HTML'; @@ -447,10 +437,15 @@ function statistiques_mode($lui) $lien = 'oui'; $alter = 'SVG'; } + $lui = self(); + $csv = parametre_url(parametre_url($lui, 'table', $table), 'format', 'csv'); + return "\n<div style='text-align:".$GLOBALS['spip_lang_right'] . ";' class='verdana1 spip_x-small'>" - . "<a href='". parametre_url($lui, 'var_svg', $lien)."'>$alter</a>" - . " | <a href='" - . parametre_url($lui, 'format', 'csv')."'>CSV</a>" + . "<a href='". parametre_url($lui, 'var_svg', $lien)."'>" + . $alter + . "</a> | <a href='" + . $csv + . "'>CSV</a>" . "</div>\n"; } diff --git a/ecrire/public/assembler.php b/ecrire/public/assembler.php index 1447327e1146e0e6014726a25191be94bb81e231..9e38c591caec0109f6e7fb2c26984021971eae55 100644 --- a/ecrire/public/assembler.php +++ b/ecrire/public/assembler.php @@ -110,6 +110,18 @@ function public_assembler_dist($fond, $connect='') { return assembler_page ($fond, $connect); } +// fonction pour l'envoi de fichier +function envoyer_page($fond, $contexte) +{ + $page = inclure_page($fond, $contexte); + if (!is_array($page['entetes'])) { + include_spip('inc/headers'); + redirige_par_entete(generer_url_public('404')); + } + envoyer_entetes($page['entetes']); + echo $page['texte']; +} + // Envoyer les entetes, en retenant ceux qui sont a usage interne // et demarrent par X-Spip-... function envoyer_entetes($entetes) {