/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.\nUn environnemet graphique est également nécéssaire.\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"); }