[ Index ] |
|
Code source de SPIP 1.9.2c |
1 <?php 2 3 /***************************************************************************\ 4 * SPIP, Systeme de publication pour l'internet * 5 * * 6 * Copyright (c) 2001-2007 * 7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * 8 * * 9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * 10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * 11 \***************************************************************************/ 12 13 if (!defined("_ECRIRE_INC_VERSION")) return; 14 15 // Affiche le portfolio et les documents lies a l'article (ou a la rubrique) 16 // => Nouveau : au lieu de les ignorer, on affiche desormais avec un fond gris 17 // les documents et images inclus dans le texte. 18 19 // http://doc.spip.org/@inc_documenter_dist 20 function inc_documenter_dist( 21 $doc, # tableau des documents ou numero de l'objet attachant 22 $type = "article", # article ou rubrique ? 23 $ancre = 'portfolio', # album d'images ou de documents ? 24 $flag = false, # a-t-on le droit de modifier ? 25 $couleur='', # couleur des cases du tableau 26 $appelant ='' # pour le rappel (cf plugin) 27 ) { 28 global $couleur_claire, $spip_lang_left, $spip_lang_right; 29 30 if (is_int($doc)) { 31 if ($ancre == 'portfolio') { 32 $lies = spip_query("SELECT docs.*,l.id_$type FROM spip_documents AS docs, spip_documents_".$type."s AS l, spip_types_documents AS lestypes WHERE l.id_$type=$doc AND l.id_document=docs.id_document AND docs.mode='document' AND docs.id_type=lestypes.id_type AND lestypes.extension IN ('gif', 'jpg', 'png') ORDER BY 0+docs.titre, docs.date"); 33 $couleur = $couleur_claire; 34 } else { 35 $lies = spip_query("SELECT docs.*,l.id_$type FROM spip_documents AS docs, spip_documents_".$type."s AS l,spip_types_documents AS lestypes WHERE l.id_$type=$doc AND l.id_document=docs.id_document AND docs.mode='document' AND docs.id_type=lestypes.id_type AND lestypes.extension NOT IN ('gif', 'jpg', 'png') ORDER BY 0+docs.titre, docs.date"); 36 $couleur = '#aaaaaa'; 37 } 38 39 $documents = array(); 40 while ($document = spip_fetch_array($lies)) 41 $documents[] = $document; 42 } else 43 $documents = $doc; 44 45 if (!$documents) return ''; 46 47 charger_generer_url(); 48 // la derniere case d'une rangee 49 $bord_droit = ($ancre == 'portfolio' ? 2 : 1); 50 $case = 0; 51 $res = ''; 52 53 $tourner = charger_fonction('tourner', 'inc'); 54 $legender = charger_fonction('legender', 'inc'); 55 56 // Pour les doublons d'article et en mode ajax, il faut faire propre() 57 if ($type=='article' 58 AND !isset($GLOBALS['doublons_documents_inclus']) 59 AND is_int($doc)) { 60 $r = spip_fetch_array(spip_query("SELECT chapo,texte FROM spip_articles WHERE id_article="._q($doc))); 61 propre(join(" ",$r)); 62 } 63 64 foreach ($documents as $document) { 65 $id_document = $document['id_document']; 66 67 if (isset($document['script'])) 68 $script = $document['script']; # pour plugin Cedric 69 else 70 // ref a $exec inutilise en standard 71 $script = $appelant ? $appelant : $GLOBALS['exec']; 72 73 $style = est_inclus($id_document) ? ' background-color: #cccccc;':''; 74 75 $deplier = in_array($id_document, explode(',', _request('show_docs'))); 76 77 if (!$case) 78 $res .= "<tr style='border-top: 1px solid black;'>"; 79 else if ($case == $bord_droit) 80 $style .= " border-$spip_lang_right: 1px solid $couleur;"; 81 $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'>" 82 . $tourner($id_document, $document, $script, $flag, $type) 83 . (!$flag ? '' : 84 $legender($id_document, $document, $script, $type, $document["id_$type"], $ancre, $deplier)) 85 . (!isset($document['info']) ? '' : 86 ("<div class='verdana1'>".$document['info']."</div>")) 87 . "</td>\n"; 88 89 $case++; 90 91 if ($case > $bord_droit) { 92 $case = 0; 93 $res .= "</tr>\n"; 94 } 95 96 } 97 98 // fermer la derniere ligne 99 if ($case) { 100 $res .= "<td style='border-$spip_lang_left: 1px solid $couleur;'> </td>"; 101 $res .= "</tr>"; 102 } 103 104 $s = ($ancre =='documents' ? '': '-'); 105 if (is_int($doc)) { 106 $head = "\n<div style='background-color: $couleur; padding: 4px; color: black; -moz-border-radius-topleft: 5px; -moz-border-radius-topright: 5px;' class='verdana2'>\n<b>".majuscules(_T("info_$ancre"))."</b></div>"; 107 108 if (count($documents) > 3) { 109 $head .= "<div style='background-color: #dddddd; padding: 4px; color: black; text-align: right' class='arial1'>" 110 . ajax_action_auteur('documenter', "$s$doc/$type", $script, "id_$type=$doc&s=$s&type=$type",array(_T('lien_tout_supprimer'))) 111 . "</div>\n"; 112 } 113 } else $head = ''; 114 115 $res = $head 116 . "\n<table width='100%' cellspacing='0' cellpadding='4'>" 117 . $res 118 . "</table>"; 119 120 return ajax_action_greffe("documenter-$s$doc", $res, $flag==='ajax'); 121 }
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Wed Nov 21 10:20:27 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |