Blame | Last modification | View Log | RSS feed
<?php// Encodage : UTF-8// +-------------------------------------------------------------------------------------------------------------------+/*** Script** Description : Fabrique permettant de charger les scripts*//Auteur original :* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>* @copyright Tela-Botanica 1999-2008* @licence GPL v3 & CeCILL v2* @version $Id$*/// +-------------------------------------------------------------------------------------------------------------------+class Script {/** Niveau de message de type LOG */const LOG = 0;/** Niveau de message de type ERREUR */const ERREUR = 1;/** Niveau de message de type AVERTISSEMENT */const AVERTISSEMENT = 2;/** Niveau de message de type INFORMATION */const INFO = 3;public static function getCode($niveau) {$txt_niveaux = array('LOG', 'ERREUR','AVERTISSEMENT', 'INFO');return $txt_niveaux[$niveau];}public static function charger($commande_nom) {$classe_nom = implode('', array_map('ucfirst', explode('_', strtolower($commande_nom))));$fichier_script = ES_CHEMIN_MODULE.$commande_nom.DS.$classe_nom.'.php';if (!file_exists($fichier_script)){trigger_error("Erreur : script '$fichier_script' inconnu!\n", E_USER_ERROR);}require_once $fichier_script;if (!class_exists( $classe_nom)) {trigger_error("Erreur: impossible de trouver la classe de la commande : $classe_nom\n", E_USER_ERROR);}$Script = new $classe_nom($commande_nom);return $Script;}public static function getParametres($argv) {$parametres = array();// Récupération des optionswhile(count($argv)) {if (isset($argv[1]) && $argv[1]{0} != '-') {$param = array_shift($argv);$parametres[$param] = array_shift($argv);} elseif (!isset($argv[1]) || $argv[1]{0} == '-') {$parametres[array_shift($argv)] = null;} else {trigger_error("Erreur: valeur manquante pour le paramêtre '".$argv[0]."' \n", E_USER_ERROR);}}return $parametres;}public static function setAutoloadChemin($chemin) {if (is_array($chemin)) {$GLOBALS['chemins_autoload'] = array_unique(array_merge($GLOBALS['chemins_autoload'], $chemin));} else {$GLOBALS['chemins_autoload'][] = $chemin;}}}?>