forked from ZwiiCMS-Team/ZwiiCampus
64 lines
2.4 KiB
PHP
64 lines
2.4 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Mises à jour suivant les versions de ZwiiCampus
|
|
*/
|
|
|
|
|
|
if (
|
|
$this->getData(['core', 'dataVersion']) < 1700
|
|
) {
|
|
// Supprime la variable path des profils, seul l'accès à l'espace et autorisé.
|
|
foreach (['1', '2'] as $group) {
|
|
foreach ( array_keys($this->getData(['profil', $group])) as $profil) {
|
|
if (is_null($this->getData(['profil', $group, $profil, 'folder', 'path'])) === false) {
|
|
$path = $this->getData(['profil', $group, $profil, 'folder', 'path']);
|
|
$this->setData(['profil', $group, $profil, 'folder', 'homePath', $path]);
|
|
$this->setData(['profil', $group, $profil, 'folder', 'coursePath', $path]);
|
|
$this->deleteData(['profil', $group, $profil, 'folder', 'path']);
|
|
}
|
|
}
|
|
}
|
|
$this->setData(['core', 'dataVersion', 1700]);
|
|
}
|
|
|
|
|
|
if (
|
|
$this->getData(['core', 'dataVersion']) < 1800
|
|
) {
|
|
// Déplace les historiques dans les dossiers des esapaces
|
|
// Parcourir les espaces
|
|
foreach ($this->getData(['course']) as $courseId => $courseValues) {
|
|
$data = [];
|
|
//Parcourir les participants
|
|
foreach ($this->getData(['user']) as $userId => $userValues) {
|
|
// Un historique existe pour ce participant
|
|
$report = $this->getData(['enrolment', $courseId, $userId, 'history']);
|
|
if ( is_array($report)
|
|
) {
|
|
// Ecriture dans un fichier report dans le dossier de l'espace
|
|
$data[$userId] = array_merge($data, [$userId => $report]);
|
|
// Nettoyage du fichier des inscriptions
|
|
// Ce fichier ne contient que l'id du participant et de la date et de l'id de la dernière page vue
|
|
// $this->deleteData(['enrolment', $courseId, $userId, 'history']);
|
|
}
|
|
}
|
|
// Stocke le rapport en CSV
|
|
$file = fopen(self::DATA_DIR . $courseId . '/report.csv', 'w');
|
|
|
|
// Parcourir les données
|
|
foreach ($data as $name => $userData) {
|
|
foreach ($userData as $pageId => $timestamps) {
|
|
foreach ($timestamps as $timestamp) {
|
|
// Écrire chaque ligne dans le fichier CSV
|
|
fputcsv($file, array($name, $pageId, $timestamp), ';');
|
|
}
|
|
}
|
|
}
|
|
|
|
// Fermer le fichier
|
|
fclose($file);
|
|
}
|
|
//$this->setData(['core', 'dataVersion', 1800]);
|
|
|
|
} |