You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1642 lines
56 KiB

<?php
//
// Ce fichier ne sera execute qu'une fois
if (defined("_ECRIRE_INC_DOCUMENTS")) return;
define("_ECRIRE_INC_DOCUMENTS", "1");
include_ecrire ("inc_objet.php3");
include_ecrire ("inc_admin.php3");
//
// Vignette pour les documents lies
//
function vignette_par_defaut($type_extension) {
if ($GLOBALS['flag_ecrire'])
$img = "../IMG/icones";
else
$img = "IMG/icones";
$filename = "$img/$type_extension";
// Glurps !
if (@file_exists($filename.'.png')) {
$vig = "$filename.png";
}
else if (@file_exists($filename.'.gif')) {
$vig = "$filename.gif";
}
else if (@file_exists($filename.'-dist.png')) {
$vig = "$filename-dist.png";
}
else if (@file_exists($filename.'-dist.gif')) {
$vig = "$filename-dist.gif";
}
else if (@file_exists("$img/defaut.png")) {
$vig = "$img/defaut.png";
}
else if (@file_exists("$img/defaut.gif")) {
$vig = "$img/defaut.gif";
}
else if (@file_exists("$img/defaut-dist.png")) {
$vig = "$img/defaut-dist.png";
}
else if (@file_exists("$img/defaut-dist.gif")) {
$vig = "$img/defaut-dist.gif";
}
if ($size = @getimagesize($vig)) {
$largeur = $size[0];
$hauteur = $size[1];
}
return array($vig, $largeur, $hauteur);
}
//
// Integration (embed) multimedia
//
function embed_document($id_document, $les_parametres="", $afficher_titre=true) {
global $id_doublons;
$id_doublons['documents'] .= ",$id_document";
if ($les_parametres) {
$parametres = explode("|",$les_parametres);
for ($i = 0; $i < count($parametres); $i++) {
$parametre = $parametres[$i];
if (eregi("^left|right|center$", $parametre)) {
$align = $parametre;
}
else {
$params[] = $parametre;
}
}
}
$query = "SELECT * FROM spip_documents WHERE id_document = $id_document";
$result = spip_query($query);
if ($row = spip_fetch_array($result)) {
$id_document = $row['id_document'];
$id_type = $row['id_type'];
$titre = propre($row ['titre']);
$descriptif = propre($row['descriptif']);
$fichier = generer_url_document($id_document);
$largeur = $row['largeur'];
$hauteur = $row['hauteur'];
$taille = $row['taille'];
$mode = $row['mode'];
$query_type = "SELECT * FROM spip_types_documents WHERE id_type=$id_type";
$result_type = spip_query($query_type);
if ($row_type = @spip_fetch_array($result_type)) {
$type = $row_type['titre'];
$inclus = $row_type['inclus'];
$extension = $row_type['extension'];
}
else $type = 'fichier';
// Pour RealVideo
if ((!ereg("^controls", $les_parametres)) AND (ereg("^(rm|ra|ram)$", $extension))) {
$real = true;
}
if ($inclus == "embed" AND !$real) {
for ($i = 0; $i < count($params); $i++) {
if (ereg("([^\=]*)\=([^\=]*)", $params[$i], $vals)){
$nom = $vals[1];
$valeur = $vals[2];
$inserer_vignette .= "<param name='$nom' value='$valeur'>";
$param_emb .= " $nom='$valeur'";
if ($nom == "controls" AND $valeur == "PlayButton") {
$largeur = 40;
$hauteur = 25;
}
else if ($nom == "controls" AND $valeur == "PositionSlider") {
$largeur = $largeur - 40;
$hauteur = 25;
}
}
}
$vignette = "<object width='$largeur' height='$hauteur'>";
$vignette .= "<param name='movie' value='$fichier'>";
$vignette .= "<param name='src' value='$fichier'>";
$vignette .= $inserer_vignette;
$vignette .= "<embed src='$fichier' $param_emb width='$largeur' height='$hauteur'></embed></object>";
}
else if ($inclus == "embed" AND $real) {
$vignette .= embed_document ($id_document, "controls=ImageWindow|type=audio/x-pn-realaudio-plugin|console=Console$id_document|nojava=true|$les_parametres", false);
$vignette .= "<br />";
$vignette .= embed_document ($id_document, "controls=PlayButton|type=audio/x-pn-realaudio-plugin|console=Console$id_document|nojava=true|$les_parametres", false);
$vignette .= embed_document ($id_document, "controls=PositionSlider|type=audio/x-pn-realaudio-plugin|console=Console$id_document|nojava=true|$les_parametres", false);
}
else if ($inclus == "image") {
$fichier_vignette = $fichier;
$largeur_vignette = $largeur;
$hauteur_vignette = $hauteur;
if ($fichier_vignette) {
$vignette = "<img src='$fichier_vignette' border=0";
if ($largeur_vignette && $hauteur_vignette)
$vignette .= " width='$largeur_vignette' height='$hauteur_vignette'";
if ($titre) {
$titre_ko = ($taille > 0) ? ($titre . " - ". taille_en_octets($taille)) : $titre;
21 years ago
$titre_ko = supprimer_tags(propre($titre_ko));
$vignette .= " alt=\"$titre_ko\" title=\"$titre_ko\"";
}
$vignette .= ">";
}
}
if ($afficher_titre) {
if ($largeur_vignette < 120) $largeur_vignette = 120;
$forcer_largeur = " width = '$largeur_vignette'";
$retour = "<table cellpadding=0 cellspacing=0 border=0 align='$align'>\n";
$retour .= "<tr>";
if ($align == "right") $retour .= "<td width='10'> &nbsp; </td>";
$retour .= "<td align='center'$forcer_largeur>\n<div class='spip_documents'>\n";
$retour .= $vignette;
if ($titre) $retour .= "<div style='text-align: center;'><b>$titre</b></div>";
if ($descriptif) $retour .= "<div style='text-align: left;'>$descriptif</div>";
$retour .= "</div>\n</td>";
if ($align == "left") $retour .= "<td width='10'> &nbsp; </td>";
$retour .= "</tr>\n</table>\n";
}
else {
$retour = $vignette;
}
return $retour;
}
}
//
// Integration des images et documents
//
function integre_image($id_document, $align, $type_aff = 'IMG') {
global $id_doublons;
global $flag_ecrire;
$id_doublons['documents'] .= ",$id_document";
$query = "SELECT * FROM spip_documents WHERE id_document = $id_document";
$result = spip_query($query);
if ($row = spip_fetch_array($result)) {
$id_document = $row['id_document'];
$id_type = $row['id_type'];
$titre = typo($row['titre']);
$descriptif = propre($row['descriptif']);
$fichier = $row['fichier'];
$url_fichier = generer_url_document($id_document);
$largeur = $row['largeur'];
$hauteur = $row['hauteur'];
$taille = $row['taille'];
$mode = $row['mode'];
$id_vignette = $row['id_vignette'];
// on construira le lien en fonction du type de doc
$result_type = spip_query("SELECT * FROM spip_types_documents WHERE id_type = $id_type");
if ($type = @spip_fetch_object($result_type)) {
$extension = $type->extension;
}
// recuperer la vignette pour affichage inline
if ($id_vignette) {
$query_vignette = "SELECT * FROM spip_documents WHERE id_document = $id_vignette";
$result_vignette = spip_query($query_vignette);
if ($row_vignette = @spip_fetch_array($result_vignette)) {
$fichier_vignette = $row_vignette['fichier'];
$url_fichier_vignette = generer_url_document($id_vignette);
$largeur_vignette = $row_vignette['largeur'];
$hauteur_vignette = $row_vignette['hauteur'];
// verifier l'existence du fichier correspondant
$path = ($flag_ecrire?'../':'') . $fichier_vignette;
if (!@file_exists($path) AND (!$flag_ecrire OR !@file_exists('../IMG/test.jpg')))
$url_fichier_vignette = '';
}
}
else if ($mode == 'vignette') {
$url_fichier_vignette = $url_fichier;
$largeur_vignette = $largeur;
$hauteur_vignette = $hauteur;
}
// si pas de vignette, utiliser la vignette par defaut
// ou essayer de creer une preview (images)
if (!$url_fichier_vignette) {
if (!ereg(",$extension,", ','.lire_meta('formats_graphiques').',')) {
list($url_fichier_vignette, $largeur_vignette, $hauteur_vignette) = vignette_par_defaut($extension);
} else {
$url_fichier_vignette = ($flag_ecrire?'../':'').'spip_image.php3?vignette='.rawurlencode(str_replace('../', '', $fichier));
}
}
if ($type_aff=='fichier_vignette')
return $url_fichier_vignette;
if ($url_fichier_vignette) {
$vignette = "<img src='$url_fichier_vignette' border=0";
if ($largeur_vignette && $hauteur_vignette)
$vignette .= " width='$largeur_vignette' height='$hauteur_vignette'";
if ($titre) {
$titre_ko = ($taille > 0) ? ($titre . " - ". taille_en_octets($taille)) : $titre;
$titre_ko = supprimer_tags(propre($titre_ko));
$vignette .= " alt=\"$titre_ko\" title=\"$titre_ko\"";
}
if ($affichage_detaille)
$vignette .= ">";
else {
if ($align)
$vignette .= " hspace='5' vspace='3'>";
else
$vignette .= " align='middle'>";
if ($align == 'center') $vignette = "<p align='center'>$vignette</p>";
}
}
if ($mode == 'document')
$vignette = "<a href='$url_fichier'>$vignette</a>";
// si affichage detaille ('DOC'), ajouter une legende
if (strtoupper($type_aff) == 'DOC') {
$query_type = "SELECT * FROM spip_types_documents WHERE id_type=$id_type";
$result_type = spip_query($query_type);
if ($row_type = @spip_fetch_array($result_type)) {
$type = $row_type['titre'];
}
else $type = 'fichier';
if ($largeur_vignette < 120) $largeur_vignette = 120;
$forcer_largeur = " width = '$largeur_vignette'";
$retour = "<table cellpadding='0' cellspacing='0' border='0' align='$align'>\n";
$retour .= "<tr>";
if ($align == "right") $retour .= "<td width='10'> &nbsp; </td>";
$retour .= "<td align='center'$forcer_largeur>\n<div class='spip_documents'>\n";
$retour .= $vignette;
if ($titre) $retour .= "<div style='text-align: center;'><b>$titre</b></div>";
if ($descriptif) $retour .= "<div style='text-align:left;'>$descriptif</div>";
if ($mode == 'document')
$retour .= "<div>(<a href='$url_fichier'>$type, ".taille_en_octets($taille)."</a>)</div>";
$retour .= "</div>\n</td>";
if ($align == "left") $retour .= "<td width='10'> &nbsp; </td>";
$retour .= "</tr>\n</table>\n";
}
else $retour = $vignette;
}
return $retour;
}
//
// Parcourt recursivement le repertoire upload/ (ou tout autre repertoire, d'ailleurs)
//
function fichiers_upload($dir) {
$fichiers = array();
$d = opendir($dir);
while ($f = readdir($d)) {
if (is_file("$dir/$f") AND $f != 'remove.txt') {
$fichiers[] = "$dir/$f";
}
else
if (is_dir("$dir/$f") AND $f != '.' AND $f != '..') {
$fichiers_dir = fichiers_upload("$dir/$f");
while (list(,$f2) = each ($fichiers_dir))
$fichiers[] = $f2;
}
}
closedir($d);
sort($fichiers);
return $fichiers;
}
//
// Retourner le code HTML d'utilisation de fichiers uploades a la main
//
function texte_upload_manuel($dir, $inclus = '') {
$fichiers = fichiers_upload($dir);
20 years ago
$exts = array();
while (list(, $f) = each($fichiers)) {
$f = ereg_replace("^$dir/","",$f);
if (ereg("\.([^.]+)$", $f, $match)) {
$ext = strtolower($match[1]);
20 years ago
if (!$exts[$ext]) {
if ($ext == 'jpeg') $ext = 'jpg';
$req = "SELECT extension FROM spip_types_documents WHERE extension='$ext'";
if ($inclus) $req .= " AND inclus='$inclus'";
if (@spip_fetch_array(spip_query($req))) $exts[$ext] = 'oui';
else $exts[$ext] = 'non';
}
$ledossier = substr($f, 0, strrpos($f,"/"));
if (strlen($ledossier) > 0) $ledossier = "$ledossier";
$lefichier = substr($f, strrpos($f, "/"), strlen($f));
if ($ledossier != $ledossier_prec) {
$texte_upload .= "\n<option value=\"$ledossier\" style='font-weight: bold;'>Tout le dossier $ledossier</option>";
}
$ledossier_prec = $ledossier;
if ($ext == "zip") {
$texte_upload .= "\n<option value=\"$f\">&nbsp; &nbsp; &nbsp; &nbsp; $lefichier (en tant que fichier zip)</option>";
$texte_upload .= "\n<option value=\"$f--unzip\">&nbsp; &nbsp; &nbsp; &nbsp; $lefichier (d&eacute;compacter et installer les documents s&eacute;par&eacute;s)</option>";
}
else if ($exts[$ext] == 'oui') $texte_upload .= "\n<option value=\"$f\">&nbsp; &nbsp; &nbsp; &nbsp; $lefichier</option>";
}
}
return $texte_upload;
}
function texte_vignette_document($largeur_vignette, $hauteur_vignette, $fichier_vignette, $fichier_document) {
if ($largeur_vignette > 140) {
$rapport = 140.0 / $largeur_vignette;
$largeur_vignette = 140;
$hauteur_vignette = ceil($hauteur_vignette * $rapport);
}
if ($hauteur_vignette > 130) {
$rapport = 130.0 / $hauteur_vignette;
$hauteur_vignette = 130;
$largeur_vignette = ceil($largeur_vignette * $rapport);
}
if ($fichier_document)
return "<a href='$fichier_document'><img src='$fichier_vignette' border='0' height='$hauteur_vignette' width='$largeur_vignette' align='top'></a>\n";
else
return "<img src='$fichier_vignette' border='0' height='$hauteur_vignette' width='$largeur_vignette' align='top'>\n";
}
//
// Afficher un formulaire d'upload
//
function afficher_upload($link, $intitule, $inclus = '', $afficher_texte_ftp = true, $forcer_document = false, $dossier_complet = false) {
global $clean_link, $connect_statut, $connect_toutes_rubriques, $options;
static $num_form = 0;
if (!$link->getVar('redirect'))
$link->addVar('redirect', $clean_link->getUrl());
if ($forcer_document)
$link->addVar('forcer_document', 'oui');
echo "<font face='Verdana,Arial,Sans,sans-serif' size='2'>\n";
echo $link->getForm('POST', 'docs', 'multipart/form-data');
if (tester_upload()) {
echo "<div><b>$intitule</b></div>";
echo "<div><input name='image' type='File' class='forml' size='15'></div>\n";
echo "<div align='".$GLOBALS['spip_lang_right']."'><input name='ok' type='Submit' VALUE='"._T('bouton_telecharger')."' CLASS='fondo'></div>\n";
}
if ($connect_statut == '0minirezo' AND $connect_toutes_rubriques AND $options == "avancees") {
$texte_upload = texte_upload_manuel("upload", $inclus);
if ($texte_upload) {
echo "<p><div style='color: #505050;'>";
if ($forcer_document) echo '<input type="hidden" name="forcer_document" value="oui">';
echo "\n"._T('info_selectionner_fichier')."&nbsp;:<br />";
echo "\n<select name='image2' size='1' class='fondl'>";
echo $texte_upload;
echo "\n</select>";
20 years ago
echo "\n <div align='".$GLOBALS['spip_lang_right']."'><input name='ok' type='Submit' value='"._T('bouton_choisir')."' class='fondo'></div>";
/*
if ($afficher_texte_ftp){
if ($dossier_complet){
echo "\n<p><b>"._T('info_portfolio_automatique')."</b>";
echo "\n<br />"._T('info_installer_documents');
20 years ago
echo "\n<div align='".$GLOBALS['spip_lang_right']."'><input name='dossier_complet' type='Submit' value='"._T('info_installer_tous_documents')."' class='fondo'></div>";
}
}
*/
echo "</div>\n";
}
else if ($afficher_texte_ftp) {
echo "<div style='border: 1px #303030 solid; padding: 4px; color: #505050;'>";
echo _T('info_installer_ftp').aide("ins_upload");
echo "</div>";
}
}
echo "</form>\n";
echo "</font>\n";
}
//
// Afficher les documents non inclus
// (page des articles)
function afficher_documents_non_inclus($id_article, $type = "article", $flag_modif) {
global $connect_id_auteur, $connect_statut;
global $couleur_foncee, $couleur_claire;
global $clean_link;
global $id_doublons, $options;
global $spip_lang_left, $spip_lang_right;
$image_link = new Link('../spip_image.php3');
if ($id_article) $image_link->addVar('id_article', $id_article);
if ($type == "rubrique") $image_link->addVar('modifier_rubrique','oui');
if ($GLOBALS['id_document'] > 0) {
$id_document_deplie = $GLOBALS['id_document'];
}
if (!$redirect_url) $redirect_url = $clean_link->getUrl();
// Afficher portfolio
/////////
$query = "SELECT docs.* FROM spip_documents AS docs, spip_documents_".$type."s AS l, spip_types_documents AS types ".
"WHERE l.id_$type=$id_article AND l.id_document=docs.id_document ".
"AND docs.mode='document'".
" AND docs.id_type=types.id_type AND types.extension IN ('gif', 'jpg', 'png')";
if ($id_doublons['documents']) $query .= " AND docs.id_document NOT IN (".$id_doublons['documents'].") ";
$query .= " ORDER BY docs.id_document";
$images_liees = fetch_document($query);
if ($images_liees) {
$case = "0";
echo "<a name='portfolio'></a>";
echo "<div>&nbsp;</div>";
echo "<div style='background-color: $couleur_claire; padding: 4px; color: black; -moz-border-radius-topleft: 5px; -moz-border-radius-topright: 5px;' class='verdana2'><b>PORTFOLIO</b></div>";
echo "<table width='100%' cellspacing='0' cellpadding='5'>";
reset($images_liees);
while (list(, $id_document) = each($images_liees)) {
$flag_deplier = ($id_document_deplie == $id_document);
if ($case == 0) {
echo "<tr style='border-top: 1px solid black;'>";
}
$style = "border-left: 1px solid $couleur_claire; border-bottom: 1px solid $couleur_claire;";
if ($case == 2) $style .= " border-right: 1px solid $couleur_claire;";
echo "<td width='33%' style='text-align: $spip_lang_left; $style' valign='top'>";
//afficher_horizontal_document($id_document, $image_link, $redirect_url, $flag_modif);
$document = fetch_document($id_document);
$id_vignette = $document->get('id_vignette');
$id_type = $document->get('id_type');
$titre = $document->get('titre');
$descriptif = $document->get('descriptif');
$fichier = generer_url_document($id_document);
$fichier = substr($fichier, 3, strlen($fichier));
$largeur = $document->get('largeur');
$hauteur = $document->get('hauteur');
$taille = $document->get('taille');
$date = $document->get('date');
$mode = $document->get('mode');
//
// Recuperer la vignette
//
if ($id_vignette >0) {
$vignette = fetch_document($id_vignette);
if ($vignette) {
$fichier_vignette = generer_url_document($id_vignette);
$largeur_vignette = $vignette->get('largeur');
$hauteur_vignette = $vignette->get('hauteur');
$taille_vignette = $vignette->get('taille');
echo "<div style='text-align:center;'>";
echo texte_vignette_document($largeur_vignette, $hauteur_vignette, $fichier_vignette, "../$fichier");
echo "</div>";
}
}
else {
$fichier_vignette = "../spip_images.php3?vignette=$fichier";
echo "<div style='text-align: center;'><a href='../$fichier'><img src='$fichier_vignette' border='0'></a></div>";
}
$process = lire_meta('image_process');
// imagick (php4-imagemagick)
if ($process == 'imagick') {
echo "<div class='verdana1' style='text-align:center'>";
$link_rot = $image_link;
$link_rot->addVar('redirect', $redirect_url);
$link_rot->addVar('hash', calculer_action_auteur("rotate ".$id_document));
$link_rot->addVar('hash_id_auteur', $connect_id_auteur);
$link_rot->addVar('doc_rotate', $id_document);
$link_rot->addVar('vignette_aff', $id_document);
$link_rot->addVar('var_rot', -90);
echo "<a href='".$link_rot->getUrl("portfolio")."'>gauche</a> |";
$link_rot = $image_link;
$link_rot->addVar('redirect', $redirect_url);
$link_rot->addVar('hash', calculer_action_auteur("rotate ".$id_document));
$link_rot->addVar('hash_id_auteur', $connect_id_auteur);
$link_rot->addVar('doc_rotate', $id_document);
$link_rot->addVar('vignette_aff', $id_document);
$link_rot->addVar('var_rot', 90);
echo "<a href='".$link_rot->getUrl("portfolio")."'>droite</a> |";
$link_rot = $image_link;
$link_rot->addVar('redirect', $redirect_url);
$link_rot->addVar('hash', calculer_action_auteur("rotate ".$id_document));
$link_rot->addVar('hash_id_auteur', $connect_id_auteur);
$link_rot->addVar('doc_rotate', $id_document);
$link_rot->addVar('vignette_aff', $id_document);
$link_rot->addVar('var_rot', 180);
echo "<a href='".$link_rot->getUrl("portfolio")."'>180&deg;</a>";
}
if ($flag_modif) {
if ($flag_deplier) $triangle = bouton_block_visible("port$id_document");
else $triangle = bouton_block_invisible("port$id_document");
}
if (strlen($titre) > 0) {
echo "<div class='verdana2'><b>$triangle".propre($titre)."</b></div>";
} else {
$nom_fichier = substr($fichier, strrpos($fichier, "/")+1, strlen($fichier));
echo "<div class='verdana1'>$triangle$nom_fichier</div>";
}
if (strlen($descriptif) > 0) {
echo "<div class='verdana1'>".propre($descriptif)."</div>";
}
echo "<div class='verdana1' style='text-align: center;'>$largeur x $hauteur pixels</div>";
if ($flag_modif) {
if ($flag_deplier) echo debut_block_visible("port$id_document");
else echo debut_block_invisible("port$id_document");
hr("#999999;");
echo "<div class='verdana1' style='color: $couleur_foncee;'>";
$link = new Link($redirect_url);
$link->addVar('modif_document', 'oui');
$link->addVar('id_document', $id_document);
$ancre = "portfolio";
if ($flag_modif) {
echo $link->getForm('POST', $ancre);
echo "<b>"._T('titre_titre_document')."</b><br />\n";
echo "<input type='text' name='titre_document' class='formo' style='font-size:11px;' value=\"".entites_html($titre)."\" size='40'><br />";
if ($GLOBALS['coll'] > 0 AND $options == "avancees") {
if (ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})", $date, $regs)) {
$mois = $regs[2];
$jour = $regs[3];
$annee = $regs[1];
}
echo "<b>"._T('info_mise_en_ligne')."</b><br />\n";
echo "<SELECT NAME='jour_doc' SIZE=1 CLASS='fondl' style='font-size:9px;'>";
afficher_jour($jour);
echo "</SELECT>";
echo "<SELECT NAME='mois_doc' SIZE=1 CLASS='fondl' style='font-size:9px;'>";
afficher_mois($mois);
echo "</SELECT>";
echo "<SELECT NAME='annee_doc' SIZE=1 CLASS='fondl' style='font-size:9px;'>";
afficher_annee($annee);
echo "</SELECT><br />";
}
if ($options == "avancees") {
echo "<b>"._T('info_description')."</b><br />\n";
echo "<textarea name='descriptif_document' rows='4' class='forml' style='font-size:10px;' cols='*' wrap='soft'>";
echo entites_html($descriptif);
echo "</textarea>\n";
} else {
echo "<input type='hidden' name='descriptif_document' value='".entites_html($descriptif)."' />\n";
}
if ($type_inclus == "embed" OR $type_inclus == "image") {
echo "<br /><b>"._T('info_dimension')."</b><br />\n";
echo "<input type='text' name='largeur_document' class='fondl' style='font-size:9px;' value=\"$largeur\" size='5'>";
echo " x <input type='text' name='hauteur_document' class='fondl' style='font-size:9px;' value=\"$hauteur\" size='5'> "._T('info_pixels');
} else {
echo "<input type='hidden' name='largeur_document' value=\"$largeur\" />\n";
echo "<input type='hidden' name='hauteur_document' value=\"$hauteur\" />\n";
}
echo "<div align='".$GLOBALS['spip_lang_right']."'>";
echo "<input TYPE='submit' class='fondo' NAME='Valider' VALUE='"._T('bouton_valider')."'>";
echo "</div>";
echo "</form>";
}
echo "</div>";
$link_supp = $image_link;
$link_supp->addVar('redirect', $redirect_url);
$link_supp->addVar('hash', calculer_action_auteur("supp_doc ".$id_document));
$link_supp->addVar('hash_id_auteur', $connect_id_auteur);
$link_supp->addVar('doc_supp', $id_document);
hr("#999999;");
icone_horizontale(_T('icone_supprimer_document'), $link_supp->getUrl(), "doc-24.gif", "supprimer.gif");
echo fin_block();
}
echo "</td>\n";
$case ++;
if ($case == 3) {
$case = 0;
echo "</tr>\n";
}
$id_doublons['documents'] .= ",$id_document";
}
if ($case > 0) {
echo "<td style='border-left: 1px solid $couleur_claire;'>&nbsp;</td>";
echo "</tr>";
}
echo "</table>";
}
// Ne pas afficher vignettes en tant qu'images sans docs
//// Documents associes
$query = "SELECT * FROM #table AS docs, spip_documents_".$type."s AS l ".
"WHERE l.id_$type=$id_article AND l.id_document=docs.id_document ".
"AND docs.mode='document'";
if ($id_doublons['documents']) $query .= " AND docs.id_document NOT IN (".$id_doublons['documents'].") ";
$query .= " ORDER BY docs.id_document";
$documents_lies = fetch_document($query);
if ($documents_lies) {
$case = "0";
echo "<a name='docs'></a>";
echo "<div>&nbsp;</div>";
echo "<div style='background-color: #aaaaaa; padding: 4px; color: black; -moz-border-radius-topleft: 5px; -moz-border-radius-topright: 5px;' class='verdana2'><b>DOCUMENTS</b></div>";
echo "<table width='100%' cellspacing='0' cellpadding='5'>";
reset($documents_lies);
while (list(, $id_document) = each($documents_lies)) {
$flag_deplier = ($id_document_deplie == $id_document);
if ($case == 0) {
echo "<tr style='border-top: 1px solid black;'>";
}
$style = "border-left: 1px solid #aaaaaa; border-bottom: 1px solid #aaaaaa;";
if ($case == 1) $style .= " border-right: 1px solid #aaaaaa;";
echo "<td width='50%' style='text-align: $spip_lang_left; $style' valign='top'>";
//afficher_horizontal_document($id_document, $image_link, $redirect_url, $flag_modif);
$document = fetch_document($id_document);
$id_vignette = $document->get('id_vignette');
$id_type = $document->get('id_type');
$titre = $document->get('titre');
$descriptif = $document->get('descriptif');
$fichier = generer_url_document($id_document);
$fichier = substr($fichier, 3, strlen($fichier));
$largeur = $document->get('largeur');
$hauteur = $document->get('hauteur');
$taille = $document->get('taille');
$date = $document->get('date');
$mode = $document->get('mode');
//
// Recuperer la vignette
//
$vignette = "";
$fichier_vignette = "";
if ($id_vignette > 0) {
$vignette = fetch_document($id_vignette);
if ($vignette) {
$fichier_vignette = generer_url_document($id_vignette);
$largeur_vignette = $vignette->get('largeur');
$hauteur_vignette = $vignette->get('hauteur');
$taille_vignette = $vignette->get('taille');
}
echo "<div style='text-align:center;'>";
echo texte_vignette_document($largeur_vignette, $hauteur_vignette, $fichier_vignette, "../$fichier");
echo "</div>";
}
else {
$fichier_vignette = "../spip_images.php3?vignette=$fichier";
echo "<div style='text-align: center;'><a href='../$fichier'><img src='$fichier_vignette' border='0'></a></div>";
}
if ($flag_modif) {
if ($flag_deplier) $triangle = bouton_block_visible("port$id_document");
else $triangle = bouton_block_invisible("port$id_document");
}
if (strlen($titre) > 0) {
echo "<div class='verdana2'><b>$triangle".propre($titre)."</b></div>";
} else {
$nom_fichier = substr($fichier, strrpos($fichier, "/")+1, strlen($fichier));
echo "<div class='verdana1'>$triangle$nom_fichier</div>";
}
if (strlen($descriptif) > 0) {
echo "<div class='verdana1'>".propre($descriptif)."</div>";
}
echo "<div class='verdana1' style='text-align: center;'>$largeur x $hauteur pixels</div>";
if ($flag_modif) {
if ($flag_deplier) echo debut_block_visible("port$id_document");
else echo debut_block_invisible("port$id_document");
hr("#999999;");
echo "<div class='verdana1' style='color: #999999;'>";
$link = new Link($redirect_url);
$link->addVar('modif_document', 'oui');
$link->addVar('id_document', $id_document);
$ancre = "docs";
if ($flag_modif) {
echo $link->getForm('POST', $ancre);
echo "<b>"._T('titre_titre_document')."</b><br />\n";
echo "<input type='text' name='titre_document' class='formo' style='font-size:11px;' value=\"".entites_html($titre)."\" size='40'><br />";
if ($GLOBALS['coll'] > 0 AND $options == "avancees") {
if (ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})", $date, $regs)) {
$mois = $regs[2];
$jour = $regs[3];
$annee = $regs[1];
}
echo "<b>"._T('info_mise_en_ligne')."</b><br />\n";
echo "<SELECT NAME='jour_doc' SIZE=1 CLASS='fondl' style='font-size:9px;'>";
afficher_jour($jour);
echo "</SELECT>";
echo "<SELECT NAME='mois_doc' SIZE=1 CLASS='fondl' style='font-size:9px;'>";
afficher_mois($mois);
echo "</SELECT>";
echo "<SELECT NAME='annee_doc' SIZE=1 CLASS='fondl' style='font-size:9px;'>";
afficher_annee($annee);
echo "</SELECT><br />";
}
if ($options == "avancees") {
echo "<b>"._T('info_description')."</b><br />\n";
echo "<textarea name='descriptif_document' rows='4' class='forml' style='font-size:10px;' cols='*' wrap='soft'>";
echo entites_html($descriptif);
echo "</textarea>\n";
} else {
echo "<input type='hidden' name='descriptif_document' value='".entites_html($descriptif)."' />\n";
}
if ($type_inclus == "embed" OR $type_inclus == "image") {
echo "<br /><b>"._T('info_dimension')."</b><br />\n";
echo "<input type='text' name='largeur_document' class='fondl' style='font-size:9px;' value=\"$largeur\" size='5'>";
echo " x <input type='text' name='hauteur_document' class='fondl' style='font-size:9px;' value=\"$hauteur\" size='5'> "._T('info_pixels');
} else {
echo "<input type='hidden' name='largeur_document' value=\"$largeur\" />\n";
echo "<input type='hidden' name='hauteur_document' value=\"$hauteur\" />\n";
}
echo "<div align='".$GLOBALS['spip_lang_right']."'>";
echo "<input TYPE='submit' class='fondo' NAME='Valider' VALUE='"._T('bouton_valider')."'>";
echo "</div>";
echo "</form>";
}
echo "</div>";
$link_supp = $image_link;
$link_supp->addVar('redirect', $redirect_url);
$link_supp->addVar('hash', calculer_action_auteur("supp_doc ".$id_document));
$link_supp->addVar('hash_id_auteur', $connect_id_auteur);
$link_supp->addVar('doc_supp', $id_document);
hr("#999999;");
icone_horizontale(_T('icone_supprimer_document'), $link_supp->getUrl(), "doc-24.gif", "supprimer.gif");
echo fin_block();
}
echo "</td>\n";
$case ++;
if ($case == 2) {
$case = 0;
echo "</tr>\n";
}
$id_doublons['documents'] .= ",$id_document";