From 02f52af289b7b101ffc46b97fc65026c5ebf14b9 Mon Sep 17 00:00:00 2001 From: Jephte Clain Date: Tue, 21 Feb 2017 19:19:07 +0400 Subject: [PATCH] =?UTF-8?q?afficher=20un=20menu=20si=20plusieurs=20r=C3=A9?= =?UTF-8?q?pertoires=20de=20templates=20sont=20disponibles?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apacheconfig | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/apacheconfig b/apacheconfig index caedae4..4003776 100755 --- a/apacheconfig +++ b/apacheconfig @@ -221,17 +221,25 @@ elif [ "$action" == new-site ]; then host="$site_host" templdir="$site_templdir" - if [ -z "$templdir" ]; then + if [ -z "$templdir" -a -d "$destdir/templates" ]; then # si on ne précise pas le template à utiliser, alors afficher # éventuellement un menu si plusieurs templates sont disponibles - : - # algo: on liste les *fichiers* de $destdir/templates: s'il y en a, - # alors ajouter ce répertoire à la liste des répertoires de template - # puis lister les répertoires de $destdir/templates. pour chacun de ces - # répertoires, s'ils sont non vides, les rajouter à la liste des - # répertoires de template. Ensuite, si la liste des répertoires de - # template contient plus d'un élément, afficher un menu pour choisir le - # template. + templdirs=() + if [ -n "$(list_all "$destdir/templates" "*SITE*")" ]; then + array_add templdirs templates + templdir=templates + fi + array_from_lines stempldirs "$(list_dirs "$destdir/templates" | grep -v SITE)" + for stempldir in "${stempldirs[@]}"; do + if [ -n "$(list_all "$destdir/templates/$stempldir" "*SITE*")" ]; then + array_add templdirs "templates/$stempldir" + [ -n "$templdir" ] || templdir="templates/$stempldir" + fi + done + if [ ${#templdirs[*]} -gt 1 ]; then + simple_menu templdir templdirs -t "Choix du répertoire des modèles" -m "Veuillez choisir le modèle à utiliser" + fi + templdir="$destdir/$templdir" fi if [[ "$templdir" != */* ]] && [ -d "$destdir/templates/$templdir" ]; then