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

Suite de [7446]: les formulaires Tourner et Legender deviennent surchargeables.

parent 68be9b5d
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -452,6 +452,7 @@ ecrire/inc/install_ldap4.php -text ...@@ -452,6 +452,7 @@ ecrire/inc/install_ldap4.php -text
ecrire/inc/install_ldap5.php -text ecrire/inc/install_ldap5.php -text
ecrire/inc/install_unpack.php -text ecrire/inc/install_unpack.php -text
ecrire/inc/lang_liste.php -text ecrire/inc/lang_liste.php -text
ecrire/inc/legender.php -text
ecrire/inc/maintenance.php -text ecrire/inc/maintenance.php -text
ecrire/inc/message_select.php -text ecrire/inc/message_select.php -text
ecrire/inc/mini_nav.php -text ecrire/inc/mini_nav.php -text
...@@ -464,6 +465,7 @@ ecrire/inc/referencer_traduction.php -text ...@@ -464,6 +465,7 @@ ecrire/inc/referencer_traduction.php -text
ecrire/inc/sites_voir.php -text ecrire/inc/sites_voir.php -text
ecrire/inc/suivi_versions.php -text ecrire/inc/suivi_versions.php -text
ecrire/inc/syndic.php -text ecrire/inc/syndic.php -text
ecrire/inc/tourner.php -text
ecrire/inc/utils.php -text ecrire/inc/utils.php -text
ecrire/inc/virtualiser.php -text ecrire/inc/virtualiser.php -text
ecrire/lang/ecrire_br.php -text ecrire/lang/ecrire_br.php -text
......
...@@ -26,9 +26,7 @@ function fragments_legender_dist() ...@@ -26,9 +26,7 @@ function fragments_legender_dist()
minipres(_T('info_acces_interdit')); minipres(_T('info_acces_interdit'));
} }
include_spip('inc/documents'); $f = charger_fonction('legender', 'inc');
include_spip('inc/presentation'); return $f($id_document, array(), $script, $type, $id, $ancre);
return formulaire_legender($id_document, array(), $script, $type, $id, $ancre);
} }
?> ?>
...@@ -27,10 +27,9 @@ function fragments_tourner_dist() ...@@ -27,10 +27,9 @@ function fragments_tourner_dist()
minipres(_T('info_acces_interdit')); minipres(_T('info_acces_interdit'));
} }
include_spip('inc/documents'); $f = charger_fonction('tourner', 'inc');
include_spip('inc/presentation');
return formulaire_tourner($id_document, array(), $script, 'ajax', $type); return $f($id_document, array(), $script, 'ajax', $type);
} }
?> ?>
...@@ -42,13 +42,16 @@ function inc_documenter_dist( ...@@ -42,13 +42,16 @@ function inc_documenter_dist(
} else $documents = $doc; } else $documents = $doc;
if (!$documents) return ''; if (!$documents) return '';
include_spip('inc/documents');
charger_generer_url(); charger_generer_url();
// la derniere case d'une rangee // la derniere case d'une rangee
$bord_droit = ($ancre == 'portfolio' ? 2 : 1); $bord_droit = ($ancre == 'portfolio' ? 2 : 1);
$case = 0; $case = 0;
$res = ''; $res = '';
$tourner = charger_fonction('tourner', 'inc');
$legender = charger_fonction('legender', 'inc');
foreach ($documents as $document) { foreach ($documents as $document) {
$id_document = $document['id_document']; $id_document = $document['id_document'];
...@@ -64,16 +67,14 @@ function inc_documenter_dist( ...@@ -64,16 +67,14 @@ function inc_documenter_dist(
$res .= "<tr style='border-top: 1px solid black;'>"; $res .= "<tr style='border-top: 1px solid black;'>";
else if ($case == $bord_droit) else if ($case == $bord_droit)
$style .= " border-$spip_lang_right: 1px solid $couleur;"; $style .= " border-$spip_lang_right: 1px solid $couleur;";
$res .= "\n<td style='width:33%; text-align: $spip_lang_left; border-$spip_lang_left: 1px solid $couleur; border-bottom: 1px solid $couleur; $style' valign='top'>"; $res .= "\n<td style='width:33%; text-align: $spip_lang_left; border-$spip_lang_left: 1px solid $couleur; border-bottom: 1px solid $couleur; $style' valign='top'>"
. $tourner($id_document, $document, $script, $flag_modif, $type)
$res .= formulaire_tourner($id_document, $document, $script, $flag_modif, $type); . (!$flag_modif ? '' :
$legender($id_document, $document, $script, $type, $document["id_$type"], $ancre))
if ($flag_modif) . (!isset($document['info']) ? '' :
$res .= formulaire_legender($id_document, $document, $script, $type, $document["id_$type"], $ancre); ("<div class='verdana1'>".$document['info']."</div>"))
. "</td>\n";
if (isset($document['info']))
$res .= "<div class='verdana1'>".$document['info']."</div>";
$res .= "</td>\n";
$case++; $case++;
if ($case > $bord_droit) { if ($case > $bord_droit) {
......
...@@ -164,42 +164,6 @@ function texte_upload_manuel($dir, $inclus = '', $mode = 'document') { ...@@ -164,42 +164,6 @@ function texte_upload_manuel($dir, $inclus = '', $mode = 'document') {
} }
// Bloc d'edition de la taille du doc (pour embed)
// http://doc.spip.org/@formulaire_taille
function formulaire_taille($document) {
// (on ne le propose pas pour les images qu'on sait
// lire, id_type<=3), sauf bug, ou document distant
if ($document['id_type'] <= 3
AND $document['hauteur']
AND $document['largeur']
AND $document['distant']!='oui')
return '';
$id_document = $document['id_document'];
// Donnees sur le type de document
$t = @spip_abstract_fetsel('inclus,extension',
'spip_types_documents', "id_type=".$document['id_type']);
$type_inclus = $t['inclus'];
$extension = $t['extension'];
# TODO -- pour le MP3 "l x h pixels" ne va pas
if (($type_inclus == "embed" OR $type_inclus == "image")
AND (
// documents dont la taille est definie
($document['largeur'] * $document['hauteur'])
// ou distants
OR $document['distant'] == 'oui'
// ou formats dont la taille ne peut etre lue par getimagesize
OR $extension=='rm' OR $extension=='mov'
OR $extension=='flv' OR $extension=='mpg'
)) {
return "\n<br /><b>"._T('entree_dimensions')."</b><br />\n" .
"<input type='text' name='largeur_document' class='fondl' style='font-size:9px;' value=\"".$document['largeur']."\" size='5' onFocus=\"changeVisible(true, 'valider_doc$id_document', 'block', 'block');\" />" .
" &#215; <input type='text' name='hauteur_document' class='fondl' style='font-size:9px;' value=\"".$document['hauteur']."\" size='5' onFocus=\"changeVisible(true, 'valider_doc$id_document', 'block', 'block');\" /> "._T('info_pixels');
}
}
// //
// Construire un formulaire pour telecharger un fichier // Construire un formulaire pour telecharger un fichier
// //
...@@ -337,103 +301,6 @@ function formulaire_joindre($id, $type = "article", $script, $flag_editable) { ...@@ -337,103 +301,6 @@ function formulaire_joindre($id, $type = "article", $script, $flag_editable) {
. $res; . $res;
} }
// http://doc.spip.org/@formulaire_tourner
function formulaire_tourner($id_document, $document, $script, $flag_modif, $type)
{
include_spip('inc/filtres');
global $spip_lang_right;
if (!$document) {
// retour d'Ajax
$document = spip_fetch_array(spip_query("SELECT * FROM spip_documents WHERE id_document = " . intval($id_document)));
}
$id = $document["id_$type"];
$titre = $document['titre'];
$id_vignette = $document['id_vignette'];
$fichier = entites_html($document['fichier']);
if (isset($document['url']))
$url = $document['url'];
else {
charger_generer_url();
$url = generer_url_document($id_document);
}
if ($flag_modif)
$res .= boutons_rotateurs($document, $type, $id, $id_document,$script, $id_vignette);
else $res = '';
// Indiquer les documents manquants avec un panneau de warning
if ($document['distant'] != 'oui'
AND !@file_exists(_DIR_RACINE.$document['fichier'])) {
$c = _T('fichier_introuvable',
array('fichier'=>basename($document['fichier'])));
$res .= "<img src='" . _DIR_IMG_PACK . "warning-24.gif'"
."\n\tstyle='float: right;'\n\talt=\"$c\"\n\ttitle=\"$c\" />";
}
$res .= "<div style='text-align: center;'>";
$res .= document_et_vignette($document, $url, true);
$res .= "</div>\n";
$res .= "<div class='verdana1' style='text-align: center;'>";
$res .= " <font size='1' face='arial,helvetica,sans-serif' color='333333'>&lt;doc$id_document&gt;</font>";
$res .= "</div>";
if ($flag_modif === 'ajax') return $res;
$boite = '';
// Signaler les documents distants par une icone de trombone
if ($document['distant'] == 'oui')
$boite .= "\n<img src='"._DIR_IMG_PACK.'attachment.gif'."'\n\t style='float: $spip_lang_right;'\n\talt=\"$fichier\"\n\ttitle=\"$fichier\" />\n";
return "$boite<div id='tourner-$id_document'>$res</div>";
}
// http://doc.spip.org/@boutons_rotateurs
function boutons_rotateurs($document, $type, $id, $id_document, $script, $id_vignette) {
global $spip_lang_right;
static $ftype = array(1 => 'jpg', 2 => 'png', 3 => 'gif');
$process = $GLOBALS['meta']['image_process'];
// bloc rotation de l'image
// si c'est une image, qu'on sait la faire tourner, qu'elle
// n'est pas distante, qu'elle est bien presente dans IMG/
// qu'elle n'a pas de vignette perso ; et qu'on a la bibli !
if ($document['distant']!='oui' AND !$id_vignette
AND isset($ftype[$document['id_type']])
AND strstr($GLOBALS['meta']['formats_graphiques'],
$ftype[$document['id_type']])
AND ($process == 'imagick' OR $process == 'gd2'
OR $process == 'convert' OR $process == 'netpbm')
AND @file_exists(_DIR_RACINE.$document['fichier'])
) {
return "\n<div class='verdana1' style='float: $spip_lang_right; text-align: $spip_lang_right;'>" .
bouton_tourner_document($id, $id_document, $script, -90, $type, 'tourner-gauche.gif', _T('image_tourner_gauche')) .
bouton_tourner_document($id, $id_document, $script, 90, $type, 'tourner-droite.gif', _T('image_tourner_droite')) .
bouton_tourner_document($id, $id_document, $script, 180, $type, 'tourner-180.gif', _T('image_tourner_180')) .
"</div>\n";
}
}
// http://doc.spip.org/@bouton_tourner_document
function bouton_tourner_document($id, $id_document, $script, $rot, $type, $img, $title)
{
return ajax_action_auteur("tourner",
"$id_document-$rot",
$script,
"show_docs=$id_document&id_$type=$id#tourner-$id_document",
array(http_img_pack($img, $title, ''),
" class='bouton_rotation'"),
"&id_document=$id_document&id=$id&type=$type");
}
// //
// Afficher un document dans la colonne de gauche // Afficher un document dans la colonne de gauche
// //
...@@ -621,7 +488,8 @@ function afficher_case_document($id_document, $id, $script, $type, $deplier = fa ...@@ -621,7 +488,8 @@ function afficher_case_document($id_document, $id, $script, $type, $deplier = fa
"</font></div>"; "</font></div>";
} }
echo formulaire_legender($id_document, $document, $script, $type, $id, "document$id_document"); $f = charger_fonction('legender', 'inc');
echo $f($id_document, $document, $script, $type, $id, "document$id_document");
fin_cadre_enfonce(); fin_cadre_enfonce();
} }
...@@ -667,7 +535,8 @@ function afficher_case_document($id_document, $id, $script, $type, $deplier = fa ...@@ -667,7 +535,8 @@ function afficher_case_document($id_document, $id, $script, $type, $deplier = fa
if ($doublon) if ($doublon)
echo $raccourci_doc; echo $raccourci_doc;
echo formulaire_legender($id_document, $document, $script, $type, $id, "document$id_document"); $f = charger_fonction('legender', 'inc');
echo $f($id_document, $document, $script, $type, $id, "document$id_document");
fin_cadre_relief(); fin_cadre_relief();
} }
...@@ -683,149 +552,4 @@ function teste_doc_deplie($id_document) { ...@@ -683,149 +552,4 @@ function teste_doc_deplie($id_document) {
return in_array($id_document, $deplies); return in_array($id_document, $deplies);
} }
function date_formulaire_legender($date, $id_document) {
if (ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})", $date, $regs)){
$mois = $regs[2];
$jour = $regs[3];
$annee = $regs[1];
}
return "<b>"._T('info_mise_en_ligne')."</b><br />\n" .
afficher_jour($jour, "name='jour_doc' size='1' CLASS='fondl' style='font-size:9px;'\n\tonChange=\"changeVisible(true, 'valider_doc$id_document', 'block', 'block');\"") .
afficher_mois($mois, "name='mois_doc' size='1' CLASS='fondl' style='font-size:9px;'\n\tonChange=\"changeVisible(true, 'valider_doc$id_document', 'block', 'block');\"") .
afficher_annee($annee, "name='annee_doc' size='1' CLASS='fondl' style='font-size:9px;'\n\tonChange=\"changeVisible(true, 'valider_doc$id_document', 'block', 'block')\"") .
"<br />\n";
}
function vignette_formulaire_legender($id_document, $document, $script, $type, $id, $ancre)
{
$id_vignette = $document['id_vignette'];
$texte = _T('info_supprimer_vignette');
if (preg_match('/_edit$/', $script))
$action = redirige_action_auteur('supprimer', "document-$id_vignette", $script, "id_$type=$id&show_docs=$id_document#$ancre");
else {
$s = ($ancre =='documents' ? '': '-');
$action = ajax_action_auteur('documenter', "$s$id/$type/$id_vignette", $script, "id_$type=$id&type=$type&s=$s&show_docs=$id_document#$ancre", array($texte));
}
return "<hr style='margin-left: -5px; margin-right: -5px; height: 1px; border: 0px; color: #eeeeee; background-color: white;' />"
. (!$id_vignette
? formulaire_upload($script, "id_$type=$id",$id, _T('info_vignette_personnalisee'), 'vignette', $type, $ancre, $id_document)
: icone_horizontale($texte, $action, "vignette-24.png", "supprimer.gif", false));
}
// Formulaire de description d'un document (titre, date etc)
// En mode Ajax pour eviter de recharger toute la page ou il se trouve
// (surtout si c'est un portfolio)
function formulaire_legender($id_document, $document, $script, $type, $id, $ancre) {
// + securite (avec le script exec=legender ca vient de dehors)
if (!preg_match('/^\w+$/',$type, $r)) {
return;
}
if ($document) {
// premier appel
$flag_deplie = teste_doc_deplie($id_document);
} else if ($id_document) {
// retour d'Ajax
$document = spip_fetch_array(spip_query("SELECT * FROM spip_documents WHERE id_document = " . intval($id_document)));
$flag_deplie = 'ajax';
} else {
return;
}
$descriptif = $document['descriptif'];
$titre = $document['titre'];
$date = $document['date'];
if ($document['mode'] == 'vignette') {
$supp = 'image-24.gif';
$label = _T('entree_titre_image');
$taille = $vignette = '';
} else {
$supp = 'doc-24.gif';
$label = _T('entree_titre_document');
$taille = formulaire_taille($document);
$vignette = vignette_formulaire_legender($id_document, $document, $script, $type, $id, $ancre);
}
$entete = basename($document['fichier']);
if (($n=strlen($entete)) > 20)
$entete = substr($entete, 0, 10)."...".substr($entete, $n-10, $n);
if (strlen($document['titre']))
$entete = "<b>". typo($titre) . "</b>";
$contenu = '';
if ($descriptif)
$contenu .= propre($descriptif) . "<br />\n" ;
if ($document['largeur'] OR $document['hauteur'])
$contenu .= _T('info_largeur_vignette',
array('largeur_vignette' => $document['largeur'],
'hauteur_vignette' => $document['hauteur']));
else
$contenu .= taille_en_octets($document['taille']) . ' - ';
if ($date) $contenu .= "<br />\n" . affdate($date);
$corps =
(!$contenu ? '' :
"<div class='verdana1' style='text-align: center;'>$contenu</div>") .
"<b>$label</b><br />\n" .
"<input type='text' name='titre_document' class='formo' value=\"".entites_html($titre).
"\" size='40' onFocus=\"changeVisible(true, 'valider_doc$id_document', 'block', 'block');\" /><br /><br />\n" .
date_formulaire_legender($date, $id_document) .
"<br />\n<b>".
_T('info_description_2').
"</b><br />\n" .
"<textarea name='descriptif_document' rows='4' class='formo' cols='*' wrap='soft' onFocus=\"changeVisible(true, 'valider_doc$id_document', 'block', 'block');\">" .
entites_html($descriptif) .
"</textarea>\n" .
$taille .
"\n<div " .
($flag_deplie == 'ajax' ? '' : "class='display_au_chargement'") .
"id='valider_doc$id_document' align='".
$GLOBALS['spip_lang_right'].
"'>\n<input class='fondo' style='font-size:9px;' value='".
_T('bouton_enregistrer') .
"' type='submit' />" .
"</div>\n";
$texte = _T('icone_supprimer_document');
if (preg_match('/_edit$/', $script))
$action = redirige_action_auteur('supprimer', "document-$id_document", $script, "id_$type=$id#$ancre");
else {
$s = ($ancre =='documents' ? '': '-');
$action = ajax_action_auteur('documenter', "$s$id/$type/$id_document", $script, "id_$type=$id&type=$type&s=$s#$ancre", array($texte));
}
$corps = ajax_action_auteur("legender", $id_document, $script, "show_docs=$id_document&id_$type=$id#$ancre", $corps, "&id_document=$id_document&id=$id&type=$type&ancre=$ancre");
$corps .= $vignette . "\n\n\n\n"
. icone_horizontale($texte, $action, $supp, "supprimer.gif", false);
$bloc = "legender-aff-$id_document";
$corps = "<div style='text-align:center;height:1%'>"
. "<div style='float:".$GLOBALS['spip_lang_left']."'>"
. ($flag_deplie ?
bouton_block_visible($bloc) : bouton_block_invisible($bloc))
. "</div>\n"
. $entete
. "</div>\n"
. ($flag_deplie ?
debut_block_visible($bloc) : debut_block_invisible($bloc))
. $corps
. fin_block();
return ($flag_deplie === 'ajax') ? $corps :
"<div id='legender-$id_document' class='verdana1' style='color: " . $GLOBALS['couleur_foncee'] . "; border: 1px solid ". $GLOBALS['couleur_foncee'] ."; padding: 5px; margin-top: 3px; background-color: white'>" .
$corps .
'</div>';
}
?> ?>
<?php
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2006 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
if (!defined("_ECRIRE_INC_VERSION")) return;
include_spip('inc/actions'); // *action_auteur et determine_upload
include_spip('inc/presentation');
include_spip('inc/documents');
include_spip('inc/date');
// Formulaire de description d'un document (titre, date etc)
// En mode Ajax pour eviter de recharger toute la page ou il se trouve
// (surtout si c'est un portfolio)
function inc_legender_dist($id_document, $document, $script, $type, $id, $ancre) {
// + securite (avec le script exec=legender ca vient de dehors)
if (!preg_match('/^\w+$/',$type, $r)) {
return;
}
if ($document) {
// premier appel
$flag_deplie = teste_doc_deplie($id_document);
} else if ($id_document) {
// retour d'Ajax
$document = spip_fetch_array(spip_query("SELECT * FROM spip_documents WHERE id_document = " . intval($id_document)));
$flag_deplie = 'ajax';
} else {
return;
}
$descriptif = $document['descriptif'];
$titre = $document['titre'];
$date = $document['date'];
if ($document['mode'] == 'vignette') {
$supp = 'image-24.gif';
$label = _T('entree_titre_image');
$taille = $vignette = '';
} else {
$supp = 'doc-24.gif';
$label = _T('entree_titre_document');
$taille = formulaire_taille($document);
$vignette = vignette_formulaire_legender($id_document, $document, $script, $type, $id, $ancre);
}
$entete = basename($document['fichier']);
if (($n=strlen($entete)) > 20)
$entete = substr($entete, 0, 10)."...".substr($entete, $n-10, $n);
if (strlen($document['titre']))
$entete = "<b>". typo($titre) . "</b>";
$contenu = '';
if ($descriptif)
$contenu .= propre($descriptif) . "<br />\n" ;
if ($document['largeur'] OR $document['hauteur'])
$contenu .= _T('info_largeur_vignette',
array('largeur_vignette' => $document['largeur'],
'hauteur_vignette' => $document['hauteur']));
else
$contenu .= taille_en_octets($document['taille']) . ' - ';
if ($date) $contenu .= "<br />\n" . affdate($date);
$corps =
(!$contenu ? '' :
"<div class='verdana1' style='text-align: center;'>$contenu</div>") .
"<b>$label</b><br />\n" .
"<input type='text' name='titre_document' class='formo' value=\"".entites_html($titre).
"\" size='40' onFocus=\"changeVisible(true, 'valider_doc$id_document', 'block', 'block');\" /><br /><br />\n" .
date_formulaire_legender($date, $id_document) .
"<br />\n<b>".
_T('info_description_2').
"</b><br />\n" .
"<textarea name='descriptif_document' rows='4' class='formo' cols='*' wrap='soft' onFocus=\"changeVisible(true, 'valider_doc$id_document', 'block', 'block');\">" .
entites_html($descriptif) .
"</textarea>\n" .
$taille .
"\n<div " .
($flag_deplie == 'ajax' ? '' : "class='display_au_chargement'") .
"id='valider_doc$id_document' align='".
$GLOBALS['spip_lang_right'].
"'>\n<input class='fondo' style='font-size:9px;' value='".
_T('bouton_enregistrer') .
"' type='submit' />" .
"</div>\n";
$texte = _T('icone_supprimer_document');
if (preg_match('/_edit$/', $script))
$action = redirige_action_auteur('supprimer', "document-$id_document", $script, "id_$type=$id#$ancre");
else {
$s = ($ancre =='documents' ? '': '-');
$action = ajax_action_auteur('documenter', "$s$id/$type/$id_document", $script, "id_$type=$id&type=$type&s=$s#$ancre", array($texte));
}
$corps = ajax_action_auteur("legender", $id_document, $script, "show_docs=$id_document&id_$type=$id#$ancre", $corps, "&id_document=$id_document&id=$id&type=$type&ancre=$ancre");
$corps .= $vignette . "\n\n\n\n"
. icone_horizontale($texte, $action, $supp, "supprimer.gif", false);
$bloc = "legender-aff-$id_document";
$corps = "<div style='text-align:center;height:1%'>"
. "<div style='float:".$GLOBALS['spip_lang_left']."'>"
. ($flag_deplie ?
bouton_block_visible($bloc) : bouton_block_invisible($bloc))
. "</div>\n"
. $entete
. "</div>\n"
. ($flag_deplie ?
debut_block_visible($bloc) : debut_block_invisible($bloc))
. $corps
. fin_block();
return ($flag_deplie === 'ajax') ? $corps :
"<div id='legender-$id_document' class='verdana1' style='color: " . $GLOBALS['couleur_foncee'] . "; border: 1px solid ". $GLOBALS['couleur_foncee'] ."; padding: 5px; margin-top: 3px; background-color: white'>" .
$corps .
'</div>';
}
function vignette_formulaire_legender($id_document, $document, $script, $type, $id, $ancre)
{
$id_vignette = $document['id_vignette'];
$texte = _T('info_supprimer_vignette');
if (preg_match('/_edit$/', $script))
$action = redirige_action_auteur('supprimer', "document-$id_vignette", $script, "id_$type=$id&show_docs=$id_document#$ancre");
else {
$s = ($ancre =='documents' ? '': '-');
$action = ajax_action_auteur('documenter', "$s$id/$type/$id_vignette", $script, "id_$type=$id&type=$type&s=$s&show_docs=$id_document#$ancre", array($texte));
}
return "<hr style='margin-left: -5px; margin-right: -5px; height: 1px; border: 0px; color: #eeeeee; background-color: white;' />"
. (!$id_vignette
? formulaire_upload($script, "id_$type=$id",$id, _T('info_vignette_personnalisee'), 'vignette', $type, $ancre, $id_document)
: icone_horizontale($texte, $action, "vignette-24.png", "supprimer.gif", false));
}
// Bloc d'edition de la taille du doc (pour embed)
// http://doc.spip.org/@formulaire_taille
function formulaire_taille($document) {
// (on ne le propose pas pour les images qu'on sait
// lire, id_type<=3), sauf bug, ou document distant
if ($document['id_type'] <= 3
AND $document['hauteur']
AND $document['largeur']
AND $document['distant']!='oui')
return '';
$id_document = $document['id_document'];
// Donnees sur le type de document
$t = @spip_abstract_fetsel('inclus,extension',
'spip_types_documents', "id_type=".$document['id_type']);
$type_inclus = $t['inclus'];
$extension = $t['extension'];
# TODO -- pour le MP3 "l x h pixels" ne va pas
if (($type_inclus == "embed" OR $type_inclus == "image")
AND (
// documents dont la taille est definie
($document['largeur'] * $document['hauteur'])
// ou distants
OR $document['distant'] == 'oui'
// ou formats dont la taille ne peut etre lue par getimagesize
OR $extension=='rm' OR $extension=='mov'
OR $extension=='flv' OR $extension=='mpg'
)) {
return "\n<br /><b>"._T('entree_dimensions')."</b><br />\n" .
"<input type='text' name='largeur_document' class='fondl' style='font-size:9px;' value=\"".$document['largeur']."\" size='5' onFocus=\"changeVisible(true, 'valider_doc$id_document', 'block', 'block');\" />" .
" &#215; <input type='text' name='hauteur_document' class='fondl' style='font-size:9px;' value=\"".$document['hauteur']."\" size='5' onFocus=\"changeVisible(true, 'valider_doc$id_document', 'block', 'block');\" /> "._T('info_pixels');
}
}
function date_formulaire_legender($date, $id_document) {
if (ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})", $date, $regs)){
$mois = $regs[2];
$jour = $regs[3];
$annee = $regs[1];
}
return "<b>"._T('info_mise_en_ligne')."</b><br />\n" .
afficher_jour($jour, "name='jour_doc' size='1' CLASS='fondl' style='font-size:9px;'\n\tonChange=\"changeVisible(true, 'valider_doc$id_document', 'block', 'block');\"") .
afficher_mois($mois, "name='mois_doc' size='1' CLASS='fondl' style='font-size:9px;'\n\tonChange=\"changeVisible(true, 'valider_doc$id_document', 'block', 'block');\"") .
afficher_annee($annee, "name='annee_doc' size='1' CLASS='fondl' style='font-size:9px;'\n\tonChange=\"changeVisible(true, 'valider_doc$id_document', 'block', 'block')\"") .
"<br />\n";
}
?>
<?php
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2006 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
if (!defined("_ECRIRE_INC_VERSION")) return;
include_spip('inc/actions'); // *action_auteur et determine_upload
include_spip('inc/documents');
include_spip('inc/presentation');
include_spip('inc/filtres');
// http://doc.spip.org/@formulaire_tourner
function inc_tourner_dist($id_document, $document, $script, $flag_modif, $type)
{
global $spip_lang_right;
if (!$document) {
// retour d'Ajax
$document = spip_fetch_array(spip_query("SELECT * FROM spip_documents WHERE id_document = " . intval($id_document)));
}
$id = $document["id_$type"];
$titre = $document['titre'];
$id_vignette = $document['id_vignette'];
$fichier = entites_html($document['fichier']);
if (isset($document['url']))
$url = $document['url'];
else {
charger_generer_url();
$url = generer_url_document($id_document);
}
if ($flag_modif)
$res .= boutons_rotateurs($document, $type, $id, $id_document,$script, $id_vignette);
else $res = '';
// Indiquer les documents manquants avec un panneau de warning
if ($document['distant'] != 'oui'
AND !@file_exists(_DIR_RACINE.$document['fichier'])) {
$c = _T('fichier_introuvable',
array('fichier'=>basename($document['fichier'])));
$res .= "<img src='" . _DIR_IMG_PACK . "warning-24.gif'"
."\n\tstyle='float: right;'\n\talt=\"$c\"\n\ttitle=\"$c\" />";
}
$res .= "<div style='text-align: center;'>";
$res .= document_et_vignette($document, $url, true);
$res .= "</div>\n";
$res .= "<div class='verdana1' style='text-align: center;'>";
$res .= " <font size='1' face='arial,helvetica,sans-serif' color='333333'>&lt;doc$id_document&gt;</font>";
$res .= "</div>";
if ($flag_modif === 'ajax') return $res;
$boite = '';
// Signaler les documents distants par une icone de trombone
if ($document['distant'] == 'oui')
$boite .= "\n<img src='"._DIR_IMG_PACK.'attachment.gif'."'\n\t style='float: $spip_lang_right;'\n\talt=\"$fichier\"\n\ttitle=\"$fichier\" />\n";
return "$boite<div id='tourner-$id_document'>$res</div>";
}
// http://doc.spip.org/@boutons_rotateurs
function boutons_rotateurs($document, $type, $id, $id_document, $script, $id_vignette) {
global $spip_lang_right;
static $ftype = array(1 => 'jpg', 2 => 'png', 3 => 'gif');
$process = $GLOBALS['meta']['image_process'];
// bloc rotation de l'image
// si c'est une image, qu'on sait la faire tourner, qu'elle
// n'est pas distante, qu'elle est bien presente dans IMG/
// qu'elle n'a pas de vignette perso ; et qu'on a la bibli !
if ($document['distant']!='oui' AND !$id_vignette
AND isset($ftype[$document['id_type']])
AND strstr($GLOBALS['meta']['formats_graphiques'],
$ftype[$document['id_type']])
AND ($process == 'imagick' OR $process == 'gd2'
OR $process == 'convert' OR $process == 'netpbm')
AND @file_exists(_DIR_RACINE.$document['fichier'])
) {
return "\n<div class='verdana1' style='float: $spip_lang_right; text-align: $spip_lang_right;'>" .
bouton_tourner_document($id, $id_document, $script, -90, $type, 'tourner-gauche.gif', _T('image_tourner_gauche')) .
bouton_tourner_document($id, $id_document, $script, 90, $type, 'tourner-droite.gif', _T('image_tourner_droite')) .
bouton_tourner_document($id, $id_document, $script, 180, $type, 'tourner-180.gif', _T('image_tourner_180')) .
"</div>\n";
}
}
// http://doc.spip.org/@bouton_tourner_document
function bouton_tourner_document($id, $id_document, $script, $rot, $type, $img, $title)
{
return ajax_action_auteur("tourner",
"$id_document-$rot",
$script,
"show_docs=$id_document&id_$type=$id#tourner-$id_document",
array(http_img_pack($img, $title, ''),
" class='bouton_rotation'"),
"&id_document=$id_document&id=$id&type=$type");
}
?>
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