Interface de gestion des abonnements

This commit is contained in:
Fred Tempez 2024-04-03 18:22:05 +02:00
parent 0eede10300
commit 0b14519567
3 changed files with 111 additions and 71 deletions

View File

@ -143,7 +143,6 @@ class JsonDb extends \Prowebcraft\Dot
public function save() public function save()
{ {
$v = json_encode($this->data, JSON_UNESCAPED_UNICODE | JSON_FORCE_OBJECT ); $v = json_encode($this->data, JSON_UNESCAPED_UNICODE | JSON_FORCE_OBJECT );
// $v = json_encode($this->data, JSON_UNESCAPED_UNICODE | JSON_FORCE_OBJECT);
$l = strlen($v); $l = strlen($v);
$t = 0; $t = 0;
while ($t < 5) { while ($t < 5) {

View File

@ -598,10 +598,48 @@ class common
return file_put_contents(self::DATA_DIR . $path . '/content/' . $page . '.html', $value); return file_put_contents(self::DATA_DIR . $path . '/content/' . $page . '.html', $value);
} }
public function getEnrolment($courseId, $keys =[]) { /**
$data = json_decode(file_get_contents(self::DATA_DIR . $courseId .'.json'), true); * Lire les données des historiques
return $data[$keys[0]]; * @param string courseId
* @param array $keys Clé(s) des données
* @return array tableau demandé
*/
public function getEnrolment($courseId, $keys = [])
{
$data = json_decode(file_get_contents(self::DATA_DIR . $courseId . '/' . 'enrolment.json'), true);
if ($keys === []) {
return $data['enrolment'][$courseId];
} else {
// Récupérer la première clé
$result = $data['enrolment'][$courseId][$keys[0]];
// Parcourir les clés restantes pour naviguer dans la structure
for ($i = 1; $i < count($keys); $i++) {
// Vérifier si la clé existe
if (isset($result[$keys[$i]])) {
// Déplacer le pointeur
$result = $result[$keys[$i]];
} else {
// Si la clé n'existe pas, retourner null
return null;
} }
}
return $result;
}
}
/**
* Ecrire les données de statistiques
* @param string pageId
* @param string contenu de la page
* @return int nombre d'octets écrits ou erreur
*/
public function setEnrolement($courseId, $value)
{
return file_put_contents(self::DATA_DIR . $courseId . '/enrolment.json', json_encode($value, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES));
}
/** /**

View File

@ -43,6 +43,9 @@ if (
unlink(self::DATA_DIR . 'enrolment.json'); unlink(self::DATA_DIR . 'enrolment.json');
$this->setData(['core', 'dataVersion', 1800]); $this->setData(['core', 'dataVersion', 1800]);
} }
$t = $this->getEnrolment(['65d749713a217']); /*
$t = $this->getEnrolment('6571b5913e87e', ['pablorodriguez', 'history', 'les-titres-ou-headers']);
echo"<pre>";
var_dump($t); var_dump($t);
dei(); die();
*/