Newer
Older

cedric@yterium.com
a validé
<?php
/***************************************************************************\
* SPIP, Système de publication pour l'internet *

cedric@yterium.com
a validé
* *
* Copyright © avec tendresse depuis 2001 *
* Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James *

cedric@yterium.com
a validé
* *
* Ce programme est un logiciel libre distribué sous licence GNU/GPL. *
* Pour plus de détails voir le fichier COPYING.txt ou l'aide en ligne. *

cedric@yterium.com
a validé
\***************************************************************************/

marcimat@rezo.net
a validé
/**
* Gestion des vignettes de types de fichier
*
* @package SPIP\Medias\Vignette

cedric@yterium.com
a validé
**/

marcimat@rezo.net
a validé

cedric@yterium.com
a validé
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}

cedric@yterium.com
a validé

cedric@yterium.com
a validé
/**

marcimat@rezo.net
a validé
* Vignette pour une extension de document

cedric@yterium.com
a validé
*

marcimat@rezo.net
a validé
* Recherche les fichiers d'icones au format png pour l'extension demandée.
* On cherche prive/vignettes/ext.png dans le path.

cedric@yterium.com
a validé
*
* @param string $ext

marcimat@rezo.net
a validé
* Extension du fichier. Exemple : png

cedric@yterium.com
a validé
* @param bool $size

marcimat@rezo.net
a validé
* true pour retourner un tableau avec les tailles de la vignette
* false pour retourner uniquement le chemin du fichier

cedric@yterium.com
a validé
* @param bool $loop

marcimat@rezo.net
a validé
* Autoriser la fonction à s'appeler sur elle-même
* (paramètre interne).
* @return array|bool|string
* False si l'image n'est pas trouvée
* Chaîne (chemin vers l'image) si on ne demande pas de taille
* Tableau (chemin, largeur, hauteur) si on demande avec la taille.

cedric@yterium.com
a validé
*/

gilles.vincent@gmail.com
a validé
function inc_vignette_dist($ext, $size = true, $loop = true) {

cedric@yterium.com
a validé

cedric@yterium.com
a validé
if (!$ext) {

cedric@yterium.com
a validé
$ext = 'txt';

cedric@yterium.com
a validé
}

cedric@yterium.com
a validé
// Chercher la vignette correspondant a ce type de document
// dans les vignettes persos, ou dans les vignettes standard
if (

cedric@yterium.com
a validé
# installation dans un dossier /vignettes personnel, par exemple /squelettes/vignettes
!$v = find_in_path('prive/vignettes/' . $ext . '.svg')

cedric@yterium.com
a validé
) {
if ($loop) {
$f = charger_fonction('vignette', 'inc');
$v = $f('defaut', false, $loop = false);
} else {
$v = false;

cedric@yterium.com
a validé
}

cedric@yterium.com
a validé
} # pas trouve l'icone de base

cedric@yterium.com
a validé

cedric@yterium.com
a validé
if (!$size) {
return $v;
}

cedric@yterium.com
a validé

cedric@yterium.com
a validé
$largeur = $hauteur = 0;

cedric@yterium.com
a validé
if ($v and $size = @spip_getimagesize($v)) {

cedric@yterium.com
a validé
$largeur = $size[0];
$hauteur = $size[1];
}
return array($v, $largeur, $hauteur);
}