diff options
| author | polo <ordipolo@gmx.fr> | 2022-11-25 03:59:32 +0100 |
|---|---|---|
| committer | polo <ordipolo@gmx.fr> | 2022-11-25 03:59:32 +0100 |
| commit | efe371fd6e883dde99ca6d90a7aae99eb4aeadea (patch) | |
| tree | 54b342e58e4e3908abf5f42c85680d32540dd7f3 /php/dependances.php | |
| download | AppliGestionPHP-efe371fd6e883dde99ca6d90a7aae99eb4aeadea.tar.gz AppliGestionPHP-efe371fd6e883dde99ca6d90a7aae99eb4aeadea.tar.bz2 AppliGestionPHP-efe371fd6e883dde99ca6d90a7aae99eb4aeadea.zip | |
première sauvegarde git
Diffstat (limited to 'php/dependances.php')
| -rw-r--r-- | php/dependances.php | 100 |
1 files changed, 100 insertions, 0 deletions
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 @@ | |||
| 1 | <?php | ||
| 2 | // php/dependances.php | ||
| 3 | // Vérification des dépendances nécessaires au fonctionnement de ce programmes. | ||
| 4 | |||
| 5 | // Environnement dans lequel ce programmes a été créé: | ||
| 6 | // - système archlinux avec l'interpréteur bash | ||
| 7 | // - PHP 8.1 + paquet php-sqlite | ||
| 8 | // - module pdo_sqlite activé dans le fichier php.ini | ||
| 9 | // - sqlitebrowser (interface graphique pour sqlite) | ||
| 10 | // - distribution LaTeX texlive | ||
| 11 | // - zenity | ||
| 12 | |||
| 13 | // zenity disponible | ||
| 14 | if(exec("zenity --version 2> /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 | ||
| 15 | { | ||
| 16 | printf("Impossible de lancer zenity. Veuillez installer le paquet zenity\n"); | ||
| 17 | exit(); | ||
| 18 | } | ||
| 19 | |||
| 20 | // compilateur pdflatex disponible | ||
| 21 | if(exec("pdflatex -version 2> /dev/null") == '') // erreur si la chaine est vide parce que la sortie d'erreur va dans /dev/null | ||
| 22 | { | ||
| 23 | printf("Impossible de lancer pdflatex. Veuillez installer une distribution LaTeX.\n"); | ||
| 24 | exit(); | ||
| 25 | } | ||
| 26 | |||
| 27 | // test de la présence du paquet php-sqlite | ||
| 28 | // compliqué? dépend de l'OS? | ||
| 29 | // note: l'erreur se produit dès le démarrage de PHP si le php.ini est bon mais qu'il manque le paquet | ||
| 30 | |||
| 31 | // module pdo_sqlite de PHP activé? | ||
| 32 | if(!extension_loaded("pdo_sqlite")) | ||
| 33 | { | ||
| 34 | 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"); | ||
| 35 | exit(); | ||
| 36 | } | ||
| 37 | |||
| 38 | |||
| 39 | // client sqlite | ||
| 40 | if($exec_mode == 'gui') | ||
| 41 | { | ||
| 42 | // sqlitebrowser disponible | ||
| 43 | 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 | ||
| 44 | { | ||
| 45 | $sqlitebrowser_enable = true; | ||
| 46 | } | ||
| 47 | // terminal en mode graphique disponible, permettra d'y utiliser sqlite dans la console | ||
| 48 | else | ||
| 49 | { | ||
| 50 | printf("Sqlitebrowser n'est pas disponible. J'espère que vous maîtrisez le SQL.\n"); | ||
| 51 | |||
| 52 | if(exec("which xterm 2> /dev/null") != '' && exec("xterm -v 2> /dev/null") != '') | ||
| 53 | { | ||
| 54 | $x_term_ccommand = 'xterm -e'; | ||
| 55 | } | ||
| 56 | elseif(exec("which urxvt 2> /dev/null") != '') | ||
| 57 | { | ||
| 58 | $x_term_ccommand = 'urxvt -e'; | ||
| 59 | } | ||
| 60 | elseif(exec("which lxterminal 2> /dev/null") != '' && exec("lxterminal -v 2> /dev/null") != '') | ||
| 61 | { | ||
| 62 | $x_term_ccommand = 'lxterminal -e'; | ||
| 63 | } | ||
| 64 | elseif(exec("which xfce4-terminal 2> /dev/null") != '' && exec("xfce4-terminal -V 2> /dev/null") != '') | ||
| 65 | { | ||
| 66 | $x_term_ccommand = 'xfce4-terminal -x'; | ||
| 67 | } | ||
| 68 | elseif(exec("which gnome-terminal 2> /dev/null") != '') | ||
| 69 | { | ||
| 70 | $x_term_ccommand = 'gnome-terminal --'; | ||
| 71 | } | ||
| 72 | elseif(exec("which konsole 2> /dev/null") != '' && exec("konsole -v 2> /dev/null") != '') | ||
| 73 | { | ||
| 74 | $x_term_ccommand = 'konsole -e'; | ||
| 75 | } | ||
| 76 | // pour MAC - NON TESTÉ !! (possibilité de détecter le système avec uname?) | ||
| 77 | //~ elseif(exec("which Terminal 2> /dev/null") != '') | ||
| 78 | //~ { | ||
| 79 | //~ $x_term_ccommand = 'open -a Terminal -e'; // ne marche probablement pas | ||
| 80 | //~ } | ||
| 81 | else | ||
| 82 | { | ||
| 83 | printf("Impossible d'ouvrir un terminal pour y lancer sqlite. Veuillez installer un terminal en mode graphique (par exemple xterm).\n"); | ||
| 84 | } | ||
| 85 | } | ||
| 86 | } | ||
| 87 | |||
| 88 | // sqlite CLI disponible | ||
| 89 | if(exec("which sqlite 2> /dev/null") != '' && exec("sqlite --version 2> /dev/null") != '') | ||
| 90 | { | ||
| 91 | $sqlite_cli = 'sqlite'; | ||
| 92 | } | ||
| 93 | elseif(exec("which sqlite3 2> /dev/null") != '' && exec("sqlite3 --version 2> /dev/null") != '') | ||
| 94 | { | ||
| 95 | $sqlite_cli = 'sqlite3'; | ||
| 96 | } | ||
| 97 | else | ||
| 98 | { | ||
| 99 | printf("Impossible de lancer sqlite dans le terminal en utilisant la commande ' . $sqlite_cli . '\n"); | ||
| 100 | } | ||
