From b3a2d7bc32903cbee4b5510606b3f44e537b6654 Mon Sep 17 00:00:00 2001 From: Florian Sylvain Date: Sun, 9 Jan 2022 23:12:00 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20There=20are=20now=20fields=20name?= =?UTF-8?q?=20in=20list=20results?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ProjetProgWeb/app.js | 17 ++++++++--------- ProjetProgWeb/class/dump.php | 28 +++++++++++++++++++++++++--- 2 files changed, 33 insertions(+), 12 deletions(-) diff --git a/ProjetProgWeb/app.js b/ProjetProgWeb/app.js index 10cd851..4fea705 100644 --- a/ProjetProgWeb/app.js +++ b/ProjetProgWeb/app.js @@ -187,12 +187,12 @@ function displayResults(results, aCount) { let header = document.createElement('div') - let qTitle = elem[2] + let qTitle = elem["Titre"] let title = document.createElement('h3') let pre_replacement = new RegExp(searchString, 'gi').exec(qTitle) title.innerHTML = qTitle.replace(pre_replacement, `${pre_replacement}`) - let qAuthor = elem[0] + let qAuthor = elem["Auteur"] let author = document.createElement('p') pre_replacement = new RegExp(searchString, 'gi').exec(qAuthor) author.innerHTML = qAuthor.replace(pre_replacement, `${pre_replacement}`) @@ -202,7 +202,7 @@ function displayResults(results, aCount) { let onlineButton = document.createElement('button') onlineButton.innerHTML = "" - if (elem[14] === 'no') { + if (elem["En ligne"] === 'no') { onlineButton.disabled = true } else { onlineButton.onclick = function () { @@ -216,15 +216,14 @@ function displayResults(results, aCount) { let content = document.createElement('div') content.classList.add('element-content') - elem.forEach(e => { - if (i > 3 && i !== 14) { + for (const [key, value] of Object.entries(elem)) { + if (key !== "Auteur" && key !== "Titre" && key !== "En ligne") { let child = document.createElement('p') - let pre_replacement = new RegExp(searchString, 'gi').exec(e) - child.innerHTML = e.replace(pre_replacement, `${pre_replacement}`) + let pre_replacement = new RegExp(searchString, 'gi').exec(value) + child.innerHTML = `${key}
` + value.replace(pre_replacement, `${pre_replacement}`) content.appendChild(child) } - i += 1 - }) + } header.addEventListener('click', () => { focusResults(result) diff --git a/ProjetProgWeb/class/dump.php b/ProjetProgWeb/class/dump.php index c8293ca..9c19d3c 100644 --- a/ProjetProgWeb/class/dump.php +++ b/ProjetProgWeb/class/dump.php @@ -16,6 +16,28 @@ class dump { return date("Y-m-d", strtotime($old_date)); } + public static function convertDBname($name) : string { + return array( + "author" => "Auteur", + "id_author" => "ID Auteur", + "title" => "Titre", + "these_director" => "Directeur", + "these_director_name_lastname" => "Directeur (nom-prenom)", + "id_director" => "ID Directeur", + "soutenance_establishment" => "Établissement soutenance", + "id_establishment" => "ID Établissement", + "discipline" => "Discipline", + "status" => "Statut", + "date_first_registration" => "Date d'enregistrement", + "date_soutenance" => "Date soutenance", + "language" => "Langue", + "id_these" => "ID Thèse", + "online" => "En ligne", + "date_publication" => "Date publication", + "date_update" => "Date dernière mise à jour" + )[$name]; + } + public static function getTheses(string $search, string $option, int $offset) : array { $theses_array = []; @@ -47,10 +69,10 @@ class dump { $i = 0; while ($obj = $stmt->fetchObject()) { - $theses_array[$i] = array(); - foreach ($obj as $elem) { + $theses_array[] = array(); + foreach ($obj as $key=>$value) { // TODO Mettre le nom du champ à la place du vide - $theses_array[$i][] = empty($elem) ? "Non définit" : $elem; + $theses_array[$i][dump::convertDBname($key)] = empty($value) ? "Non définit" : $value; } $i++; }