You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.5 KiB
48 lines
1.5 KiB
<?php |
|
/** |
|
* Ce fichier contient les utilitaires de N-Core. |
|
* |
|
* @package SPIP\NCORE\OUTILS |
|
*/ |
|
if (!defined('_ECRIRE_INC_VERSION')) { |
|
return; |
|
} |
|
|
|
|
|
/** |
|
* Cherche une fonction donnée en se basant sur le service de stockage ou à défaut sur le plugin appelant. |
|
* Si ni le service de stockage ni le plugin ne fournissent la fonction demandée la chaîne vide est renvoyée. |
|
* |
|
* @param string $plugin |
|
* Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier ou |
|
* un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe. |
|
* @param bool $fonction |
|
* Nom de la fonction à chercher. |
|
* @param string $stockage |
|
* Identifiant du service de stockage à utiliser si précisé. Dans ce cas, ni celui du plugin |
|
* ni celui de N-Core ne seront utilisés. En général, cet identifiant est le préfixe d'un plugin |
|
* fournissant le service de stockage souhaité. |
|
* |
|
* @return string |
|
* Nom complet de la fonction si trouvée ou chaine vide sinon. |
|
*/ |
|
function ncore_chercher_service($plugin, $fonction, $stockage = '') { |
|
|
|
$fonction_trouvee = ''; |
|
|
|
// Si le stockage n'est pas précisé on cherche la fonction dans le plugin appelant. |
|
if (!$stockage) { |
|
$stockage = $plugin; |
|
} |
|
|
|
// Eviter la réentrance si on demande explicitement le stockage N-Core |
|
if ($stockage != 'ncore') { |
|
include_spip("ncore/${stockage}"); |
|
$fonction_trouvee = "${stockage}_${fonction}"; |
|
if (!function_exists($fonction_trouvee)) { |
|
$fonction_trouvee = ''; |
|
} |
|
} |
|
|
|
return $fonction_trouvee; |
|
}
|
|
|