/** * 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'; }