41 lines
		
	
	
		
			908 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			908 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php 
 | 
						|
abstract class Module
 | 
						|
{
 | 
						|
	/**
 | 
						|
	* Liste des paramètres du module en concordance avec le "config.xml"
 | 
						|
	* Ses éléments ne peuvent être modifiés
 | 
						|
	* @var array
 | 
						|
	*/
 | 
						|
	protected static $paramsList = array();
 | 
						|
	
 | 
						|
	// Nom du module (aka le nom de la classe en minuscule)
 | 
						|
	protected $moduleName;
 | 
						|
	
 | 
						|
	// Libellé du module (aka le nom affiché)
 | 
						|
	protected $moduleTitle;
 | 
						|
	
 | 
						|
	// Le chemin vers le module
 | 
						|
	protected $pathToModule;
 | 
						|
	
 | 
						|
	/**
 | 
						|
	* Liste des paramètres et leurs valeurs de l'object
 | 
						|
	*
 | 
						|
	* @var array
 | 
						|
	*/
 | 
						|
	public $params = array();
 | 
						|
	
 | 
						|
	private function setParams($params){
 | 
						|
		$this->params = $params;
 | 
						|
	}
 | 
						|
	
 | 
						|
	abstract static function start($params);
 | 
						|
 | 
						|
	public static function updateConfig($updated){
 | 
						|
		foreach ($updated as $what=>$withWhat){
 | 
						|
			if(in_array($what, self::$paramsList)){
 | 
						|
				call_user_func(array(get_class(), "set".ucfirst($what)), $withWhat);
 | 
						|
			}
 | 
						|
		}
 | 
						|
	}
 | 
						|
	
 | 
						|
} |