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);
|
|
}
|
|
}
|
|
}
|
|
|
|
} |