Skip to content
Extraits de code Groupes Projets
Valider 401a0b97 rédigé par Fil's avatar Fil
Parcourir les fichiers

les images inline étaient complètement foutues (remplacées par leur version réduite). Mea culpa.

parent d04ede75
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -54,12 +54,23 @@ function vignette_par_defaut($type_extension, $size=true) { ...@@ -54,12 +54,23 @@ function vignette_par_defaut($type_extension, $size=true) {
// //
// Affiche le document avec sa vignette par defaut // Affiche le document avec sa vignette par defaut
// Attention : si c'est un fichier graphique on prefere afficher une vue //
// reduite, quand c'est possible (presque toujours, donc) // Attention : en mode 'doc', si c'est un fichier graphique on prefere
// afficher une vue reduite, quand c'est possible (presque toujours, donc)
// En mode 'vignette', l'image conserve sa taille
// //
// A noter : dans le portfolio prive on pousse le vice jusqu'a reduire la taille // A noter : dans le portfolio prive on pousse le vice jusqu'a reduire la taille
// de la vignette -> c'est a ca que sert la variable $portfolio // de la vignette -> c'est a ca que sert la variable $portfolio
function document_et_vignette($document, $url, $portfolio = false) { function image_pattern($vignette) {
return "<img src='"
. (_DIR_RESTREINT ? '' : '../')
. $vignette['fichier']."'
width='".$vignette['largeur']."'
height='".$vignette['hauteur']."'
style='border-width: 0px' />";
}
function document_et_vignette($document, $url, $portfolio=false) {
// a supprimer avec spip_types_documents // a supprimer avec spip_types_documents
list($extension) = spip_fetch_array(spip_query("SELECT extension FROM list($extension) = spip_fetch_array(spip_query("SELECT extension FROM
spip_types_documents WHERE id_type=".$document['id_type'])); spip_types_documents WHERE id_type=".$document['id_type']));
...@@ -68,22 +79,17 @@ function document_et_vignette($document, $url, $portfolio = false) { ...@@ -68,22 +79,17 @@ function document_et_vignette($document, $url, $portfolio = false) {
AND $vignette = spip_fetch_array(spip_query("SELECT * FROM spip_documents AND $vignette = spip_fetch_array(spip_query("SELECT * FROM spip_documents
WHERE id_document = ".$document['id_vignette']))) { WHERE id_document = ".$document['id_vignette']))) {
if (!$portfolio OR !(lire_meta('creer_preview') == 'oui')) { if (!$portfolio OR !(lire_meta('creer_preview') == 'oui')) {
$image = "<img src='" $image = image_pattern($vignette);
. (_DIR_RESTREINT ? '' : '../')
. $vignette['fichier']."'
width='".$vignette['largeur']."'
height='".$vignette['hauteur']."'
style='border-width: 0px' />";
} else { } else {
$image = prive_lien_image_reduite ($vignette['largeur'], $image = prive_lien_image_reduite ($vignette['largeur'],
$vignette['hauteur'], $vignette['fichier']); $vignette['hauteur'], $vignette['fichier']);
} }
} else if (strstr(lire_meta('formats_graphiques'), $extension) } else if (strstr(lire_meta('formats_graphiques'), $extension)
AND lire_meta('creer_preview') == 'oui') { AND lire_meta('creer_preview') == 'oui') {
if (!_DIR_RESTREINT) include_ecrire('inc_logos.php3');
$image = prive_lien_image_reduite ($document['largeur'], $document['hauteur'], $document['fichier']); #var_dump($document);
else $image = reduire_image_logo(copie_locale(
$image = reduire_image(copie_locale($document['fichier'])); (_DIR_RESTREINT ? '' : '../' ) . $document['fichier']));
} }
if (!$image) { if (!$image) {
...@@ -238,42 +244,74 @@ function integre_image($id_document, $align, $type_aff) { ...@@ -238,42 +244,74 @@ function integre_image($id_document, $align, $type_aff) {
$id_vignette = $row['id_vignette']; $id_vignette = $row['id_vignette'];
// on construira le lien en fonction du type de doc // on construira le lien en fonction du type de doc
if ($extension = @spip_fetch_array(spip_query("SELECT extension FROM spip_types_documents WHERE id_type = $id_type"))) { if ($t = @spip_fetch_array(spip_query(
"SELECT titre,extension FROM spip_types_documents
$extension = $extension['extension']; WHERE id_type = $id_type"))) {
$extension = $t['extension']; # jpg, tex
$type = $t['titre']; # JPEG, LaTeX
} }
// recuperer la vignette pour affichage inline // Attention ne pas confondre :
if ($mode == 'document') // pour un document affiche avec le raccourci <IMG> on a
$url = $url_fichier; // $mode == 'document' et $type_aff == 'IMG'
// inversement, pour une image presentee en mode 'DOC',
// $mode == 'vignette' et $type_aff == 'DOC'
$vignette = document_et_vignette($row, $url); // Type : vignette ou document ?
if ($mode == 'document') {
$vignette = document_et_vignette($row, $url_fichier);
} else {
$vignette = image_pattern($row);
}
if ($titre) { //
if ($mode == 'document') // Regler le alt et title
$titre_ko = ($taille > 0) ? ($titre . " - ". taille_en_octets($taille)) : $titre; //
else $titre_ko = $titre; $alt_titre_doc = entites_html(texte_backend(supprimer_tags($titre)));
$titre_ko = supprimer_tags(propre($titre_ko)); $alt_infos_doc = entites_html($type
$alt = " alt=\"$titre_ko\" title=\"$titre_ko\""; . (($taille>0) ? ' - '.taille_en_octets($taille) : ''));
if ($row['distant'] == 'oui')
$alt_infos_doc .= ", ".$url_fichier;
if ($alt_titre_doc) $alt_sep = ', ';
// documents presentes en mode <DOC> : pas de title detaille
// puisque tout est en dessous
if ($mode == 'document' AND $type_aff == 'DOC') {
$alt = " alt=\"\"";
}
// document en mode <IMG> : alt + title detailles
else if ($mode == 'document' AND $type_aff == 'IMG') {
$alt = " alt=\"$alt_titre_doc$alt_sep$alt_infos_doc\"
title=\"$alt_titre_doc$alt_sep$alt_infos_doc\"";
}
// vignette en mode <DOC> : alt disant "JPEG", pas de title
else if ($mode == 'vignette' AND $type_aff == 'DOC') {
$alt = " alt=\"($type)\"";
}
// vignette en mode <IMG> : alt + title s'il y a un titre
else if ($mode == 'vignette' AND $type_aff == 'IMG') {
if (strlen($titre))
$alt = " alt=\"$alt_titre_doc ($type)\" title=\"$alt_titre_doc\"";
else
$alt = " alt=\"($type)\"";
} }
else if ($mode == 'document')
$alt = " alt='document $id_document'";
else
$alt = " alt=''";
$vignette = str_replace(' />', "$alt />", $vignette); # inserer l'attribut $vignette = str_replace(' />', "$alt />", $vignette); # inserer l'attribut
$vignette .= (($type_aff != 'DOC') ? "" : // Preparer le texte sous l'image pour les <DOC>
((!$titre ? "" : "<div class='spip_doc_titre'><strong>$titre</strong></div>") . if ($type_aff == 'DOC') {
(!$descriptif ? "" : "<div class='spip_doc_descriptif'>$descriptif</div>"))); if (strlen($titre))
$txt = "<div class='spip_doc_titre'><strong>"
if (($type_aff == 'DOC') && ($mode == 'document')) { . $titre
if ($type = @spip_fetch_array(spip_query("SELECT titre FROM spip_types_documents WHERE id_type=$id_type"))) . "</strong></div>\n";
$type = $type['titre']; if (strlen($descriptif))
else $txt .= "<div class='spip_doc_descriptif'>$descriptif</div>\n";
$type = 'fichier'; if ($mode == 'document') {
$vignette .= "<div>(<a href='$url_fichier'>$type, " list($type) = @spip_fetch_array(spip_query(
.taille_en_octets($taille)."</a>)</div>"; "SELECT titre FROM spip_types_documents WHERE id_type=$id_type"));
$txt .= "<div>(<a href='$url_fichier'>$type, "
.taille_en_octets($taille)."</a>)</div>";
}
} }
// Passer un DIV pour les images centrees et, dans tous les cas, les <DOC> // Passer un DIV pour les images centrees et, dans tous les cas, les <DOC>
...@@ -282,13 +320,22 @@ function integre_image($id_document, $align, $type_aff) { ...@@ -282,13 +320,22 @@ function integre_image($id_document, $align, $type_aff) {
} else { } else {
$span = "span"; $span = "span";
} }
if ($align != 'center') $float = "float: $align;";
if ($align != 'center') {
return $float = "float: $align;";
("<$span class='spip_documents spip_documents_$align' style='$float" . if ($type_aff == 'IMG') {
((($align == 'center') || ($type_aff != 'DOC')) ? "" : $width = extraire_attribut($vignette, 'width');
("width: " . (($largeur_vignette > 120) ? $largeur_vignette : 120) . "px;")) . if ($width < 120) $width = 120;
"'>" . $vignette . "</$span>\n"); $width = ' width: '.$width.'px;';
}
$style = " style='$float$width'";
}
return
"<$span class='spip_documents spip_documents_$align' $style>"
. $vignette
. $txt
. "</$span>\n";
} }
// //
......
...@@ -446,9 +446,14 @@ function reduire_image_logo($img, $taille = 0, $taille_y=0) { ...@@ -446,9 +446,14 @@ function reduire_image_logo($img, $taille = 0, $taille_y=0) {
$attributs = ''; $attributs = '';
// preserver le name='...' et le mettre en alt le cas echant // preserver le name='...' et le mettre en alt le cas echant
if ($name = extraire_attribut($img, 'name')) if ($name = extraire_attribut($img, 'name')) {
$attributs .= " name='$name'"; $attributs .= ' name="'.entites_html($name).'"';
$attributs .= " alt='$name'"; $attributs_alt = ' alt="'.entites_html($name).'"';
}
if ($alt = extraire_attribut($img, 'alt'))
$attributs_alt = ' alt="'.entites_html($alt).'"';
$attributs .= $attributs_alt;
// attributs deprecies. Transformer en CSS // attributs deprecies. Transformer en CSS
if ($espace = extraire_attribut($img, 'hspace')) if ($espace = extraire_attribut($img, 'hspace'))
......
...@@ -51,7 +51,7 @@ function affiche_logos($logos, $lien, $align, $alt='logo') { ...@@ -51,7 +51,7 @@ function affiche_logos($logos, $lien, $align, $alt='logo') {
$mouseover = " onmouseover=\"this.src='$artoff'\" " $mouseover = " onmouseover=\"this.src='$artoff'\" "
."onmouseout=\"this.src='$arton'\""; ."onmouseout=\"this.src='$arton'\"";
$milieu = "<img src=\"$arton\" alt=\"".entites_html($alt).'"' $milieu = "<img src=\"$arton\" alt=\"".entites_html(strtolower($alt)).'"'
. ($align ? " align='$align'" : '') . ($align ? " align='$align'" : '')
. $taille . $taille
. $mouseover . $mouseover
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter