/**
  * Creation d'un objet zone d'identifiant $pName
  * @param string $name le nom de la zone à instancier.
  * @private
  */
 private static function _create($pName)
 {
     //Récupération des éléments critiques.
     $fileInfo = new CopixModuleFileSelector($pName);
     CopixContext::push($fileInfo->module);
     //Récupère le nom du fichier en fonction du module courant.
     $fileName = $fileInfo->getPath(COPIX_ZONES_DIR) . strtolower($fileInfo->fileName) . '.zone.php';
     if (!file_exists($fileName)) {
         return false;
     }
     //inclusion du fichier.
     Copix::RequireOnce($fileName);
     $objName = 'Zone' . $fileInfo->fileName;
     return new $objName();
 }
 /**
  * instanciation d'un objet plugin.
  * instancie également l'objet de configuration associé
  * @param	string	$name	nom du plugin
  * @return	CopixPlugin		le plugin instancié
  */
 function &create($name)
 {
     require_once COPIX_CORE_PATH . 'CopixPlugin.class.php';
     $fic = new CopixModuleFileSelector($name);
     $nom = strtolower($fic->fileName);
     $path = $fic->getPath(COPIX_PLUGINS_DIR) . $nom . '/' . $nom;
     $path_plugin = $path . '.plugin.php';
     $path_config = $path . '.plugin.conf.php';
     if (is_file($path_plugin) && is_file($path_config)) {
         require_once $path_config;
         require_once $path_plugin;
         $classname = 'PluginConfig' . $fic->fileName;
         //nom de la classe de configuration.
         $config =& new $classname();
         //en deux étapes, impossible de mettre la ligne dans les paramètres du constructeur.
         $name = 'Plugin' . $fic->fileName;
         $toReturn =& new $name($config);
         //nouvel objet plugin, on lui passe en paramètre son objet de configuration.
         return $toReturn;
         //retour du plugin instancié.
     } else {
         trigger_error(CopixI18N::get('copix:copix.error.unfounded.plugin', $name), E_USER_ERROR);
     }
 }
 /**
  * Include a static file.
  *
  * we're gonna parse the file for a | (pipe), if founded, we're gonna
  *   include the static file from the module path.
  *  Else, we'll include the file considering the project path
  * @param    string $idOfFile le nom formaté du fichier
  */
 function includeStatic($idOfFile)
 {
     //Récupération des éléments critiques.
     $fileInfo = new CopixModuleFileSelector($idOfFile);
     //makes the fileName.
     $fileName = $fileInfo->getPath(COPIX_STATIC_DIR) . $fileInfo->fileName;
     //test & go.
     if (is_readable($fileName)) {
         ob_start();
         readfile($fileName);
         $toShow = ob_get_contents();
         ob_end_clean();
         return $toShow;
     } else {
         trigger_error(CopixI18N::get('copix:copix.error.unfounded.static', $fileName), E_USER_ERROR);
     }
 }
 /**
  * Calcule le chemin de la configuration par défaut d'un plugin.
  *
  * @param string $pluginName Sélecteur du plugin.
  * @return Le chemin de la configuration par défaut, généralement MODULE/plugins/PLUGIN/PLUGIN.pluigin.default.conf.php.
  */
 private static function _getDefaultConfigPath($pluginName)
 {
     $fic = new CopixModuleFileSelector($pluginName);
     $nom = strtolower($fic->fileName);
     return $fic->getPath(COPIX_PLUGINS_DIR) . $nom . '/' . $nom . '.plugin.default.conf.php';
 }