Stats en cours
This commit is contained in:
parent
5fda899e88
commit
af94b2e5bc
@ -27,6 +27,7 @@ class download extends common {
|
|||||||
'config' => self::GROUP_MODERATOR,
|
'config' => self::GROUP_MODERATOR,
|
||||||
'delete' => self::GROUP_MODERATOR,
|
'delete' => self::GROUP_MODERATOR,
|
||||||
'edit' => self::GROUP_MODERATOR,
|
'edit' => self::GROUP_MODERATOR,
|
||||||
|
'stats' => self::GROUP_MODERATOR,
|
||||||
'index' => self::GROUP_VISITOR,
|
'index' => self::GROUP_VISITOR,
|
||||||
'rss' => self::GROUP_VISITOR,
|
'rss' => self::GROUP_VISITOR,
|
||||||
'downloadFile' => self::GROUP_VISITOR
|
'downloadFile' => self::GROUP_VISITOR
|
||||||
@ -426,7 +427,6 @@ class download extends common {
|
|||||||
}
|
}
|
||||||
// Nombre de téléchargements
|
// Nombre de téléchargements
|
||||||
$stats = helper::arrayCollumn($this->getData(['module', $this->getUrl(0), 'items', $itemIds[$i],'fileStats']), 'time');
|
$stats = helper::arrayCollumn($this->getData(['module', $this->getUrl(0), 'items', $itemIds[$i],'fileStats']), 'time');
|
||||||
|
|
||||||
// Met en forme le tableau
|
// Met en forme le tableau
|
||||||
$date = mb_detect_encoding(strftime('%d %B %Y', $this->getData(['module', $this->getUrl(0), 'items', $itemIds[$i], 'fileDate'])), 'UTF-8', true)
|
$date = mb_detect_encoding(strftime('%d %B %Y', $this->getData(['module', $this->getUrl(0), 'items', $itemIds[$i], 'fileDate'])), 'UTF-8', true)
|
||||||
? strftime('%d %B %Y', $this->getData(['module', $this->getUrl(0), 'items', $itemIds[$i], 'fileDate']))
|
? strftime('%d %B %Y', $this->getData(['module', $this->getUrl(0), 'items', $itemIds[$i], 'fileDate']))
|
||||||
@ -440,7 +440,7 @@ class download extends common {
|
|||||||
'</a>',
|
'</a>',
|
||||||
$this->getData(['module', $this->getUrl(0), 'items', $itemIds[$i], 'fileVersion']),
|
$this->getData(['module', $this->getUrl(0), 'items', $itemIds[$i], 'fileVersion']),
|
||||||
$date .' à '. $heure,
|
$date .' à '. $heure,
|
||||||
count($stats),
|
'<a href="' . helper::baseurl() . $this->getUrl(0) . '/stats/' . $itemIds[$i] . '" >' . count($stats) . '</a>',
|
||||||
self::$states[$this->getData(['module', $this->getUrl(0), 'items', $itemIds[$i], 'state'])],
|
self::$states[$this->getData(['module', $this->getUrl(0), 'items', $itemIds[$i], 'state'])],
|
||||||
// Bouton pour afficher les commentaires de l'item
|
// Bouton pour afficher les commentaires de l'item
|
||||||
template::button('downloadConfigComment' . $itemIds[$i], [
|
template::button('downloadConfigComment' . $itemIds[$i], [
|
||||||
@ -771,6 +771,7 @@ class download extends common {
|
|||||||
* Initie un téléchargement protégé
|
* Initie un téléchargement protégé
|
||||||
*/
|
*/
|
||||||
public function downloadFile() {
|
public function downloadFile() {
|
||||||
|
|
||||||
if($this->getData(['module', $this->getUrl(0), 'items', $this->getUrl(2)]) === null) {
|
if($this->getData(['module', $this->getUrl(0), 'items', $this->getUrl(2)]) === null) {
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
@ -825,5 +826,64 @@ class download extends common {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ecran de consultation des données statistiques
|
||||||
|
*/
|
||||||
|
|
||||||
|
public function stats() {
|
||||||
|
// Soumission du formulaire
|
||||||
|
if($this->isPost()) {
|
||||||
|
// Jeton incorrect
|
||||||
|
if ($this->getUrl(3) !== $_SESSION['csrf']) {
|
||||||
|
// Valeurs en sortie
|
||||||
|
$this->addOutput([
|
||||||
|
'redirect' => helper::baseUrl() . $this->getUrl(0) . '/config',
|
||||||
|
'notification' => 'Action non autorisée'
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
// L'item n'existe pas
|
||||||
|
if($this->getData(['module', $this->getUrl(0), 'items', $this->getUrl(2)]) === null) {
|
||||||
|
// Valeurs en sortie
|
||||||
|
$this->addOutput([
|
||||||
|
'access' => false
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Construction de la page des statistiques
|
||||||
|
// Ids des items par ordre de publication
|
||||||
|
|
||||||
|
$itemIds = array_keys($this->getData(['module', $this->getUrl(0), 'items', $this->getUrl(2), 'fileStats']));
|
||||||
|
// Pagination
|
||||||
|
$pagination = helper::pagination($itemIds, $this->getUrl(),$this->getData(['config','itemsperPage']));
|
||||||
|
|
||||||
|
// Liste des pages
|
||||||
|
self::$pages = $pagination['pages'];
|
||||||
|
|
||||||
|
for($i = $pagination['first']; $i < $pagination['last']; $i++) {
|
||||||
|
|
||||||
|
// Format des variables
|
||||||
|
|
||||||
|
echo $this->getData(['module', $this->getUrl(0), 'items', $this->getUrl(2), 'fileStats', $itemIds[$i], 'fileDate']);
|
||||||
|
|
||||||
|
$date = mb_detect_encoding(strftime('%d %B %Y', $this->getData(['module', $this->getUrl(0), 'items', $this->getUrl(2), 'fileStats', $itemIds[$i], 'fileDate'])), 'UTF-8', true)
|
||||||
|
? strftime('%d %B %Y',$this->getData(['module', $this->getUrl(0), 'items', $this->getUrl(2), 'fileStats', $itemIds[$i], 'fileDate']))
|
||||||
|
: utf8_encode(strftime('%d %B %Y', $this->getData(['module', $this->getUrl(0), 'items', $this->getUrl(2), 'fileStats', $itemIds[$i], 'fileDate'])));
|
||||||
|
|
||||||
|
// Met en forme le tableau
|
||||||
|
self::$items[] = [
|
||||||
|
$date,
|
||||||
|
$this->getData(['module', $this->getUrl(0), 'items', $itemIds[$i], 'fileStats', 'ip'])
|
||||||
|
];
|
||||||
|
|
||||||
|
}
|
||||||
|
die();
|
||||||
|
// Valeurs en sortie
|
||||||
|
$this->addOutput([
|
||||||
|
'title' => 'Statistiques de téléchargement',
|
||||||
|
'view' => 'stats'
|
||||||
|
]);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
18
module/download/view/stats/stats.css
Normal file
18
module/download/view/stats/stats.css
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
/**
|
||||||
|
* This file is part of Zwii.
|
||||||
|
*
|
||||||
|
* For full copyright and license information, please see the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*
|
||||||
|
* @author Rémi Jean <remi.jean@outlook.com>
|
||||||
|
* @copyright Copyright (C) 2008-2018, Rémi Jean
|
||||||
|
* @author Frédéric Tempez <frederic.tempez@outlook.com>
|
||||||
|
* @copyright Copyright (C) 2018-2020, Frédéric Tempez
|
||||||
|
* @license GNU General Public License, version 3
|
||||||
|
* @link http://zwiicms.fr/
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/** NE PAS EFFACER
|
||||||
|
* admin.css
|
||||||
|
*/
|
31
module/download/view/stats/stats.php
Normal file
31
module/download/view/stats/stats.php
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
<?php echo template::formOpen('statsConfig'); ?>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col2">
|
||||||
|
<?php echo template::button('statsConfigBack', [
|
||||||
|
'class' => 'buttonGrey',
|
||||||
|
'href' => helper::baseUrl() . 'page/edit/' . $this->getUrl(0), 'items',
|
||||||
|
'ico' => 'left',
|
||||||
|
'value' => 'Retour'
|
||||||
|
]); ?>
|
||||||
|
</div>
|
||||||
|
<div class="col2 offset6">
|
||||||
|
<?php echo template::button('statsConfigAdd', [
|
||||||
|
'href' => helper::baseUrl() . $this->getUrl(0) . '/add',
|
||||||
|
'ico' => 'plus',
|
||||||
|
'value' => 'Item'
|
||||||
|
]); ?>
|
||||||
|
</div>
|
||||||
|
<div class="col2">
|
||||||
|
<?php echo template::submit('statsConfigSubmit'); ?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<?php echo template::formClose(); ?>
|
||||||
|
<?php if($module::$items): ?>
|
||||||
|
<?php echo template::table([6, 6], $module::$items, ['Date', 'Adresse IP']); ?>
|
||||||
|
<?php echo $module::$pages; ?>
|
||||||
|
<?php else: ?>
|
||||||
|
<?php echo template::speech('Aucun item.'); ?>
|
||||||
|
<?php endif; ?>
|
||||||
|
<div class="moduleVersion">Version n°
|
||||||
|
<?php echo $module::VERSION; ?>
|
||||||
|
</div>
|
Loading…
Reference in New Issue
Block a user