fonction update à tester

This commit is contained in:
Fred Tempez 2024-04-11 15:46:42 +02:00
parent 6a72676c7c
commit c0d14596a7

View File

@ -26,39 +26,21 @@ if (
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 la structure pour écrire dans les fichiers CSV
foreach ($this->getData(['enrolment']) as $courseId => $users) {
$filename = self::DATA_DIR . $courseId . '/report.csv';
$fp = fopen($filename, 'w');
// Parcourir les données
foreach ($data as $name => $userData) {
foreach ($userData as $pageId => $timestamps) {
foreach ($users as $userId => $userData) {
$history = $userData['history'];
foreach ($history as $pageId => $timestamps) {
foreach ($timestamps as $timestamp) {
// Écrire chaque ligne dans le fichier CSV
fputcsv($file, array($name, $pageId, $timestamp), ';');
fputcsv($fp, [$userId, $pageId, $timestamp]);
}
}
}
// Fermer le fichier
fclose($file);
fclose($fp);
}
//$this->setData(['core', 'dataVersion', 1800]);
}