##@cooked comments # -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8 ## Support des scripts CGI attaqués par un lien symbolique ##@cooked nocomments # Ce fichier doit être inclu avec uinc # Si le script qui inclu ce fichier est lancé comme script CGI par un lien, il # doit pouvoir accéder à ses fichiers de support à partir de son répertoire # d'origine. Ce fichier permet de s'assurer que scriptdir a la bonne valeur. # cgiscriptdir contient la valeur d'origine, c'est à dire le répertoire cgi à # partir duquel le script est lancé. if [ -L "$0" ]; then cgiscriptdir="$(dirname "$0")" if [ "$(uname -s)" == Linux ]; then script="$(readlink -f -- "$0")" scriptdir="$(dirname -- "$script")" scriptname="$(basename -- "$script")" else # Sur un système autre que linux, readlink -f n'existe sans doute pas. # Essayer de l'émuler: si le lien est relatif, l'exprimer par rapport à # $scriptdir. Ne prendre qu'un seul niveau de lien symbolique. script="$(readlink -- "$0")" [ "${script#/}" != "$script" ] || script="$cgiscriptdir/$script" scriptdir="$(dirname -- "$script")" scriptdir="$(cd "$scriptdir"; pwd)" scriptname="$(basename -- "$script")" script="$scriptdir/$scriptname" fi else scriptdir="$(dirname -- "$0")" scriptdir="$(cd "$scriptdir"; pwd)" scriptname="$(basename -- "$0")" script="$scriptdir/$scriptname" fi UTOOLS_HAVE_SCRIPTVARS=1 # Juste après avoir inclu ce fichier, il faut rajouter une ligne comme celle-ci # pour charger ulib: #source "$scriptdir/ulib/auto"