From d07f03724bfaab74f39c6eac4abd2f00a33ee883 Mon Sep 17 00:00:00 2001 From: Divlo Date: Wed, 11 Dec 2019 20:46:57 +0100 Subject: [PATCH] New function : shortenLink --- .gitignore | 3 +- README.md | 3 + css/style.css | 8 ++ img/function-image/convertMarkdown.png | Bin 5171 -> 15171 bytes img/function-image/linkShortener.png | Bin 0 -> 95994 bytes php/config.php | 10 +++ php/short_links.sql | 13 +++ php/shortenLink.php | 100 ++++++++++++++++++++++++ scripts/executeFunction.js | 27 ++++--- scripts/fonctions_annexes.js | 24 +++++- scripts/main.js | 35 +++++++++ views/function-list.php | 10 ++- views/function-views/filterStudents.php | 4 +- views/function-views/linkShortener.php | 40 ++++++++++ views/quote-list.php | 18 ++--- views/short_links-list.php | 28 +++++++ 16 files changed, 298 insertions(+), 25 deletions(-) create mode 100644 img/function-image/linkShortener.png create mode 100644 php/short_links.sql create mode 100644 php/shortenLink.php create mode 100644 views/function-views/linkShortener.php create mode 100644 views/short_links-list.php diff --git a/.gitignore b/.gitignore index 24d0dae..8a043bb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ htaccess -php/keyVariable.php \ No newline at end of file +php/keyVariable.php +php/config_database \ No newline at end of file diff --git a/README.md b/README.md index 5a8ba68..a3d3ec4 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,9 @@ Puis créer un nouveau fichier dans ```/php``` du nom de ```keyVariable.php```, $apiWeather = 'votre clé api pour openweathermap.org'; ``` +Sachez tout de même que vous ne pourrez pas utiliser la fonction linkShortener car elle dépend de [short-links.divlo.fr/](https://short-links.divlo.fr/). +Cependant, vous avez accès à la structure de la base de donnée dans ```/php/short_links.sql```. + Enjoy! =D ## Librairies diff --git a/css/style.css b/css/style.css index 5d5f766..80773e5 100644 --- a/css/style.css +++ b/css/style.css @@ -102,6 +102,14 @@ pre code { line-height: 2; } +.original-link-list { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + max-width: 200px; + vertical-align: middle; +} + /* FOOTER */ footer { diff --git a/img/function-image/convertMarkdown.png b/img/function-image/convertMarkdown.png index eb37faf8c3b574bc1f0ab0535f29f9b28b5753f2..94f29bc9cdca712f4155475470aaf1e3179173e9 100644 GIT binary patch literal 15171 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 UO4@J(90YUxsNJu{hrO=;2d1Uk(*OVf literal 5171 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 diff --git a/img/function-image/linkShortener.png b/img/function-image/linkShortener.png new file mode 100644 index 0000000000000000000000000000000000000000..348528626f21953c34d98cd1a74609ae4af4d542 GIT binary patch literal 95994 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

BJa5Nf1rPo@TcTJ-VUyJgPG^uf4M$L;RJ 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 literal 0 HcmV?d00001 diff --git a/php/config.php b/php/config.php index f552463..a93d108 100644 --- a/php/config.php +++ b/php/config.php @@ -88,6 +88,16 @@ switch ($currentpage) { $description = "Convertis du Markdown en HTML."; $image = 'https://function.divlo.fr/img/function-image/convertMarkdown.png'; break; + case '/views/function-views/linkShortener.php': + $title = "Raccourcisseurs de liens"; + $description = "Une URL trop longue ? Raccourcissez-là !"; + $image = 'https://function.divlo.fr/img/function-image/linkShortener.png'; + break; + case '/views/short_links-list.php': + $title = 'Liste des liens récemment raccourcit'; + $description = "La liste de vos liens raccourcit les plus récents."; + $image = 'https://function.divlo.fr/img/function-image/linkShortener.png'; + break; default: $title = 'Erreur 404'; $description = "Cette page n'existe pas!"; diff --git a/php/short_links.sql b/php/short_links.sql new file mode 100644 index 0000000..79314df --- /dev/null +++ b/php/short_links.sql @@ -0,0 +1,13 @@ +SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; +SET AUTOCOMMIT = 0; +START TRANSACTION; +SET time_zone = "+00:00"; + +DROP TABLE IF EXISTS `short_links`; +CREATE TABLE IF NOT EXISTS `short_links` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `url` text NOT NULL, + `shortcut` text NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; +COMMIT; \ No newline at end of file diff --git a/php/shortenLink.php b/php/shortenLink.php new file mode 100644 index 0000000..c498245 --- /dev/null +++ b/php/shortenLink.php @@ -0,0 +1,100 @@ + false, $valueName => ""); + $req = $bdd->prepare('SELECT * FROM short_links WHERE ' . $valueName . ' = ?'); + $req->execute(array($valueToFind)); + while ($result = $req->fetch()) { + $array['isInDatabase'] = true; + if($typeURL) { + $array["shortcut"] = $result["shortcut"]; + } + } + return $array; +} + +$array = array("url" => "", "option"=> "", "message" => ""); + +if ($_SERVER["REQUEST_METHOD"] == "POST") { + + // Si le formulaire est envoyé + if(isset($_POST['url']) && isset($_POST['option'])) { + $array["url"] = $_POST["url"]; + $array["option"] = $_POST["option"]; + + // Si ce n'est pas un lien valide + if(!filter_var($array["url"], FILTER_VALIDATE_URL)) { + $array["message"] = "Veuillez entré une URL valide."; + } else { + // Connexion à la base de donnée + require_once('./config_database/connectDB.php'); + + // URL déjà en base de donnée ? + $urlInDatabase = alreadyExists($bdd, $array["url"], "url", true); + if($urlInDatabase['isInDatabase']) { + $shortcutURL = $linkPath . '?q=' . $urlInDatabase['shortcut']; + $array['message'] = 'Adresse déjà raccourcie : ' . $shortcutURL . ''; + } else { + if($array['option'] == "userShortcut" && isset($_POST['userShortcut']) && !empty($_POST['userShortcut'])) { + // Shortcut choisis par l'utilisateur + $shortcut = camelCase($_POST['userShortcut']); + } else { + // Shortcut unique aléatoire + do { + $shortcut = uniqueId(); + } while(alreadyExists($bdd, $shortcut, "shortcut")['isInDatabase']); + } + $shortcutURL = $linkPath . '?q=' . $shortcut; + if(alreadyExists($bdd, $shortcut, "shortcut")['isInDatabase']) { + $array['message'] = 'Le shortcut "' . $shortcut . '" est déjà pris, veuillez en choisir un autre.'; + } else { + // Envoi de l'URL et du shortcut dans la base de donnée + $req = $bdd->prepare('INSERT INTO short_links(url, shortcut) VALUES (?, ?)'); + $req->execute(array($array['url'], $shortcut)); + $array['message'] = 'URL raccourcie : '. $shortcutURL .''; + + // URL et Shortcut en Cookie + if(isset($_COOKIE['shortcuts']) && !empty($_COOKIE['shortcuts'])) { + $data = json_decode($_COOKIE['shortcuts'], true); + } else { + $data = array(); + } + array_push($data, array("url" => $array['url'], "shortcut" => $shortcutURL)); + setcookie('shortcuts', json_encode($data), time()+3600*24*365, '/'); + } + } + } + } + echo json_encode($array); +} +?> \ No newline at end of file diff --git a/scripts/executeFunction.js b/scripts/executeFunction.js index 0a32771..fb3ff15 100644 --- a/scripts/executeFunction.js +++ b/scripts/executeFunction.js @@ -95,16 +95,6 @@ $(function () { $('.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(); @@ -212,4 +202,21 @@ $(function () { localStorage.setItem("texteMarkdown", textMarkdown); $('.results').html(convertedHTML); }); + + $('#formLinkShortener').submit((e) => { + e.preventDefault(); + const postdata = $('#formLinkShortener').serialize(); + $.ajax({ + type: 'POST', + url: '../../php/shortenLink.php', + data: postdata, + success: (text) => { + try { + $(".results").html(JSON.parse(text).message); + } catch (error) { + $(".results").html("URL invalide."); + } + } + }); + }); }); \ No newline at end of file diff --git a/scripts/fonctions_annexes.js b/scripts/fonctions_annexes.js index 4c92124..4ef254b 100644 --- a/scripts/fonctions_annexes.js +++ b/scripts/fonctions_annexes.js @@ -158,4 +158,26 @@ function isValidDate(verifyDate, currentDate) { */ function createSessionCookie(name, value) { document.cookie = escape(name) + "=" + escape(value) + " ; path=/"; -} \ No newline at end of file +} + +/** + * @function getCookieValue + * @description Récupère la valeur d'un cookie. + * @param {string} name Nom du cookie + * @param {string} value Valeur du cookie + */ +function getCookieValue(cname) { + const name = cname + "="; + const decodedCookie = decodeURIComponent(document.cookie); + const ca = decodedCookie.split(';'); + for(let i = 0; i < ca.length; i++) { + let c = ca[i]; + while (c.charAt(0) == ' ') { + c = c.substring(1); + } + if (c.indexOf(name) == 0) { + return c.substring(name.length, c.length); + } + } + return ""; +} \ No newline at end of file diff --git a/scripts/main.js b/scripts/main.js index 72e59b9..bb05c4f 100644 --- a/scripts/main.js +++ b/scripts/main.js @@ -34,6 +34,29 @@ $(function () { /* Permet d'afficher l'heure en temps réel sur le footer */ realDateTime('realDateTime'); + /* 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); + } + + /* Permet d'afficher la liste des liens récemment raccourcit */ + if(chemin === "/views/short_links-list.php") { + try { + const shortcuts = JSON.parse(getCookieValue("shortcuts")); + window.onload = $('.totalLengthLinksList').html(`Total de ${shortcuts.length} lien(s) raccourcit récemment.`); + let resultat = ""; + for (element of shortcuts) { + resultat += ` ${element["url"]} ${element["shortcut"]} `; + } + $(".links-list").append(resultat); + } catch(error) {} + } + /* Window Scroll Top Button */ const $btnScrollTop = $('.scroll-top-arrow'); $btnScrollTop.on('click', function () { @@ -41,6 +64,18 @@ $(function () { return false; }); + // Affiche l'input selon le choix de l'utilisateur sur la page linkShortener + if(chemin === '/views/function-views/linkShortener.php') { + $('.hideUserShortcut').hide(); + $("#option").bind("keyup change", () => { + if ($("#option").val() == "userShortcut") { + $('.hideUserShortcut').show(); + } else { + $('.hideUserShortcut').hide(); + } + }); + } + /* Date Picker */ $.fn.datepicker.dates['fr'] = { days: ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"], diff --git a/views/function-list.php b/views/function-list.php index 5b55302..3ea07d0 100644 --- a/views/function-list.php +++ b/views/function-list.php @@ -103,7 +103,7 @@

Vérifie si un nombre fait partie des nombres d'Armstrong ou non.

-
+

Heap's algorithm

Heap's algorithm @@ -113,13 +113,19 @@
-
+

Markdown

Markdown

Convertis du Markdown en HTML.

+
+
+

Raccourcisseurs de liens

+ Raccourcisseurs de liens +

Une URL trop longue ? Raccourcissez-là !

+
diff --git a/views/function-views/filterStudents.php b/views/function-views/filterStudents.php index 3984d4f..d766550 100644 --- a/views/function-views/filterStudents.php +++ b/views/function-views/filterStudents.php @@ -12,10 +12,10 @@ Carte étudiant
- +
- +
diff --git a/views/function-views/linkShortener.php b/views/function-views/linkShortener.php new file mode 100644 index 0000000..723ff66 --- /dev/null +++ b/views/function-views/linkShortener.php @@ -0,0 +1,40 @@ + + + + + + + +
+

:

+

+ +

+ Raccourcisseurs de liens +
+
+ +

+ +
+
+
+
+
+
+
+ +
+ +
+
+

+
+ + + \ No newline at end of file diff --git a/views/quote-list.php b/views/quote-list.php index 5c03490..dd15f39 100644 --- a/views/quote-list.php +++ b/views/quote-list.php @@ -14,16 +14,16 @@

- - - - - - - + + + + + + + - -
SourceCitation/Proverbe
SourceCitation/Proverbe
+ + \ No newline at end of file diff --git a/views/short_links-list.php b/views/short_links-list.php new file mode 100644 index 0000000..6c2b993 --- /dev/null +++ b/views/short_links-list.php @@ -0,0 +1,28 @@ + + + + + + + +
+

:

+

+
+ Revenir au raccourcisseur de liens. +

+ + + + + + + + + + + +
Liens originauxLiens raccourcit
+ + + \ No newline at end of file