Merge remote-tracking branch 'origin/main'

This commit is contained in:
Florian SYLVAIN
2022-01-08 15:17:39 +01:00
3 changed files with 17 additions and 13 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="PublishConfigData" serverName="Sapinet" remoteFilesAllowedToDisappearOnAutoupload="false"> <component name="PublishConfigData" serverName="Sapinet" exclude=".svn;.cvs;.idea;.DS_Store;.git;.hg;*.hprof;*.pyc;.env" remoteFilesAllowedToDisappearOnAutoupload="false">
<serverData> <serverData>
<paths name="Sapinet"> <paths name="Sapinet">
<serverdata> <serverdata>
+8 -8
View File
@@ -26,7 +26,7 @@ let resultsCount = document.querySelector('#results-count')
let filters = document.querySelectorAll('.filters p') let filters = document.querySelectorAll('.filters p')
function sanitize(chain) { function sanitize(chain) {
return chain.replace(/[^a-zA-Z0-9\- ]/g,'') return chain.replace(/[^a-zA-Z0-9\- ]/g, '')
} }
function showSuggestions() { function showSuggestions() {
@@ -72,7 +72,7 @@ function apiRequestThese(search, offset) {
.then(data => { .then(data => {
fetch(`api.php?q=count&search=${searchString}&option=${queryOption}&offset=0`) fetch(`api.php?q=count&search=${searchString}&option=${queryOption}&offset=0`)
.then(response => response.json()) .then(response => response.json())
.then(aCount => displayResults(data, aCount.data[0])) .then(aCount => displayResults(data, aCount.data ? aCount.data[0] : 0))
}) })
} else { } else {
alert('Veuillez attendre une seconde entre chaque recherche.') alert('Veuillez attendre une seconde entre chaque recherche.')
@@ -95,7 +95,7 @@ window.addEventListener('scroll', fadeIn);
function updatePageNumber(number) { function updatePageNumber(number) {
pagesNumbers.childNodes.forEach(elem => { pagesNumbers.childNodes.forEach(elem => {
if (elem.innerHTML == number) { if (parseInt(elem.innerHTML) === number) {
elem.style.fontWeight = "bold" elem.style.fontWeight = "bold"
elem.style.textDecoration = "underline" elem.style.textDecoration = "underline"
pagesNumbers.scrollLeft += elem.getBoundingClientRect().left - pagesNumbers.scrollLeft += elem.getBoundingClientRect().left -
@@ -133,7 +133,6 @@ function displayResults(results, aCount) {
error.classList.add("fade-in"); error.classList.add("fade-in");
errorMessage.innerHTML = results.message errorMessage.innerHTML = results.message
pagesNumbersContainer.style.display = 'none' pagesNumbersContainer.style.display = 'none'
return;
} else if (results.status === 200) { } else if (results.status === 200) {
count = aCount count = aCount
resultsArray = [] resultsArray = []
@@ -163,7 +162,7 @@ function displayResults(results, aCount) {
if (elem[14] === 'no') { if (elem[14] === 'no') {
onlineButton.disabled = true onlineButton.disabled = true
} else { } else {
onlineButton.onclick = function() { onlineButton.onclick = function () {
window.open('https://www.theses.fr/' + elem[13] + '/document', ',_blank') window.open('https://www.theses.fr/' + elem[13] + '/document', ',_blank')
} }
} }
@@ -180,7 +179,8 @@ function displayResults(results, aCount) {
let pre_replacement = new RegExp(searchString, 'gi').exec(e) let pre_replacement = new RegExp(searchString, 'gi').exec(e)
child.innerHTML = e.replace(pre_replacement, `<mark>${pre_replacement}</mark>`) child.innerHTML = e.replace(pre_replacement, `<mark>${pre_replacement}</mark>`)
content.appendChild(child) content.appendChild(child)
} i += 1 }
i += 1
}) })
header.addEventListener('click', () => { header.addEventListener('click', () => {
@@ -194,14 +194,14 @@ function displayResults(results, aCount) {
let nb = document.createElement("p") let nb = document.createElement("p")
nb.innerHTML = `Nombre de résultats en ${queryOption} pour "${searchString}": nb.innerHTML = `Nombre de résultats en ${queryOption} pour "${searchString}":
${new Intl.NumberFormat('fr-FR', { maximumSignificantDigits: 3 }).format(count)}.` ${new Intl.NumberFormat('fr-FR', {maximumSignificantDigits: 3}).format(count)}.`
resultsCount.appendChild(nb) resultsCount.appendChild(nb)
loader.style.display = "none" loader.style.display = "none"
nbPages = Math.ceil(count / RESULTS_NUMBER) nbPages = Math.ceil(count / RESULTS_NUMBER)
for (let i = 0 ; i < nbPages ; i++) { for (let i = 0; i < nbPages; i++) {
let number = document.createElement('p') let number = document.createElement('p')
number.innerHTML = i + 1 number.innerHTML = i + 1
if (i === 0) if (i === 0)
+8 -4
View File
@@ -9,25 +9,29 @@ require_once('../class/dotEnv.php');
if (($handle = fopen(getenv('FILE'), "r")) !== FALSE) { if (($handle = fopen(getenv('FILE'), "r")) !== FALSE) {
$dbname = getenv('DBNAME');
$pdo_obj = new conf(); $pdo_obj = new conf();
$pdo = $pdo_obj->getPDO(); $pdo = $pdo_obj->getPDO();
$stmt = $pdo->query("TRUNCATE `" . getenv('DBNAME') ."`.`theses`"); $stmt = $pdo->prepare("TRUNCATE `:dbname`.`theses`");
$stmt->bindParam(':dbname', $dbname);
$row = 1; $row = 1;
while (($data = fgetcsv($handle, 10000, ";")) !== FALSE) { while (($data = fgetcsv($handle, 10000, ";")) !== FALSE) {
$new_these = these::emptyThese(); $new_these = these::emptyThese();
$num = count($data); $num = count($data);
if ($row > 1) { if ($row > 1) {
for ($c = 0 ; $c < $num ; $c++) { for ($c = 0; $c < $num; $c++) {
$new_these->insertField($data[$c], $c); $new_these->insertField($data[$c], $c);
} }
$dump = new dump($new_these); $dump = new dump($new_these);
try { try {
$dump->sendThese($pdo); $dump->sendThese($pdo);
} catch (Exception $e) { } catch (Exception $e) {
echo "<br><br>Failed on " . $row ." ( " . $e->getMessage() . " ) :<br>"; echo "<br><br>Failed on " . $row . " ( " . $e->getMessage() . " ) :<br>";
} }
} $row++; }
$row++;
} }
fclose($handle); fclose($handle);
echo "<br><br>CSV file imported into DB. (" . $row . " results)"; echo "<br><br>CSV file imported into DB. (" . $row . " results)";