X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=www%2Fecrire%2Finc%2Fchercher_logo.php;h=ab7d9e4c393f19f5f5b2972af2002b86d097cd8f;hb=4f443dce95ff6f8221c189880a70c74ce1c1f238;hp=abd81d7a28e9d9f042c06d8b7f7ed513dd4682b4;hpb=4a628e9b277d3617535f99d663ca79fa2e891177;p=lhc%2Fweb%2Fwww.git diff --git a/www/ecrire/inc/chercher_logo.php b/www/ecrire/inc/chercher_logo.php index abd81d7a..ab7d9e4c 100644 --- a/www/ecrire/inc/chercher_logo.php +++ b/www/ecrire/inc/chercher_logo.php @@ -3,46 +3,78 @@ /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * - * Copyright (c) 2001-2016 * + * Copyright (c) 2001-2017 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ -if (!defined('_ECRIRE_INC_VERSION')) return; +/** + * Recherche de logo + * + * @package SPIP\Core\Logos + **/ +if (!defined('_ECRIRE_INC_VERSION')) { + return; +} -// http://doc.spip.org/@inc_chercher_logo_dist -function inc_chercher_logo_dist($id, $_id_objet, $mode='on') { - global $formats_logos; +/** + * Cherche le logo d'un élément d'objet + * + * @global formats_logos Extensions possibles des logos + * @uses type_du_logo() + * + * @param int $id + * Identifiant de l'objet + * @param string $_id_objet + * Nom de la clé primaire de l'objet + * @param string $mode + * Mode de survol du logo désiré (on ou off) + * @return array + * - Liste (chemin complet du fichier, répertoire de logos, nom du logo, extension du logo, date de modification) + * - array vide aucun logo trouvé. + **/ +function inc_chercher_logo_dist($id, $_id_objet, $mode = 'on') { # attention au cas $id = '0' pour LOGO_SITE_SPIP : utiliser intval() - + $type = type_du_logo($_id_objet); $nom = $type . $mode . intval($id); - - foreach ($formats_logos as $format) { + + foreach ($GLOBALS['formats_logos'] as $format) { if (@file_exists($d = (_DIR_LOGOS . $nom . '.' . $format))) { return array($d, _DIR_LOGOS, $nom, $format, @filemtime($d)); } } + # coherence de type pour servir comme filtre (formulaire_login) return array(); } -// http://doc.spip.org/@type_du_logo +/** + * Retourne le type de logo tel que `art` depuis le nom de clé primaire + * de l'objet + * + * C'est par défaut le type d'objet, mais il existe des exceptions historiques + * déclarées par la globale `$table_logos` + * + * @global table_logos Exceptions des types de logo + * + * @param string $_id_objet + * Nom de la clé primaire de l'objet + * @return string + * Type du logo + **/ function type_du_logo($_id_objet) { return isset($GLOBALS['table_logos'][$_id_objet]) ? $GLOBALS['table_logos'][$_id_objet] - : objet_type(preg_replace(',^id_,','',$_id_objet)); + : objet_type(preg_replace(',^id_,', '', $_id_objet)); } // Exceptions standards (historique) -global $table_logos; -$table_logos = array( - 'id_article' => 'art', - 'id_auteur' => 'aut', +$GLOBALS['table_logos'] = array( + 'id_article' => 'art', + 'id_auteur' => 'aut', 'id_rubrique' => 'rub', 'id_groupe' => 'groupe', ); - -?>