diff --git a/incl/footer.php b/incl/footer.php index 7fc336a..cca4c30 100644 --- a/incl/footer.php +++ b/incl/footer.php @@ -15,5 +15,6 @@ + \ No newline at end of file diff --git a/incl/header.php b/incl/header.php index ef69c47..3c28555 100644 --- a/incl/header.php +++ b/incl/header.php @@ -45,7 +45,7 @@
- FunctionProject + FunctionProject diff --git a/scripts/executeFunction.js b/scripts/executeFunction.js new file mode 100644 index 0000000..0a32771 --- /dev/null +++ b/scripts/executeFunction.js @@ -0,0 +1,215 @@ +$(function () { + /* ÉXECUTION DES FONCTONS */ + + // Touche entrer génère un clique sur les classes .btn à part sur la page convertEncoding + $("body").keydown(function(e){ + if(e.which === 13 && chemin !== '/views/function-views/convertEncoding.php'){ + $(".btn").click(); + } + }); + + $("#submitWeatherRequest").click(() => { + const city = $('#cityName').val(); + const cityName = city.split(' ').join('+'); + if(isEmptyValue(cityName)) { + $('.results').html(emptyMessageError); + } + else { + createSessionCookie("city", cityName); + weatherRequest(); + } + }); + + $("#submitRandomNumber").click(() => { + const minEntered = $('#minValue').val(); + const maxEntered = $('#maxValue').val(); + if(isEmptyValue(minEntered) || isEmptyValue(maxEntered)) { + $('.results').html(emptyMessageError); + } + else { + const result = randomNumber(minEntered, maxEntered); + if(result === messageError) { + $('.results').html(messageError); + } else { + $('.results').html("Nombre aléatoire compris entre " + minEntered + " inclus et " + maxEntered + " inclus : " + formatNumberResult(result)); + } + } + }); + + $("#birthDateValue").bind("keyup change", () => + { + $('.results').html(calculateAge($('#birthDateValue').val())); + }); + + $("#submitConvertTemperature").click(() => + { + const temperatureValue = $('#temperatureValue').val(); + const degree = parseFloat(temperatureValue.slice(0, temperatureValue.length - 2)); + const unit = temperatureValue.slice(temperatureValue.length - 2); + if(isEmptyValue(temperatureValue)) { + $('.results').html(emptyMessageError); + } + else { + $('.results').html(convertTemperature(degree, unit)); + } + }); + + $("#submitConvertDistance").click(() => + { + let firstValue = $('#firstValue').val(); + const unitFirstValue = $("#firstValueUnit option:selected").text(); + const secondValue = $("#secondValue option:selected").text(); + if(isEmptyValue(firstValue) || isEmptyValue(secondValue)) { + $('.results').html(emptyMessageError); + } + else { + firstValue = parseFloat(firstValue.replace(/\s/g,'')); + $('.results').html(convertDistance(firstValue, unitFirstValue, secondValue)); + } + }); + + $("#submitFilterStudents").click(() => + { + const nameEntered = $('#nameEntered').val(); + let filteredLetter = $("#filteredLetter").val(); + if(isEmptyValue(nameEntered) || isEmptyValue(filteredLetter)) { + $('.results').html(emptyMessageError); + } + else if(filteredLetter.length === 1) { + const students = nameEntered.split(', '); + filteredLetter = capitalize(filteredLetter); + $('.results').html(filterStudents(filteredLetter, students)); + } + else { + $('.results').html(messageError); + } + }); + + let randomQuoteClicked; + $("#submitRandomQuote").click(() => { + randomQuoteClicked = true; + $('.resultsRandomQuote').html(getRandomQuote()); + }); + // Affichage d'une citation au chargement de la page + if (randomQuoteClicked != true && chemin === '/views/function-views/randomQuote.php') { + $('.resultsRandomQuote').html(getRandomQuote()); + } + + /* Permet d'afficher la liste des citations/proverbes */ + if(chemin === "/views/quote-list.php") { + window.onload = $('.totalLengthQuote').html('Total de ' + quotes.length + ' citations.'); + let resultat = ""; + for (index in quotes) { + resultat = resultat + ` ${quotes[index]["source"]} ${quotes[index]["quote"]} `; + } + $(".quote-list").append(resultat); + } + + $("#submitConvertCurrency").click(() => { + let value = $('#value').val(); + const currencyOfTheValue = $("#currencyOfTheValue option:selected").val(); + const currencyAfter = $("#currencyAfter option:selected").val(); + if(isEmptyValue(value) || isNaN(parseFloat(value))) { + $('.results').html(emptyMessageError); + } + else { + const url = 'https://api.exchangeratesapi.io/latest?base=' + currencyOfTheValue; + value = parseFloat(value); + convertCurrency(value, currencyAfter, url); + } + }); + + $("#submitConvertEncoding").click(() => { + const value = $('#value').val(); + const option = $("#option option:selected").val(); + if(isEmptyValue(value)) { + $('.results').html(messageError); + } + else { + // Objet qui recense toutes les fonctions de convertEncoding + const convertEncoding = { decimalToBinary, binaryToDecimal, decimalToHexadecimal, hexadecimalToDecimal, binaryToHexadecimal, hexadecimalToBinary, textToNumberUnicode, numberUnicodeToText, textToBinary, binaryToText, textToHexadecimal, hexadecimalToText }; + try { + function executionFunction(option, value) { + return convertEncoding[option](value) + } + $('.results').html(executionFunction(option, value)); + } catch (error) { + $('.results').html(messageError); + } + } + }); + + $("#submitConvertRomanArabicNumbers").click(() => { + let numbersValue = $('#numbersArabic').val(); + numbersValue = numbersValue.replace(/\s/g,''); + const convertNumberType = $("#convertNumberType option:selected").text(); + if(isEmptyValue(numbersValue)) { + $('.results').html(emptyMessageError); + } + else if (!isNaN(Number(numbersValue))) { + if (convertNumberType === "Nombre Romain") { + const result = convertArabicToRoman(parseInt(numbersValue)); + let numbersValueFormat = formatNumberResult(numbersValue); + if (result === messageError || isFloat(numbersValue)) { + $('.results').html(messageError); + } else { + $('.results').html(`${numbersValueFormat} s'écrit ${result} en chiffres romains.`); + } + } else { + $('.results').html(`${numbersValue} est déjà en chiffres arabes.`); + } + + } + else if (convertNumberType === "Nombre Arabe") { + const result = convertRomanToArabic(numbersValue.toUpperCase()); + if (result === 0) { + $('.results').html(messageError); + } else { + $('.results').html(`${numbersValue} s'écrit ${formatNumberResult(result)} en chiffres arabes.`); + } + } + else { + $('.results').html(messageError); + } + }); + + $("#numberToTest").bind("keyup change", () => { + let numbersValue = $('#numberToTest').val(); + numbersValue = parseInt(numbersValue.replace(/\s/g,'')); + if (!isNaN(numbersValue) && numbersValue >= 0) { + $('.results').html(armstrongNumber(numbersValue)); + } + else { + $('.results').html(messageError); + } + }); + + $("#submitHeapAlgorithm").click(() => { + const value = $('#value').val(); + if(isEmptyValue(value)) { + $('.results').html(emptyMessageError); + } + else { + const start = new Date(); + const stringPermutationsResult = stringPermutations(value); + let result = ""; + for (element in stringPermutationsResult) { + result = result + stringPermutationsResult[element] + "
"; + } + const end = new Date(); + $('.results').html(`Temps d'éxecution du script : ${end - start} ms.
Il y a ${formatNumberResult(stringPermutationsResult.length)} possibilités d'anagramme pour le mot "${value}" qui contient ${value.length} caractères, la liste :

${result}`); + } + }); + + if (chemin === "/views/function-views/convertMarkdown.php" && localStorage.getItem('convertedHTML') && localStorage.getItem('texteMarkdown')) { + $('.results').html(localStorage.getItem('convertedHTML')); + $('#texteMarkdown').val(localStorage.getItem('texteMarkdown')); + } + $("#texteMarkdown").bind("keyup change", () => { + const textMarkdown = $('#texteMarkdown').val(); + const convertedHTML = marked(textMarkdown); + localStorage.setItem("convertedHTML", convertedHTML); + localStorage.setItem("texteMarkdown", textMarkdown); + $('.results').html(convertedHTML); + }); +}); \ No newline at end of file diff --git a/scripts/main.js b/scripts/main.js index 4cbb663..72e59b9 100644 --- a/scripts/main.js +++ b/scripts/main.js @@ -1,220 +1,4 @@ $(function () { - - /* ÉXECUTION DES FONCTONS */ - - // Touche entrer génère un clique sur les classes .btn à part sur la page convertEncoding - $("body").keydown(function(e){ - if(e.which === 13 && chemin !== '/views/function-views/convertEncoding.php'){ - $(".btn").click(); - } - }); - - $("#submitWeatherRequest").click(() => { - const city = $('#cityName').val(); - const cityName = city.split(' ').join('+'); - if(isEmptyValue(cityName)) { - $('.results').html(emptyMessageError); - } - else { - createSessionCookie("city", cityName); - weatherRequest(); - } - }); - - $("#submitRandomNumber").click(() => { - const minEntered = $('#minValue').val(); - const maxEntered = $('#maxValue').val(); - if(isEmptyValue(minEntered) || isEmptyValue(maxEntered)) { - $('.results').html(emptyMessageError); - } - else { - const result = randomNumber(minEntered, maxEntered); - if(result === messageError) { - $('.results').html(messageError); - } else { - $('.results').html("Nombre aléatoire compris entre " + minEntered + " inclus et " + maxEntered + " inclus : " + formatNumberResult(result)); - } - } - }); - - $("#birthDateValue").bind("keyup change", () => - { - $('.results').html(calculateAge($('#birthDateValue').val())); - }); - - $("#submitConvertTemperature").click(() => - { - const temperatureValue = $('#temperatureValue').val(); - const degree = parseFloat(temperatureValue.slice(0, temperatureValue.length - 2)); - const unit = temperatureValue.slice(temperatureValue.length - 2); - if(isEmptyValue(temperatureValue)) { - $('.results').html(emptyMessageError); - } - else { - $('.results').html(convertTemperature(degree, unit)); - } - }); - - $("#submitConvertDistance").click(() => - { - let firstValue = $('#firstValue').val(); - const unitFirstValue = $("#firstValueUnit option:selected").text(); - const secondValue = $("#secondValue option:selected").text(); - if(isEmptyValue(firstValue) || isEmptyValue(secondValue)) { - $('.results').html(emptyMessageError); - } - else { - firstValue = parseFloat(firstValue.replace(/\s/g,'')); - $('.results').html(convertDistance(firstValue, unitFirstValue, secondValue)); - } - }); - - $("#submitFilterStudents").click(() => - { - const nameEntered = $('#nameEntered').val(); - let filteredLetter = $("#filteredLetter").val(); - if(isEmptyValue(nameEntered) || isEmptyValue(filteredLetter)) { - $('.results').html(emptyMessageError); - } - else if(filteredLetter.length === 1) { - const students = nameEntered.split(', '); - filteredLetter = capitalize(filteredLetter); - $('.results').html(filterStudents(filteredLetter, students)); - } - else { - $('.results').html(messageError); - } - }); - - let randomQuoteClicked; - $("#submitRandomQuote").click(() => { - randomQuoteClicked = true; - $('.resultsRandomQuote').html(getRandomQuote()); - }); - // Affichage d'une citation au chargement de la page - if (randomQuoteClicked != true && chemin === '/views/function-views/randomQuote.php') { - $('.resultsRandomQuote').html(getRandomQuote()); - } - - /* Permet d'afficher la liste des citations/proverbes */ - if(chemin === "/views/quote-list.php") { - window.onload = $('.totalLengthQuote').html('Total de ' + quotes.length + ' citations.'); - let resultat = ""; - for (index in quotes) { - resultat = resultat + ` ${quotes[index]["source"]} ${quotes[index]["quote"]} `; - } - $(".quote-list").append(resultat); - } - - $("#submitConvertCurrency").click(() => { - let value = $('#value').val(); - const currencyOfTheValue = $("#currencyOfTheValue option:selected").val(); - const currencyAfter = $("#currencyAfter option:selected").val(); - if(isEmptyValue(value) || isNaN(parseFloat(value))) { - $('.results').html(emptyMessageError); - } - else { - const url = 'https://api.exchangeratesapi.io/latest?base=' + currencyOfTheValue; - value = parseFloat(value); - convertCurrency(value, currencyAfter, url); - } - }); - - $("#submitConvertEncoding").click(() => { - const value = $('#value').val(); - const option = $("#option option:selected").val(); - if(isEmptyValue(value)) { - $('.results').html(messageError); - } - else { - // Objet qui recense toutes les fonctions de convertEncoding - const convertEncoding = { decimalToBinary, binaryToDecimal, decimalToHexadecimal, hexadecimalToDecimal, binaryToHexadecimal, hexadecimalToBinary, textToNumberUnicode, numberUnicodeToText, textToBinary, binaryToText, textToHexadecimal, hexadecimalToText }; - try { - function executionFunction(option, value) { - return convertEncoding[option](value) - } - $('.results').html(executionFunction(option, value)); - } catch (error) { - $('.results').html(messageError); - } - } - }); - - $("#submitConvertRomanArabicNumbers").click(() => { - let numbersValue = $('#numbersArabic').val(); - numbersValue = numbersValue.replace(/\s/g,''); - const convertNumberType = $("#convertNumberType option:selected").text(); - if(isEmptyValue(numbersValue)) { - $('.results').html(emptyMessageError); - } - else if (!isNaN(Number(numbersValue))) { - if (convertNumberType === "Nombre Romain") { - const result = convertArabicToRoman(parseInt(numbersValue)); - let numbersValueFormat = formatNumberResult(numbersValue); - if (result === messageError || isFloat(numbersValue)) { - $('.results').html(messageError); - } else { - $('.results').html(`${numbersValueFormat} s'écrit ${result} en chiffres romains.`); - } - } else { - $('.results').html(`${numbersValue} est déjà en chiffres arabes.`); - } - - } - else if (convertNumberType === "Nombre Arabe") { - const result = convertRomanToArabic(numbersValue.toUpperCase()); - if (result === 0) { - $('.results').html(messageError); - } else { - $('.results').html(`${numbersValue} s'écrit ${formatNumberResult(result)} en chiffres arabes.`); - } - } - else { - $('.results').html(messageError); - } - }); - - $("#numberToTest").bind("keyup change", () => { - let numbersValue = $('#numberToTest').val(); - numbersValue = parseInt(numbersValue.replace(/\s/g,'')); - if (!isNaN(numbersValue) && numbersValue >= 0) { - $('.results').html(armstrongNumber(numbersValue)); - } - else { - $('.results').html(messageError); - } - }); - - $("#submitHeapAlgorithm").click(() => { - const value = $('#value').val(); - if(isEmptyValue(value)) { - $('.results').html(emptyMessageError); - } - else { - const start = new Date(); - const stringPermutationsResult = stringPermutations(value); - let result = ""; - for (element in stringPermutationsResult) { - result = result + stringPermutationsResult[element] + "
"; - } - const end = new Date(); - $('.results').html(`Temps d'éxecution du script : ${end - start} ms.
Il y a ${formatNumberResult(stringPermutationsResult.length)} possibilités d'anagramme pour le mot "${value}" qui contient ${value.length} caractères, la liste :

${result}`); - } - }); - - if (chemin === "/views/function-views/convertMarkdown.php" && localStorage.getItem('convertedHTML') && localStorage.getItem('texteMarkdown')) { - $('.results').html(localStorage.getItem('convertedHTML')); - $('#texteMarkdown').val(localStorage.getItem('texteMarkdown')); - } - - $("#texteMarkdown").bind("keyup change", () => { - const textMarkdown = $('#texteMarkdown').val(); - const convertedHTML = marked(textMarkdown); - localStorage.setItem("convertedHTML", convertedHTML); - localStorage.setItem("texteMarkdown", textMarkdown); - $('.results').html(convertedHTML); - }); - /* Changement du texte accueil (exemples de fonction) */ if(chemin === "/" || chemin === '/index.php') { let index=-1; @@ -275,5 +59,4 @@ $(function () { autoclose: false, todayHighlight: true }); - }); \ No newline at end of file