vignette.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. /***************************************************************************\
  3. * SPIP, Systeme de publication pour l'internet *
  4. * *
  5. * Copyright (c) 2001-2014 *
  6. * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
  7. * *
  8. * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
  9. * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
  10. \***************************************************************************/
  11. if (!defined('_ECRIRE_INC_VERSION')) return;
  12. /**
  13. * Vignette pour les documents lies
  14. * rechercher les fichiers d'icone au format png pour l'extension demandee
  15. *
  16. * on cherche prive/vignettes/ext.png dans le path
  17. *
  18. * @param string $ext
  19. * @param bool $size
  20. * @param bool $loop
  21. * @return array|bool|int|string
  22. */
  23. function inc_vignette_dist($ext, $size=true, $loop = true) {
  24. if (!$ext)
  25. $ext = 'txt';
  26. // Chercher la vignette correspondant a ce type de document
  27. // dans les vignettes persos, ou dans les vignettes standard
  28. if (
  29. # installation dans un dossier /vignettes personnel, par exemple /squelettes/vignettes
  30. !$v = find_in_path("prive/vignettes/".$ext.".png")
  31. )
  32. if ($loop){
  33. $f = charger_fonction('vignette','inc');
  34. $v = $f('defaut', false, $loop=false);
  35. }
  36. else
  37. $v = false; # pas trouve l'icone de base
  38. if (!$size) return $v;
  39. $largeur = $hauteur = 0;
  40. if ($v AND $size = @getimagesize($v)) {
  41. $largeur = $size[0];
  42. $hauteur = $size[1];
  43. }
  44. return array($v, $largeur, $hauteur);
  45. }
  46. ?>