diff --git a/dist/site.html b/dist/site.html index e0afbc564becbaff2c08cb09d214c6cca18409c9..df8c7d6bf0631d1dab50ef364d0b9a27b2030797 100644 --- a/dist/site.html +++ b/dist/site.html @@ -56,7 +56,8 @@ <:par_auteur:> (#LESAUTEURS)] [— <em>(#TAGS|afficher_tags)</em>] </small> - [<div class="texte">(#DESCRIPTIF)</div>] + [<div class="texte">(#DESCRIPTIF|image_reduire{300}) + <br class="nettoyeur" /></div>] </li> </BOUCLE_articles> </ul> diff --git a/ecrire/inc/distant.php b/ecrire/inc/distant.php index 76ceb7f7a6087f3e7fbabaca17d55a0d650e04e0..d0e2b5f887c8b78a6db639ddaef7937a2ee8a639 100644 --- a/ecrire/inc/distant.php +++ b/ecrire/inc/distant.php @@ -19,7 +19,6 @@ if (!defined("_ECRIRE_INC_VERSION")) return; // mode = 'force' - charger toujours (mettre a jour) // function copie_locale($source, $mode='auto') { - // Si copie_locale() est appele depuis l'espace prive if (!_DIR_RESTREINT AND strpos(_DIR_RACINE . $source, _DIR_IMG) === 0) @@ -31,6 +30,11 @@ function copie_locale($source, $mode='auto') { if ($mode == 'test') return @file_exists(_DIR_RACINE.$local) ? $local : ''; + // si $local = '' c'est un fichier refuse par fichier_copie_locale(), + // par exemple un fichier qui ne figure pas dans nos documents ; + // dans ce cas on n'essaie pas de le telecharger pour ensuite echouer + if (!$local) return false; + // sinon voir si on doit le telecharger if (($source != $local) AND (preg_match(',^\w+://,', $source))) { if (($mode=='auto' AND !@file_exists($local)) diff --git a/ecrire/inc/filtres.php b/ecrire/inc/filtres.php index f9df5690309e10eb3fa359901ac0e49fd95aa803..38b8e5bc94976cf6f7b0be50414f082da7e6cd6b 100644 --- a/ecrire/inc/filtres.php +++ b/ecrire/inc/filtres.php @@ -830,7 +830,7 @@ function reduire_image($texte, $taille = -1, $taille_y = -1) { } } } - + return $texte; } // Renommer en "image_reduire", pour que toutes fonctions graphiques diff --git a/ecrire/inc/logos.php b/ecrire/inc/logos.php index 318818830616ea7e76e2e39691573d5b9c920b66..6dd3d0ce74a4f51faf710d08a935b10ca9d1739b 100644 --- a/ecrire/inc/logos.php +++ b/ecrire/inc/logos.php @@ -502,11 +502,25 @@ function reduire_image_logo($img, $taille = -1, $taille_y = -1) { $logo = $img; if (!$logo) return ''; - // Si c'est une image distante, la recuperer (si possible) + // Si c'est une image distante, la recuperer include_spip('inc/distant'); + if (!$local = copie_locale($logo)) { spip_log("pas de version locale de $logo"); - return $img; + // on peut resizer en mode html si on dispose des elements + if ($srcw = extraire_attribut($img, 'width') + AND $srch = extraire_attribut($img, 'height')) { + list($w,$h) = image_ratio($srcw, $srch, $taille, $taille_y); + $img = inserer_attribut( + inserer_attribut($img, 'width', $w), + 'height', $h); + return $img; + } + + // la on n'a pas d'infos sur l'image source... on refile le truc a css + // sous la forme style='max-width: NNpx;' + return inserer_attribut($img, 'style', + "max-width: ${taille}px; max-height: ${taille_y}px"); } $logo = $local; diff --git a/ecrire/inc/sites_voir.php b/ecrire/inc/sites_voir.php index 347c292490d1e7518bb660ce8fe884ca28404674..bf0f441647d811f5aa97be24c13e97af702100ff 100644 --- a/ecrire/inc/sites_voir.php +++ b/ecrire/inc/sites_voir.php @@ -171,8 +171,17 @@ function afficher_syndic_articles_boucle($row, &$my_sites, $bof, $redirect) $s .= ' '.$e; // descriptif - if (strlen($descriptif) > 0) - $s .= "<div class='arial1'>".safehtml($descriptif)."</div>"; + if (strlen($descriptif) > 0) { + // couper un texte vraiment tres long + if (strlen($descriptif) > 10000) + $descriptif = safehtml(spip_substr($descriptif, 0, 6000)).' (...)'; + else + $descriptif = safehtml($descriptif); + $s .= '<div class="arial1">' + # 385px = largeur de la colonne ou s'affiche le texte + . image_reduire($descriptif, 385, 550) + . '</div>'; + } // tags if ($tags = afficher_tags($row['tags']))