Skip to content
Extraits de code Groupes Projets
Valider d45e6e75 rédigé par esj's avatar esj
Parcourir les fichiers

Poursuite du nettoyage generer_url_document & IMG

parent c15634e5
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -16,7 +16,7 @@ include_ecrire ("inc_admin.php3"); ...@@ -16,7 +16,7 @@ include_ecrire ("inc_admin.php3");
// Vignette pour les documents lies // Vignette pour les documents lies
// //
function vignette_par_defaut($type_extension) { function vignette_par_defaut($type_extension, $size=true) {
$filename = _DIR_IMG_ICONES . "$type_extension"; $filename = _DIR_IMG_ICONES . "$type_extension";
...@@ -32,6 +32,8 @@ function vignette_par_defaut($type_extension) { ...@@ -32,6 +32,8 @@ function vignette_par_defaut($type_extension) {
if (!@file_exists($v = _DIR_IMG_ICONES . "/defaut-dist.gif")) if (!@file_exists($v = _DIR_IMG_ICONES . "/defaut-dist.gif"))
$v = _DIR_IMG_ICONES . "/defaut-dist.gif"; $v = _DIR_IMG_ICONES . "/defaut-dist.gif";
if (!$size) return $v;
if ($size = @getimagesize($v)) { if ($size = @getimagesize($v)) {
$largeur = $size[0]; $largeur = $size[0];
$hauteur = $size[1]; $hauteur = $size[1];
......
...@@ -375,30 +375,25 @@ function reduire_image_logo($img, $taille = 120, $taille_y=0) { ...@@ -375,30 +375,25 @@ function reduire_image_logo($img, $taille = 120, $taille_y=0) {
if (!$taille_y) if (!$taille_y)
$taille_y = $taille; $taille_y = $taille;
// recuperer le nom du fichier // recuperer le nom du fichier (est-ce encore utilise ?)
if (eregi("src=\'([^']+)\'", $img, $regs)) $logo = $regs[1]; if (eregi("src=\'([^']+)\'", $img, $regs)) $logo = $regs[1];
if (eregi("align=\'([^']+)\'", $img, $regs)) $align = $regs[1]; if (eregi("align=\'([^']+)\'", $img, $regs)) $align = $regs[1];
if (eregi("name=\'([^']+)\'", $img, $regs)) $name = $regs[1]; if (eregi("name=\'([^']+)\'", $img, $regs)) $name = $regs[1];
if (eregi("hspace=\'([^']+)\'", $img, $regs)) $espace = $regs[1]; if (eregi("hspace=\'([^']+)\'", $img, $regs)) $espace = $regs[1];
spip_log($img);
if (!$logo) if (!$logo)
$logo = $img; // [(#LOGO_ARTICLE|fichier|reduire_image{100})] $logo = $img; // [(#LOGO_ARTICLE|fichier|reduire_image{100})]
if (ereg("^../",$logo)) $logo = substr($logo,3);
if (ereg("^../",$logo)) if (!ereg("^" . _DIR_IMG, $logo)) $logo = _DIR_IMG . $logo;
$logo = substr($logo,3);
if (ereg("^" . _DIR_IMG, $logo))
$img = substr($logo,strlen(_DIR_IMG));
else { $img = $logo; $logo = _DIR_IMG . $logo;}
if (@file_exists($logo) AND if (@file_exists($logo) AND
eregi("^(.*)\.(jpg|gif|png)$", $img, $regs)) { eregi("\.(jpg|gif|png)$", $logo, $regs)) {
include_local('inc-public-global.php3'); include_local('inc-public-global.php3');
$nom = $regs[1]; $nom = $regs[1];
$format = $regs[2]; $format = $regs[2];
$suffixe = '-'.$taille.'x'.$taille_y; $suffixe = '-'.$taille.'x'.$taille_y;
$cache_folder= _DIR_IMG . creer_repertoire(_DIR_IMG, 'cache'.$suffixe); $cache_folder= creer_repertoire_documents('cache'.$suffixe);
$preview = creer_vignette($logo, $taille, $taille_y, $format, $cache_folder.$nom.$suffixe); $preview = creer_vignette($logo, $taille, $taille_y, $format, $cache_folder.$nom.$suffixe);
if ($preview) { if ($preview) {
......
...@@ -199,27 +199,46 @@ function calcul_branche ($generation) { ...@@ -199,27 +199,46 @@ function calcul_branche ($generation) {
} }
} }
# fonction appele par la balise #LOGO_DOCUMENT
function calcule_document($id_document, $doubdoc, &$doublons){ function calcule_document($id_document, $doubdoc, &$doublons){
if ($doubdoc && $id_document) $doublons["documents"] .= ', ' . $id_document; if ($doubdoc && $id_document) $doublons["documents"] .= ', ' . $id_document;
$row = spip_fetch_array(spip_query("SELECT * FROM spip_documents WHERE id_document = $id_document"));
if (!$row) return ''; if (!($row = spip_abstract_select(array('id_type', 'id_vignette', 'fichier', 'mode'), array('documents AS documents'), array("id_document = $id_document"))))
if ($id_vignette = $row['id_vignette']) { // pas de document. Ne devrait pas arriver
if ($row_vignette = @spip_fetch_array(spip_query("SELECT fichier FROM spip_documents WHERE id_document = $id_vignette"))) { return '';
if (@file_exists($row_vignette['fichier']))
return generer_url_document($id_vignette); list($id_type, $id_vignette, $fichier, $mode) = spip_abstract_fetch($row);
} if ($id_vignette) {
} else if ($row['mode'] == 'vignette') { if ($res = spip_abstract_select(array('fichier'), array('documents AS documents'), array("id_document = $id_vignette"))) {
return generer_url_document($id_document); list($fichier) = spip_abstract_fetch($res);
} if (@file_exists($fichier))
// si pas de vignette, utiliser la vignette par defaut return generer_url_document($id_vignette);
// ou essayer de creer une preview (images) # return ($fichier); # en std g_u_d fait a
list($extension) = @spip_fetch_array(spip_query("SELECT extension FROM spip_types_documents WHERE id_type = " .$row['id_type'])); }
if (!ereg(",$extension,", ','.lire_meta('formats_graphiques').',')) { } else if ($mode == 'vignette')
list($url, $w, $h) = vignette_par_defaut($extension); return generer_url_document($id_document);
return $url; # return $fichier; # en std g_u_d fait a
} else {
return 'spip_image.php3?vignette='.rawurlencode(str_replace('../', '', $row['fichier'])); // calcul de l'extension par tous les moyens
} if ($id_type) {
list($ext) = spip_abstract_fetch(spip_abstract_select(array('extension'), array('types_documents AS documents'), array("id_type = " . intval($id_type))));
} else {
eregi('\.([a-z0-9]+)$', $fichier, $regs);
$ext = $regs[1];
}
// Pas de vignette mais une extension:
// prendre la vignette de celle-ci dans IMG/icones sauf si on peut faire mieux
$formats = ','.lire_meta('formats_graphiques').',';
if ((strpos($formats, ",$ext,") === false) ||
!$fichier || (lire_meta("creer_preview") != 'oui')) {
return vignette_par_defaut($ext ? $ext : 'txt', false);
}
// on peut faire mieux dans le cas des images: une previsualisation
// on devrait verifier que le fichier existe dans IMG/vignette
// et sinon lancer creer_vignette (qui fera un UPDATE sur spip_documents)
// mais on risque de dpasser le temps alloue au processus
return 'spip_image.php3?vignette='.rawurlencode(str_replace('../', '', $fichier));
} }
......
...@@ -352,4 +352,9 @@ function creer_repertoire($base, $subdir) { ...@@ -352,4 +352,9 @@ function creer_repertoire($base, $subdir) {
return ($ok? "$subdir/" : ''); return ($ok? "$subdir/" : '');
} }
function creer_repertoire_documents($ext) {
# est-il bien raisonnable d'accepter de creer si creer_rep retourne '' ?
return _DIR_IMG . creer_repertoire(_DIR_IMG, $ext);
}
?> ?>
...@@ -7,11 +7,6 @@ include_ecrire("inc_charsets.php3"); ...@@ -7,11 +7,6 @@ include_ecrire("inc_charsets.php3");
include_ecrire("inc_meta.php3"); include_ecrire("inc_meta.php3");
include_ecrire("inc_admin.php3"); include_ecrire("inc_admin.php3");
function creer_repertoire_documents($ext) {
# est-il bien raisonnable d'accepter de creer si creer_rep retourne '' ?
return _DIR_IMG . creer_repertoire(_DIR_IMG, $ext);
}
function copier_document($ext, $orig, $source) { function copier_document($ext, $orig, $source) {
$dest = creer_repertoire_documents($ext) . $dest = creer_repertoire_documents($ext) .
ereg_replace("[^.a-zA-Z0-9_=-]+", "_", ereg_replace("[^.a-zA-Z0-9_=-]+", "_",
...@@ -210,12 +205,8 @@ function ajout_image($source, $dest) { ...@@ -210,12 +205,8 @@ function ajout_image($source, $dest) {
// //
function ajout_doc($orig, $source, $mode, $id_document, $titre_automatique=true) { function ajout_doc($orig, $source, $mode, $id_document, $titre_automatique=true) {
$doc_vignette=''; $titre_vignette=''; $descriptif_vignette='';
global $hash_id_auteur, $hash, $id_article, $type; global $hash_id_auteur, $hash, $id_article, $type;
//die ("<li>$orig<li>$source<li>$dest<li>$mode<li>$id_document");
// //
// Securite // Securite
// //
...@@ -290,11 +281,6 @@ function ajout_doc($orig, $source, $mode, $id_document, $titre_automatique=true) ...@@ -290,11 +281,6 @@ function ajout_doc($orig, $source, $mode, $id_document, $titre_automatique=true)
$id_document = $id_document_lie; // pour que le 'return' active le bon doc. $id_document = $id_document_lie; // pour que le 'return' active le bon doc.
} }
if ($doc_vignette){
$query = "UPDATE spip_documents SET id_vignette=$doc_vignette, titre='', descriptif='' WHERE id_document=$id_document";
spip_query($query);
}
// Creer la vignette // Creer la vignette
if ($mode == 'document' AND lire_meta('creer_preview') == 'oui' if ($mode == 'document' AND lire_meta('creer_preview') == 'oui'
AND ereg(",$ext,", ','.lire_meta('formats_graphiques').',')) { AND ereg(",$ext,", ','.lire_meta('formats_graphiques').',')) {
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter