ab7d9e4c393f19f5f5b2972af2002b86d097cd8f
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
6 * Copyright (c) 2001-2017 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
16 * @package SPIP\Core\Logos
18 if (!defined('_ECRIRE_INC_VERSION')) {
23 * Cherche le logo d'un élément d'objet
25 * @global formats_logos Extensions possibles des logos
26 * @uses type_du_logo()
29 * Identifiant de l'objet
30 * @param string $_id_objet
31 * Nom de la clé primaire de l'objet
33 * Mode de survol du logo désiré (on ou off)
35 * - Liste (chemin complet du fichier, répertoire de logos, nom du logo, extension du logo, date de modification)
36 * - array vide aucun logo trouvé.
38 function inc_chercher_logo_dist($id, $_id_objet, $mode = 'on') {
39 # attention au cas $id = '0' pour LOGO_SITE_SPIP : utiliser intval()
41 $type = type_du_logo($_id_objet);
42 $nom = $type . $mode . intval($id);
44 foreach ($GLOBALS['formats_logos'] as $format) {
45 if (@file_exists
($d = (_DIR_LOGOS
. $nom . '.' . $format))) {
46 return array($d, _DIR_LOGOS
, $nom, $format, @filemtime
($d));
50 # coherence de type pour servir comme filtre (formulaire_login)
55 * Retourne le type de logo tel que `art` depuis le nom de clé primaire
58 * C'est par défaut le type d'objet, mais il existe des exceptions historiques
59 * déclarées par la globale `$table_logos`
61 * @global table_logos Exceptions des types de logo
63 * @param string $_id_objet
64 * Nom de la clé primaire de l'objet
68 function type_du_logo($_id_objet) {
69 return isset($GLOBALS['table_logos'][$_id_objet])
70 ?
$GLOBALS['table_logos'][$_id_objet]
71 : objet_type(preg_replace(',^id_,', '', $_id_objet));
74 // Exceptions standards (historique)
75 $GLOBALS['table_logos'] = array(
76 'id_article' => 'art',
78 'id_rubrique' => 'rub',
79 'id_groupe' => 'groupe',