Rev 26 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?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éralerequire dirname(__FILE__).DIRECTORY_SEPARATOR.'scripts.conf.php';// Gestion de l'auto chargement des classesfunction __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.'.php';if (file_exists($fichier)) {require_once $fichier;}// Gestion des bibliothèques des scriptsforeach ($GLOBALS['chemins_autoload'] as $chemin) {$fichier = $chemin.$classe.'.php';if (file_exists($fichier)) {require_once $fichier;break;}}}// Le fichier autoload.inc.php du Framework de Tela Botanica doit être appelée avant tout autre chose dans l'application.// Sinon, rien ne sera chargé.// Chemin du fichier chargeant le framework requis$framework = dirname(__FILE__).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'interfaces'.DIRECTORY_SEPARATOR.'framework.php';if (!file_exists($framework)) {$e = "Veuillez paramêtrer l'emplacement et la version du Framework dans le fichier $framework";trigger_error($e, E_USER_ERROR);} else {// Inclusion du Frameworkrequire_once $framework;// Ajout d'information concernant cette applicationApplication::setChemin(__FILE__);// ObligatoireApplication::setInfo(Config::get('info'));/*** 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();// Affichage des execptions et erreurs générées par le scriptecho GestionnaireException::getExceptions();}?>