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(); |
|
?> |