There are now fields name in list results

This commit is contained in:
Florian Sylvain
2022-01-09 23:12:00 +01:00
parent 71251db1a1
commit b3a2d7bc32
2 changed files with 33 additions and 12 deletions
+8 -9
View File
@@ -187,12 +187,12 @@ function displayResults(results, aCount) {
let header = document.createElement('div') let header = document.createElement('div')
let qTitle = elem[2] let qTitle = elem["Titre"]
let title = document.createElement('h3') let title = document.createElement('h3')
let pre_replacement = new RegExp(searchString, 'gi').exec(qTitle) let pre_replacement = new RegExp(searchString, 'gi').exec(qTitle)
title.innerHTML = qTitle.replace(pre_replacement, `<mark>${pre_replacement}</mark>`) title.innerHTML = qTitle.replace(pre_replacement, `<mark>${pre_replacement}</mark>`)
let qAuthor = elem[0] let qAuthor = elem["Auteur"]
let author = document.createElement('p') let author = document.createElement('p')
pre_replacement = new RegExp(searchString, 'gi').exec(qAuthor) pre_replacement = new RegExp(searchString, 'gi').exec(qAuthor)
author.innerHTML = qAuthor.replace(pre_replacement, `<mark>${pre_replacement}</mark>`) author.innerHTML = qAuthor.replace(pre_replacement, `<mark>${pre_replacement}</mark>`)
@@ -202,7 +202,7 @@ function displayResults(results, aCount) {
let onlineButton = document.createElement('button') let onlineButton = document.createElement('button')
onlineButton.innerHTML = "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><path d=\"M12 0c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm1 16.057v-3.057h2.994c-.059 1.143-.212 2.24-.456 3.279-.823-.12-1.674-.188-2.538-.222zm1.957 2.162c-.499 1.33-1.159 2.497-1.957 3.456v-3.62c.666.028 1.319.081 1.957.164zm-1.957-7.219v-3.015c.868-.034 1.721-.103 2.548-.224.238 1.027.389 2.111.446 3.239h-2.994zm0-5.014v-3.661c.806.969 1.471 2.15 1.971 3.496-.642.084-1.3.137-1.971.165zm2.703-3.267c1.237.496 2.354 1.228 3.29 2.146-.642.234-1.311.442-2.019.607-.344-.992-.775-1.91-1.271-2.753zm-7.241 13.56c-.244-1.039-.398-2.136-.456-3.279h2.994v3.057c-.865.034-1.714.102-2.538.222zm2.538 1.776v3.62c-.798-.959-1.458-2.126-1.957-3.456.638-.083 1.291-.136 1.957-.164zm-2.994-7.055c.057-1.128.207-2.212.446-3.239.827.121 1.68.19 2.548.224v3.015h-2.994zm1.024-5.179c.5-1.346 1.165-2.527 1.97-3.496v3.661c-.671-.028-1.329-.081-1.97-.165zm-2.005-.35c-.708-.165-1.377-.373-2.018-.607.937-.918 2.053-1.65 3.29-2.146-.496.844-.927 1.762-1.272 2.753zm-.549 1.918c-.264 1.151-.434 2.36-.492 3.611h-3.933c.165-1.658.739-3.197 1.617-4.518.88.361 1.816.67 2.808.907zm.009 9.262c-.988.236-1.92.542-2.797.9-.89-1.328-1.471-2.879-1.637-4.551h3.934c.058 1.265.231 2.488.5 3.651zm.553 1.917c.342.976.768 1.881 1.257 2.712-1.223-.49-2.326-1.211-3.256-2.115.636-.229 1.299-.435 1.999-.597zm9.924 0c.7.163 1.362.367 1.999.597-.931.903-2.034 1.625-3.257 2.116.489-.832.915-1.737 1.258-2.713zm.553-1.917c.27-1.163.442-2.386.501-3.651h3.934c-.167 1.672-.748 3.223-1.638 4.551-.877-.358-1.81-.664-2.797-.9zm.501-5.651c-.058-1.251-.229-2.46-.492-3.611.992-.237 1.929-.546 2.809-.907.877 1.321 1.451 2.86 1.616 4.518h-3.933z\"/></svg>" onlineButton.innerHTML = "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><path d=\"M12 0c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm1 16.057v-3.057h2.994c-.059 1.143-.212 2.24-.456 3.279-.823-.12-1.674-.188-2.538-.222zm1.957 2.162c-.499 1.33-1.159 2.497-1.957 3.456v-3.62c.666.028 1.319.081 1.957.164zm-1.957-7.219v-3.015c.868-.034 1.721-.103 2.548-.224.238 1.027.389 2.111.446 3.239h-2.994zm0-5.014v-3.661c.806.969 1.471 2.15 1.971 3.496-.642.084-1.3.137-1.971.165zm2.703-3.267c1.237.496 2.354 1.228 3.29 2.146-.642.234-1.311.442-2.019.607-.344-.992-.775-1.91-1.271-2.753zm-7.241 13.56c-.244-1.039-.398-2.136-.456-3.279h2.994v3.057c-.865.034-1.714.102-2.538.222zm2.538 1.776v3.62c-.798-.959-1.458-2.126-1.957-3.456.638-.083 1.291-.136 1.957-.164zm-2.994-7.055c.057-1.128.207-2.212.446-3.239.827.121 1.68.19 2.548.224v3.015h-2.994zm1.024-5.179c.5-1.346 1.165-2.527 1.97-3.496v3.661c-.671-.028-1.329-.081-1.97-.165zm-2.005-.35c-.708-.165-1.377-.373-2.018-.607.937-.918 2.053-1.65 3.29-2.146-.496.844-.927 1.762-1.272 2.753zm-.549 1.918c-.264 1.151-.434 2.36-.492 3.611h-3.933c.165-1.658.739-3.197 1.617-4.518.88.361 1.816.67 2.808.907zm.009 9.262c-.988.236-1.92.542-2.797.9-.89-1.328-1.471-2.879-1.637-4.551h3.934c.058 1.265.231 2.488.5 3.651zm.553 1.917c.342.976.768 1.881 1.257 2.712-1.223-.49-2.326-1.211-3.256-2.115.636-.229 1.299-.435 1.999-.597zm9.924 0c.7.163 1.362.367 1.999.597-.931.903-2.034 1.625-3.257 2.116.489-.832.915-1.737 1.258-2.713zm.553-1.917c.27-1.163.442-2.386.501-3.651h3.934c-.167 1.672-.748 3.223-1.638 4.551-.877-.358-1.81-.664-2.797-.9zm.501-5.651c-.058-1.251-.229-2.46-.492-3.611.992-.237 1.929-.546 2.809-.907.877 1.321 1.451 2.86 1.616 4.518h-3.933z\"/></svg>"
if (elem[14] === 'no') { if (elem["En ligne"] === 'no') {
onlineButton.disabled = true onlineButton.disabled = true
} else { } else {
onlineButton.onclick = function () { onlineButton.onclick = function () {
@@ -216,15 +216,14 @@ function displayResults(results, aCount) {
let content = document.createElement('div') let content = document.createElement('div')
content.classList.add('element-content') content.classList.add('element-content')
elem.forEach(e => { for (const [key, value] of Object.entries(elem)) {
if (i > 3 && i !== 14) { if (key !== "Auteur" && key !== "Titre" && key !== "En ligne") {
let child = document.createElement('p') let child = document.createElement('p')
let pre_replacement = new RegExp(searchString, 'gi').exec(e) let pre_replacement = new RegExp(searchString, 'gi').exec(value)
child.innerHTML = e.replace(pre_replacement, `<mark>${pre_replacement}</mark>`) child.innerHTML = `<strong>${key}</strong><br>` + value.replace(pre_replacement, `<mark>${pre_replacement}</mark>`)
content.appendChild(child) content.appendChild(child)
} }
i += 1 }
})
header.addEventListener('click', () => { header.addEventListener('click', () => {
focusResults(result) focusResults(result)
+25 -3
View File
@@ -16,6 +16,28 @@ class dump {
return date("Y-m-d", strtotime($old_date)); 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 { public static function getTheses(string $search, string $option, int $offset) : array {
$theses_array = []; $theses_array = [];
@@ -47,10 +69,10 @@ class dump {
$i = 0; $i = 0;
while ($obj = $stmt->fetchObject()) { while ($obj = $stmt->fetchObject()) {
$theses_array[$i] = array(); $theses_array[] = array();
foreach ($obj as $elem) { foreach ($obj as $key=>$value) {
// TODO Mettre le nom du champ à la place du vide // 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++; $i++;
} }