| New file |
| 0,0 → 1,87 |
| <?php |
| // Encodage : UTF-8 |
| // +-------------------------------------------------------------------------------------------------------------------+ |
| /** |
| * script |
| * |
| * Description : initialise le chargement et l'exécution des scripts |
| * Fichier d'origine jelix-scripts par Jouanneau Laurent |
| * copyright 2005-2007 Jouanneau laurent |
| * link http://www.jelix.org |
| * |
| //Auteur original : |
| * @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
| * @copyright Tela-Botanica 1999-2008 |
| * @licence GPL v3 & CeCILL v2 |
| * @version $Id$ |
| */ |
| // +-------------------------------------------------------------------------------------------------------------------+ |
| // Récupération de la config générale |
| require dirname(__FILE__).DIRECTORY_SEPARATOR.'scripts.conf.php'; |
| |
| // Gestion de l'auto chargement des classes |
| function __autoload($classe) |
| { |
| // Gestion des fichiers pésent dans le path |
| $fichier = $classe.'.php'; |
| if (file_exists($fichier)) { |
| require_once $fichier; |
| } |
| |
| // Gestion des classes PEAR |
| $fichier = ES_CHEMIN_PEAR; |
| if (!substr_count($classe, '_') > 0) { |
| $fichier .= $classe; |
| } else { |
| |
| $tab_chemin = explode('_', $classe); |
| foreach ($tab_chemin as $c => $v) { |
| $fichier .= ($c == 0) ? $v.DS : $v; |
| } |
| } |
| $fichier .= '.php'; |
| if (file_exists($fichier)) { |
| require_once $fichier; |
| } |
| |
| // Gestion des classes principales des modules |
| $module = strtolower(str_replace(' ', '_', preg_replace('/([a-z])([A-Z])/', '$1 $2',$classe))); |
| $fichier = ES_CHEMIN_MODULE.$module.DS.$classe.'.class.php'; |
| if (file_exists($fichier)) { |
| require_once $fichier; |
| } |
| |
| // Gestion des bibliothèques des scripts |
| foreach ($GLOBALS['chemins_autoload'] as $chemin) { |
| $fichiers = array( $chemin.$classe.'.class.php', |
| $chemin.$classe.'.php'); |
| |
| foreach ($fichiers as $fichier) { |
| if (file_exists($fichier)) { |
| require_once $fichier; |
| break; |
| } |
| } |
| } |
| } |
| |
| /** |
| * récupération du nom de la commande et éventuellement du nom de l'application |
| */ |
| if ($_SERVER['argc'] < 2){ |
| die("Erreur: pas de commande. Voir '".$_SERVER['argv'][0]." help'.\n"); |
| } |
| |
| $argv = $_SERVER['argv']; |
| $script_nom = array_shift($argv); // shift le nom du script |
| $commande_nom = array_shift($argv); // prend le nom de la commande |
| |
| // Chargement de la commande |
| $Script = Script::charger($commande_nom); |
| $parametres = Script::getParametres($argv); |
| |
| // Lancement de la commande |
| $Script->initialiser($parametres); |
| $Script->executer(); |
| |
| ?> |