File "vignette.php"
Full path: /home/argothem/www/organecyberpresse/plugins-dist/medias/inc/vignette.php
File size: 2.45 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/***************************************************************************\
* SPIP, Système de publication pour l'internet *
* *
* Copyright © avec tendresse depuis 2001 *
* Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribué sous licence GNU/GPL. *
\***************************************************************************/
/**
* Gestion des vignettes de types de fichier
*
* @package SPIP\Medias\Vignette
**/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
/**
* Vignette pour une extension de document
*
* Recherche les fichiers d'icones au format SVG pour l'extension demandée.
* On cherche prive/vignettes/ext.svg dans le path.
*
* @param string $ext
* Extension du fichier. Exemple : png
* @param string $media
* Permet de retourner une variante de la vignette adaptee au media
* cas des mp4 par exemple que l'on decline quand c'est un audio
* @param bool $loop
* Autoriser la fonction à s'appeler sur elle-même
* (paramètre interne).
* @return ?string
* null si l'image n'est pas trouvée
* Chaîne (chemin vers l'image) si on ne demande pas de taille
*/
function inc_vignette_dist($ext, $media = '', $loop = true) {
// deprecated signature avec second argument true pour récuperer un tableau avec size
if ($media === true) {
trigger_deprecation(
'medias',
'2.0',
'Using "%s" is deprecated',
'vignette($ext, true)'
);
$v = inc_vignette_dist($ext, '', $loop);
$largeur = $hauteur = 0;
if ($v && ($size = @spip_getimagesize($v))) {
$largeur = $size[0];
$hauteur = $size[1];
}
return [$v, $largeur, $hauteur];
}
if (!$ext) {
$ext = 'txt';
}
// Chercher la vignette correspondant a ce type de document
// dans les vignettes persos, ou dans les vignettes standard
# installation dans un dossier /vignettes personnel, par exemple /squelettes/vignettes
if (!$media || !($v = find_in_path('prive/vignettes/' . $ext . '-' . $media . '.svg'))) {
$v = find_in_path('prive/vignettes/' . $ext . '.svg');
}
if (!$v) {
if ($loop) {
$f = charger_fonction('vignette', 'inc');
$v = $f('defaut', $media, false);
} else {
$v = false;
}
} # pas trouve l'icone de base
return $v ?: null;
}