";
$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 = "";
$vignette .= " ";
$vignette .= " ";
$vignette .= $inserer_vignette;
$vignette .= " ";
}
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 .= " ";
$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 = " 0) ? ($titre . " - ". taille_en_octets($taille)) : $titre;
$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 = "
\n";
$retour .= "";
if ($align == "right") $retour .= " ";
$retour .= "\n\n";
$retour .= $vignette;
if ($titre) $retour .= "
$titre
";
if ($descriptif) $retour .= "
$descriptif
";
$retour .= "
\n ";
if ($align == "left") $retour .= " ";
$retour .= " \n
\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 = " 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 = "$vignette
";
}
}
if ($mode == 'document')
$vignette = "$vignette ";
// 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 = "\n";
$retour .= "";
if ($align == "right") $retour .= " ";
$retour .= "\n\n";
$retour .= $vignette;
if ($titre) $retour .= "
$titre
";
if ($descriptif) $retour .= "
$descriptif
";
if ($mode == 'document')
$retour .= "
";
$retour .= "
\n ";
if ($align == "left") $retour .= " ";
$retour .= " \n
\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);
$exts = array();
while (list(, $f) = each($fichiers)) {
$f = ereg_replace("^$dir/","",$f);
if (ereg("\.([^.]+)$", $f, $match)) {
$ext = strtolower($match[1]);
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 .= "\nTout le dossier $ledossier ";
}
$ledossier_prec = $ledossier;
if ($ext == "zip") {
$texte_upload .= "\n $lefichier (en tant que fichier zip) ";
$texte_upload .= "\n $lefichier (décompacter et installer les documents séparés) ";
}
else if ($exts[$ext] == 'oui') $texte_upload .= "\n $lefichier ";
}
}
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 " \n";
else
return " \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 "\n";
echo $link->getForm('POST', 'docs', 'multipart/form-data');
if (tester_upload()) {
echo "$intitule
";
echo "
\n";
echo "
\n";
}
if ($connect_statut == '0minirezo' AND $connect_toutes_rubriques AND $options == "avancees") {
$texte_upload = texte_upload_manuel("upload", $inclus);
if ($texte_upload) {
echo "
";
if ($forcer_document) echo '
';
echo "\n"._T('info_selectionner_fichier')." :
";
echo "\n
";
echo $texte_upload;
echo "\n ";
echo "\n
";
/*
if ($afficher_texte_ftp){
if ($dossier_complet){
echo "\n
"._T('info_portfolio_automatique')." ";
echo "\n "._T('info_installer_documents');
echo "\n
";
}
}
*/
echo "
\n";
}
else if ($afficher_texte_ftp) {
echo "";
echo _T('info_installer_ftp').aide("ins_upload");
echo "
";
}
}
echo "\n";
echo " \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 " ";
echo "
";
echo "PORTFOLIO
";
echo "";
reset($images_liees);
while (list(, $id_document) = each($images_liees)) {
$flag_deplier = ($id_document_deplie == $id_document);
if ($case == 0) {
echo "";
}
$style = "border-left: 1px solid $couleur_claire; border-bottom: 1px solid $couleur_claire;";
if ($case == 2) $style .= " border-right: 1px solid $couleur_claire;";
echo "";
//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 "";
echo texte_vignette_document($largeur_vignette, $hauteur_vignette, $fichier_vignette, "../$fichier");
echo "
";
}
}
else {
$fichier_vignette = "../spip_images.php3?vignette=$fichier";
echo " ";
}
$process = lire_meta('image_process');
// imagick (php4-imagemagick)
if ($process == 'imagick') {
echo "";
$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 "
gauche |";
$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 "
droite |";
$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 "
180° ";
}
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 "
$triangle".propre($titre)."
";
} else {
$nom_fichier = substr($fichier, strrpos($fichier, "/")+1, strlen($fichier));
echo "
$triangle$nom_fichier
";
}
if (strlen($descriptif) > 0) {
echo "
".propre($descriptif)."
";
}
echo "
$largeur x $hauteur pixels
";
if ($flag_modif) {
if ($flag_deplier) echo debut_block_visible("port$id_document");
else echo debut_block_invisible("port$id_document");
hr("#999999;");
echo "
";
$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 "
"._T('titre_titre_document')." \n";
echo "
";
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 "
"._T('info_mise_en_ligne')." \n";
echo "
";
afficher_jour($jour);
echo " ";
echo "
";
afficher_mois($mois);
echo " ";
echo "
";
afficher_annee($annee);
echo " ";
}
if ($options == "avancees") {
echo "
"._T('info_description')." \n";
echo "
\n";
} else {
echo "
\n";
}
if ($type_inclus == "embed" OR $type_inclus == "image") {
echo "
"._T('info_dimension')." \n";
echo "
";
echo " x
"._T('info_pixels');
} else {
echo "
\n";
echo "
\n";
}
echo "
";
echo " ";
echo "
";
echo "";
}
echo "
";
$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 "
\n";
$case ++;
if ($case == 3) {
$case = 0;
echo " \n";
}
$id_doublons['documents'] .= ",$id_document";
}
if ($case > 0) {
echo " ";
echo "";
}
echo "
";
}
// 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 " ";
echo "
";
echo "DOCUMENTS
";
echo "";
reset($documents_lies);
while (list(, $id_document) = each($documents_lies)) {
$flag_deplier = ($id_document_deplie == $id_document);
if ($case == 0) {
echo "";
}
$style = "border-left: 1px solid #aaaaaa; border-bottom: 1px solid #aaaaaa;";
if ($case == 1) $style .= " border-right: 1px solid #aaaaaa;";
echo "";
//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 "";
echo texte_vignette_document($largeur_vignette, $hauteur_vignette, $fichier_vignette, "../$fichier");
echo "
";
}
else {
$fichier_vignette = "../spip_images.php3?vignette=$fichier";
echo "";
}
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 "$triangle".propre($titre)."
";
} else {
$nom_fichier = substr($fichier, strrpos($fichier, "/")+1, strlen($fichier));
echo "$triangle$nom_fichier
";
}
if (strlen($descriptif) > 0) {
echo "".propre($descriptif)."
";
}
echo "$largeur x $hauteur pixels
";
if ($flag_modif) {
if ($flag_deplier) echo debut_block_visible("port$id_document");
else echo debut_block_invisible("port$id_document");
hr("#999999;");
echo "";
$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 "
"._T('titre_titre_document')." \n";
echo "
";
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 "
"._T('info_mise_en_ligne')." \n";
echo "
";
afficher_jour($jour);
echo " ";
echo "
";
afficher_mois($mois);
echo " ";
echo "
";
afficher_annee($annee);
echo " ";
}
if ($options == "avancees") {
echo "
"._T('info_description')." \n";
echo "
\n";
} else {
echo "
\n";
}
if ($type_inclus == "embed" OR $type_inclus == "image") {
echo "
"._T('info_dimension')." \n";
echo "
";
echo " x
"._T('info_pixels');
} else {
echo "
\n";
echo "
\n";
}
echo "
";
echo " ";
echo "
";
echo "";
}
echo "
";
$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 " \n";
$case ++;
if ($case == 2) {
$case = 0;
echo " \n";
}
$id_doublons['documents'] .= ",$id_document";
}
if ($case > 0) {
echo " ";
echo "";
}
echo "
";
}
if (lire_meta("documents_$type") != 'non' AND $flag_modif) {
/// Ajouter nouveau document/image
echo "";
echo "
";
echo debut_cadre_relief("image-24.gif", false, "", _T('titre_joindre_document'));
$link = $image_link;
$link->addVar('redirect', $redirect_url);
$link->addVar('hash', calculer_action_auteur("ajout_doc"));
$link->addVar('hash_id_auteur', $connect_id_auteur);
$link->addVar('ajout_doc', 'oui');
$link->addVar('type', $type);
afficher_upload($link, "", '', true, true, true);
echo fin_cadre_relief();
echo "
";
echo "
";
}
/*
if (lire_meta("documents_$type") != 'non' AND $flag_modif) {
/// Ajouter nouveau document/image
echo debut_cadre_enfonce("doc-24.gif",false,"creer.gif");
echo "";
echo bouton_block_invisible("ajouter_document");
if ($type == "rubrique") echo ""._T('titre_publier_document')." ".aide("ins_doc");
else echo ""._T('titre_joindre_document')." ".aide("ins_doc");
echo "
\n";
echo debut_block_invisible("ajouter_document");
echo "
";
echo "";
echo "";
if ($type == "article")
echo _T('info_joindre_document_article')." : ";
else if ($type == "rubrique")
echo _T('info_joindre_document_rubrique')." : ";
$query_types_docs = "SELECT extension FROM spip_types_documents ORDER BY extension";
$result_types_docs = spip_query($query_types_docs);
$extension = '';
while ($row = spip_fetch_array($result_types_docs)) {
if ($extension) echo ", ";
$extension = $row['extension'];
echo $extension;
}
echo ".";
if (lire_meta("creer_preview") == 'oui') {
$taille_preview = lire_meta("taille_preview");
$formats_graphiques = lire_meta("formats_graphiques");
if ($taille_preview < 15) $taille_preview = 120;
echo ""._T('texte_creation_automatique_vignette', array('gd_formats' => $formats_graphiques, 'taille_preview' => $taille_preview));
}
echo "
";
echo "";
$link = $image_link;
$link->addVar('redirect', $redirect_url);
$link->addVar('hash', calculer_action_auteur("ajout_doc"));
$link->addVar('hash_id_auteur', $connect_id_auteur);
$link->addVar('ajout_doc', 'oui');
$link->addVar('type', $type);
afficher_upload($link, _T('info_telecharger'), '', true, true, true);
echo " \n";
echo "
";
echo fin_block();
fin_cadre_enfonce();
}
*/
}
//
// Afficher un document sous forme de ligne horizontale
//
function afficher_horizontal_document($id_document, $image_link, $redirect_url = "", $flag_modif) {
global $connect_id_auteur, $connect_statut;
global $couleur_foncee, $couleur_claire;
global $clean_link;
global $options, $id_document_deplie;
if ($GLOBALS['id_document']) $id_document_deplie = $GLOBALS['id_document'];
if ($id_document == $id_document_deplie) $flag_deplie = true;
if (!$redirect_url) $redirect_url = $clean_link->getUrl();
$ancre = 'doc'.$id_document;
$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);
$largeur = $document->get('largeur');
$hauteur = $document->get('hauteur');
$taille = $document->get('taille');
$date = $document->get('date');
$mode = $document->get('mode');
if ($mode != 'document') return;
if (!$titre) {
$titre_aff = ereg_replace("^[^\/]*\/[^\/]*\/","",$fichier);
} else {
$titre_aff = $titre;
}
$result = spip_query("SELECT * FROM spip_types_documents WHERE id_type=$id_type");
if ($type = @spip_fetch_array($result)) {
$type_extension = $type['extension'];
$type_inclus = $type['inclus'];
$type_titre = $type['titre'];
}
echo " ";
debut_cadre_enfonce("doc-24.gif");
echo "";
if ($flag_deplie) echo bouton_block_visible("doc_vignette $id_document,document $id_document");
else echo bouton_block_invisible("doc_vignette $id_document,document $id_document");
echo ""._T('info_document')." - ".typo($titre_aff)." ";
echo "
\n";
//
// Recuperer la vignette
//
if ($id_vignette) $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 "
";
if ($fichier_vignette) {
// Afficher la vignette
echo "
\n";
echo "
";
$block = "doc_vignette $id_document";
echo texte_vignette_document($largeur_vignette, $hauteur_vignette, $fichier_vignette, "$fichier");
echo "
";
echo "
\n";
$hash = calculer_action_auteur("supp_doc ".$id_vignette);
$link = $image_link;
$link->addVar('redirect', $redirect_url);
$link->addVar('hash', calculer_action_auteur("supp_doc ".$id_vignette));
$link->addVar('hash_id_auteur', $connect_id_auteur);
$link->addVar('doc_supp', $id_vignette);
if ($flag_deplie) echo debut_block_visible($block);
else echo debut_block_invisible($block);
echo ""._T('info_vignette_personnalisee')." ";
echo " $largeur_vignette x $hauteur_vignette "._T('info_pixels')." ";
if ($flag_modif)
echo "
[getHref($ancre).">"._T('info_supprimer_vignette')." ] \n";
echo fin_block();
echo "
\n";
}
else {
// Pas de vignette : afficher un formulaire d'ajout
echo "
\n";
$block = "doc_vignette $id_document";
list($icone, $largeur_icone, $hauteur_icone) = vignette_par_defaut($type_extension);
if ($icone) {
echo "
\n";
}
echo "
\n";
echo "
\n";
echo "\n";
$hash = calculer_action_auteur("ajout_doc");
$link = $image_link;
$link->addVar('redirect', $redirect_url);
$link->addVar('hash', calculer_action_auteur("ajout_doc"));
$link->addVar('hash_id_auteur', $connect_id_auteur);
$link->addVar('ajout_doc', 'oui');
$link->addVar('id_document', $id_document);
$link->addVar('mode', 'vignette');
if ($options == 'avancees'){
if ($flag_deplie) echo debut_block_visible($block);
else echo debut_block_invisible($block);
if ($flag_modif) {
echo bouton_block_invisible("doc_vignette_gerer $id_document");
echo ""._T('info_vignette_defaut')." ";
echo debut_block_invisible("doc_vignette_gerer $id_document");
echo "";
afficher_upload($link, _T('info_remplacer_vignette'), 'image', false);
echo " ";
echo fin_block();
}
echo fin_block();
}
echo "
\n";
}
echo " ";
$block = "document $id_document";
//
// Boite d'edition du document
//
if ($flag_deplie) echo debut_block_visible($block);
else echo debut_block_invisible($block);
echo "
";
echo "
";
if (strlen($descriptif)>0) echo propre($descriptif)."
";
if ($type_titre)
echo "$type_titre";
else
echo "Document ".majuscules($type_extension);
echo " :
".taille_en_octets($taille)." ";
$link = new Link($redirect_url);
$link->addVar('modif_document', 'oui');
$link->addVar('id_document', $id_document);
if ($flag_modif) {
echo $link->getForm('POST', $ancre);
echo "
"._T('titre_titre_document')." \n";
echo "
";
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 "
"._T('info_mise_en_ligne')." \n";
echo "
";
afficher_jour($jour);
echo " ";
echo "
";
afficher_mois($mois);
echo " ";
echo "
";
afficher_annee($annee);
echo " ";
}
if ($options == "avancees") {
echo "
"._T('info_description')." \n";
echo "
\n";
} else {
echo "
\n";
}
if ($type_inclus == "embed" OR $type_inclus == "image") {
echo "
"._T('info_dimension')." \n";
echo "
";
echo " x
"._T('info_pixels');
} else {
echo "
\n";
echo "
\n";
}
echo "
";
echo " ";
echo "
";
echo "";
}
$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);
echo "\n";
echo "
";
echo "
";
// Icone de suppression du document
if ($flag_modif) {
echo "
";
icone_horizontale(_T('icone_supprimer_document'), $link_supp->getUrl('docs'), "doc-24.gif", "supprimer.gif");
echo "
";
}
echo fin_block();
fin_cadre_enfonce();
}
//
// Afficher un document dans la colonne de gauche
// (edition des articles)
function afficher_documents_colonne($id_article, $type="article", $flag_modif = true) {
global $connect_id_auteur, $connect_statut;
global $couleur_foncee, $couleur_claire, $options;
global $clean_link;
$image_link = new Link('../spip_image.php3');
if ($id_article) $image_link->addVar('id_article', $id_article);
$id_doc_actif = $id_document;
// 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' ORDER BY docs.id_document";
$documents_lies = fetch_document($query);
if ($documents_lies){
global $descriptif, $texte, $chapo;
$pour_documents_doublons = propre("$descriptif$texte$chapo");
$res = spip_query("SELECT DISTINCT id_vignette FROM spip_documents ".
"WHERE id_document in (".join(',', $documents_lies).")");
while ($v = spip_fetch_object($res))
$vignettes[] = $v->id_vignette;
$docs_exclus = ereg_replace('^,','',join(',', $vignettes).','.join(',', $documents_lies));
if ($docs_exclus)
$docs_exclus = "AND l.id_document NOT IN ($docs_exclus) ";
}
//// Images sans documents
$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 ".$docs_exclus.
"AND docs.mode='vignette' ORDER BY docs.id_document";
$images_liees = fetch_document($query);
/// Ajouter nouvelle image
echo "\n";
//debut_cadre_relief("image-24.gif");
if ($images_liees) {
reset($images_liees);
while (list(, $id_document) = each($images_liees)) {
afficher_case_document($id_document, $image_link, $redirect_url, $id_doc_actif == $id_document);
//echo "
\n";
}
}
debut_cadre_relief("image-24.gif", false, "creer.gif");
echo "
";
echo bouton_block_invisible("ajouter_image");
echo ""._T('bouton_ajouter_image').aide("ins_img")." ";
echo "
\n";
echo debut_block_invisible("ajouter_image");
echo "";
echo _T('info_installer_images');
echo " ";
$link = $image_link;
$link->addVar('redirect', $redirect_url);
$link->addVar('hash', calculer_action_auteur("ajout_doc"));
$link->addVar('hash_id_auteur', $connect_id_auteur);
$link->addVar('ajout_doc', 'oui');
$link->addVar('mode', 'vignette');
$link->addVar('type', $type);
afficher_upload($link, _T('info_telecharger'));
echo fin_block();
echo "\n";
fin_cadre_relief();
//fin_cadre_relief();
if ($type == "article") {
echo "
";
if ($documents_lies) {
reset($documents_lies);
while (list(, $id_document) = each($documents_lies)) {
afficher_case_document($id_document, $image_link, $redirect_url, $id_doc_actif == $id_document);
echo "
\n";
}
}
if (lire_meta("documents_$type") != 'non') {
/// Ajouter nouveau document
debut_cadre_enfonce("doc-24.gif", false, "creer.gif");
echo "
";
echo bouton_block_invisible("ajouter_document");
echo ""._T('bouton_ajouter_document')." ".aide("ins_doc");
echo "
\n";
echo debut_block_invisible("ajouter_document");
echo "";
echo _T('info_joindre_documents_article')." ";
$query_types_docs = "SELECT extension FROM spip_types_documents ORDER BY extension";
$result_types_docs = spip_query($query_types_docs);
$extension = "";
while ($row = spip_fetch_array($result_types_docs)) {
if ($extension) echo ", ";
$extension=$row['extension'];
echo $extension;
}
echo " ";
$link = $image_link;
$link->addVar('redirect', $redirect_url);
$link->addVar('hash', calculer_action_auteur("ajout_doc"));
$link->addVar('hash_id_auteur', $connect_id_auteur);
$link->addVar('ajout_doc', 'oui');
$link->addVar('mode', 'document');
$link->addVar('type', $type);
afficher_upload($link, _T('info_telecharger_ordinateur'));
echo fin_block();
echo "\n";
fin_cadre_enfonce();
}
}
}
//
// Afficher un document sous forme de ligne depliable
//
function afficher_case_document($id_document, $image_link, $redirect_url = "", $deplier = false) {
global $connect_id_auteur, $connect_statut;
global $couleur_foncee, $couleur_claire;
global $clean_link;
global $options;
global $id_doublons;
if ($GLOBALS['id_document'] > 0) {
$id_document_deplie = $GLOBALS['id_document'];
}
if ($id_document == $id_document_deplie) $flag_deplie = true;
$doublons = $id_doublons['documents'].",";
if (!$redirect_url) $redirect_url = $clean_link->getUrl();
$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);
$largeur = $document->get('largeur');
$hauteur = $document->get('hauteur');
$taille = $document->get('taille');
$mode = $document->get('mode');
if (!$titre) {
$titre_fichier = _T('info_sans_titre_2');
$titre_fichier .= " (".ereg_replace("^[^\/]*\/[^\/]*\/","",$fichier).") ";
}
$result = spip_query("SELECT * FROM spip_types_documents WHERE id_type=$id_type");
if ($type = @spip_fetch_array($result)) {
$type_extension = $type['extension'];
$type_inclus = $type['inclus'];
$type_titre = $type['titre'];
}
//
// Afficher un document
//
if ($mode == 'document') {
debut_cadre_enfonce("doc-24.gif");
echo "";
$block = "document $id_document";
if ($flag_deplie) echo bouton_block_visible("$block,doc_vignette $id_document");
else echo bouton_block_invisible("$block,doc_vignette $id_document");
echo "".typo($titre).typo($titre_fichier)." ";
echo "
\n";
//
// Edition de la vignette
//
if ($id_vignette) $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 "
";
if ($fichier_vignette) {
echo "
\n";
echo "
";
echo texte_vignette_document($largeur_vignette, $hauteur_vignette, $fichier_vignette, "$fichier");
echo "
";
echo "
\n";
$hash = calculer_action_auteur("supp_doc ".$id_vignette);
$link = $image_link;
$link->addVar('redirect', $redirect_url);
$link->addVar('hash', calculer_action_auteur("supp_doc ".$id_vignette));
$link->addVar('hash_id_auteur', $connect_id_auteur);
$link->addVar('doc_supp', $id_vignette);
if ($flag_deplie) echo debut_block_visible("doc_vignette $id_document");
else echo debut_block_invisible("doc_vignette $id_document");
echo ""._T('info_vignette_personnalisee')." ";
echo " "._T('info_largeur_vignette', array('largeur_vignette' => $largeur_vignette, 'hauteur_vignette' => $hauteur_vignette))." ";
echo "
[getHref().">"._T('info_supprimer_vignette')." ] \n";
echo fin_block();
echo "
\n";
}
else {
// pas de vignette
echo "
\n";
$block = "doc_vignette $id_document";
list($icone, $largeur_icone, $hauteur_icone) = vignette_par_defaut($type_extension);
if ($icone) {
echo "
\n";
}
echo "
\n";
echo "
\n";
echo "\n";
$hash = calculer_action_auteur("ajout_doc");
$link = $image_link;
$link->addVar('redirect', $redirect_url);
$link->addVar('hash', calculer_action_auteur("ajout_doc"));
$link->addVar('hash_id_auteur', $connect_id_auteur);
$link->addVar('ajout_doc', 'oui');
$link->addVar('id_document', $id_document);
$link->addVar('mode', 'vignette');
if ($options == 'avancees'){
if ($flag_deplie) echo debut_block_visible("doc_vignette $id_document");
else echo debut_block_invisible("doc_vignette $id_document");
echo bouton_block_invisible("doc_vignette_gerer $id_document");
echo ""._T('info_vignette_defaut')." ";
echo debut_block_invisible("doc_vignette_gerer $id_document");
echo "";
afficher_upload($link, _T('info_remplacer_vignette'), 'image', false);
echo " ";
echo fin_block();
echo fin_block();
}
echo "
\n";
}
echo "
";
if (!ereg(",$id_document,", "$doublons")) {
echo "";
if ($options == "avancees" AND ($type_inclus == "embed" OR $type_inclus == "image") AND $largeur > 0 AND $hauteur > 0) {
echo ""._T('info_inclusion_vignette')." ";
}
echo "<doc$id_document|left>
<doc$id_document|center>
<doc$id_document|right>
\n";
echo " ";
if ($options == "avancees" AND ($type_inclus == "embed" OR $type_inclus == "image") AND $largeur > 0 AND $hauteur > 0) {
echo "";
echo ""._T('info_inclusion_directe')." ";
echo "<emb$id_document|left>
<emb$id_document|center>
<emb$id_document|right>
\n";
echo " ";
}
}
$block = "document $id_document";
if ($flag_deplie) echo debut_block_visible($block);
else echo debut_block_invisible($block);
if (ereg(",$id_document,", "$doublons")) {
echo "";
echo "<doc$id_document>
\n";
echo " ";
}
//
// Edition des champs
//
echo "";
echo "
";
icone_horizontale(_T('icone_supprimer_document'), $link_supp->getUrl(), "doc-24.gif", "supprimer.gif");
echo "
";
//echo "\n";
fin_cadre_enfonce();
}
//
// Afficher une image inserable dans l'article
//
else if ($mode == 'vignette') {
//echo "\n";
debut_cadre_relief("image-24.gif");
$block = "image $id_document";
echo "
";
if ($flag_deplie) echo bouton_block_visible("$block");
else echo bouton_block_invisible("$block");
echo "".typo($titre).typo($titre_fichier)." ";
echo "
\n";
//
// Preparer le raccourci a afficher sous la vignette ou sous l'apercu
//
if (!ereg(",$id_document,", "$doublons")) {
$raccourci_doc = "
";
if (strlen($descriptif) > 0 OR strlen($titre) > 0) {
$raccourci_doc .= "<doc$id_document|left>
\n".
"<doc$id_document|center>
\n".
"<doc$id_document|right>
\n";
} else {
$raccourci_doc .= "<img$id_document|left>
\n".
"<img$id_document|center>
\n".
"<img$id_document|right>
\n";
}
$raccourci_doc .= " \n";
} else {
$raccourci_doc = "
";
$raccourci_doc .= "<img$id_document>
\n";
$raccourci_doc .= " \n";
}
//
// Afficher un apercu (pour les images)
//
if ($type_inclus == 'image') {
echo "
\n";
echo texte_vignette_document($largeur, $hauteur, $fichier, $fichier);
echo "
\n";
echo "
";
if (strlen($descriptif)>0)
echo propre($descriptif);
if (!ereg(",$id_document,", "$doublons")) echo $raccourci_doc;
}
if ($flag_deplie) echo debut_block_visible($block);
else echo debut_block_invisible($block);
if (ereg(",$id_document,", "$doublons")) echo $raccourci_doc;
echo "\n$largeur x $hauteur "._T('info_pixels')."
\n";
$link = new Link($redirect_url);
$link->addVar('modif_document', 'oui');
$link->addVar('id_document', $id_document);
echo $link->getForm('POST');
echo "
";
echo "
"._T('entree_titre_image')." \n";
echo "
";
if ($descriptif OR $options == "avancees") {
echo "
"._T('info_description_2')." \n";
echo "
\n";
}
echo "
";
echo " ";
echo "
";
echo "
";
echo "";
echo " ";
$link = $image_link;
$link->addVar('redirect', $redirect_url);
$link->addVar('hash', calculer_action_auteur("supp_doc ".$id_document));
$link->addVar('hash_id_auteur', $connect_id_auteur);
$link->addVar('doc_supp', $id_document);
icone_horizontale (_T('icone_supprimer_image'), $link->getUrl(), "image-24.gif", "supprimer.gif");
echo " \n";
echo fin_block();
//echo "
";
fin_cadre_relief();
}
}
?>