From efe371fd6e883dde99ca6d90a7aae99eb4aeadea Mon Sep 17 00:00:00 2001 From: polo Date: Fri, 25 Nov 2022 03:59:32 +0100 Subject: =?UTF-8?q?premi=C3=A8re=20sauvegarde=20git?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- php/dependances.php | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 php/dependances.php (limited to 'php/dependances.php') diff --git a/php/dependances.php b/php/dependances.php new file mode 100644 index 0000000..4a5667e --- /dev/null +++ b/php/dependances.php @@ -0,0 +1,100 @@ + /dev/null") == '') // commande qui n'ouvre pas de fenêtre, erreur si la chaine est vide parce que la sortie d'erreur va dans /dev/null +{ + printf("Impossible de lancer zenity. Veuillez installer le paquet zenity\n"); + exit(); +} + +// compilateur pdflatex disponible +if(exec("pdflatex -version 2> /dev/null") == '') // erreur si la chaine est vide parce que la sortie d'erreur va dans /dev/null +{ + printf("Impossible de lancer pdflatex. Veuillez installer une distribution LaTeX.\n"); + exit(); +} + +// test de la présence du paquet php-sqlite +// compliqué? dépend de l'OS? +// note: l'erreur se produit dès le démarrage de PHP si le php.ini est bon mais qu'il manque le paquet + +// module pdo_sqlite de PHP activé? +if(!extension_loaded("pdo_sqlite")) +{ + printf("Impossible d'utiliser la base de données. Veuillez installer le paquet php-sqlite ET activer l'extension pdo_sqlite dans le fichier php.ini.\n"); + exit(); +} + + +// client sqlite +if($exec_mode == 'gui') +{ + // sqlitebrowser disponible + if(exec("which sqlitebrowser 2> /dev/null") != '') // which parcourt les dossiers du PATH et affiche les chemins trouvés, erreur si la chaine est vide parce que la sortie d'erreur va dans /dev/null + { + $sqlitebrowser_enable = true; + } + // terminal en mode graphique disponible, permettra d'y utiliser sqlite dans la console + else + { + printf("Sqlitebrowser n'est pas disponible. J'espère que vous maîtrisez le SQL.\n"); + + if(exec("which xterm 2> /dev/null") != '' && exec("xterm -v 2> /dev/null") != '') + { + $x_term_ccommand = 'xterm -e'; + } + elseif(exec("which urxvt 2> /dev/null") != '') + { + $x_term_ccommand = 'urxvt -e'; + } + elseif(exec("which lxterminal 2> /dev/null") != '' && exec("lxterminal -v 2> /dev/null") != '') + { + $x_term_ccommand = 'lxterminal -e'; + } + elseif(exec("which xfce4-terminal 2> /dev/null") != '' && exec("xfce4-terminal -V 2> /dev/null") != '') + { + $x_term_ccommand = 'xfce4-terminal -x'; + } + elseif(exec("which gnome-terminal 2> /dev/null") != '') + { + $x_term_ccommand = 'gnome-terminal --'; + } + elseif(exec("which konsole 2> /dev/null") != '' && exec("konsole -v 2> /dev/null") != '') + { + $x_term_ccommand = 'konsole -e'; + } + // pour MAC - NON TESTÉ !! (possibilité de détecter le système avec uname?) + //~ elseif(exec("which Terminal 2> /dev/null") != '') + //~ { + //~ $x_term_ccommand = 'open -a Terminal -e'; // ne marche probablement pas + //~ } + else + { + printf("Impossible d'ouvrir un terminal pour y lancer sqlite. Veuillez installer un terminal en mode graphique (par exemple xterm).\n"); + } + } +} + +// sqlite CLI disponible +if(exec("which sqlite 2> /dev/null") != '' && exec("sqlite --version 2> /dev/null") != '') +{ + $sqlite_cli = 'sqlite'; +} +elseif(exec("which sqlite3 2> /dev/null") != '' && exec("sqlite3 --version 2> /dev/null") != '') +{ + $sqlite_cli = 'sqlite3'; +} +else +{ + printf("Impossible de lancer sqlite dans le terminal en utilisant la commande ' . $sqlite_cli . '\n"); +} -- cgit v1.2.3