Factorisation des encodages d’URL en une fonction

This commit is contained in:
Breizh 2023-01-06 14:51:48 +01:00
parent a377748de7
commit ef92c3e888

View file

@ -22,6 +22,15 @@ echo "${blue}Start${reset} /$webpath"
# Déplacement dans le dossier à traiter # Déplacement dans le dossier à traiter
cd "${root}/${webpath}" cd "${root}/${webpath}"
# Encode certains caractères posant problème dans le HTML
encodeUrl() {
encoded="${*//\&/%26}"
encoded="${encoded//\?/%3F}"
encoded="${encoded//\#/%23}"
encoded="${encoded//\"/%22}"
printf "%s" "${encoded}"
}
# Définition des différentes parties de la page # Définition des différentes parties de la page
header() { header() {
cat <<DELIM cat <<DELIM
@ -46,13 +55,9 @@ DELIM
} }
row() { row() {
encoded="${1//\&/%26}"
encoded="${encoded//\?/%3F}"
encoded="${encoded//\#/%23}"
encoded="${encoded//\"/%22}"
cat <<DELIM cat <<DELIM
<tr> <tr>
<td><a href="${encoded}">${1}</a></td> <td><a href="$(encodeUrl "${1}")">${1}</a></td>
<td class="right-align" data-kbytes="${2}">${3}</td> <td class="right-align" data-kbytes="${2}">${3}</td>
<td class="right-align">${4}</td> <td class="right-align">${4}</td>
<td>${5}</td> <td>${5}</td>
@ -80,9 +85,7 @@ IFS=/
for folder in $webpath for folder in $webpath
do do
encoded_folder="${folder//\&/%26}" tmp+="$(encodeUrl "$folder")/"
encoded_folder="${encoded_folder//\?/%3F}"
tmp+="$encoded_folder/"
navpath+="<a href=\"$tmp\">$folder</a>/" navpath+="<a href=\"$tmp\">$folder</a>/"
done done
@ -165,11 +168,7 @@ do
case $mimetype in case $mimetype in
audio/*) audio/*)
# Pour l'audio, ajout d'un lecteur # Pour l'audio, ajout d'un lecteur
encoded_src="${i//\&/%26}" type="<audio controls preload=\"$preload\"><source src=\"$(encodeUrl "${i}")\" type=\"$mimetype\">$mimetype</audio>";;
encoded_src="${encoded_src//\?/%3F}"
encoded_src="${encoded_src//\#/%23}"
encoded_src="${encoded_src//\"/%22}"
type="<audio controls preload=\"$preload\"><source src=\"$encoded_src\" type=\"$mimetype\">$mimetype</audio>";;
image/*) image/*)
# Pour les images, une miniature de 60px de haut est créée # Pour les images, une miniature de 60px de haut est créée
thumbname="$(md5sum <<<$(readlink -f "$i") | cut -d' ' -f1).${i##*.}" # Nom sur base d'un hash pour éviter les conflits thumbname="$(md5sum <<<$(readlink -f "$i") | cut -d' ' -f1).${i##*.}" # Nom sur base d'un hash pour éviter les conflits