Rev 609 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php/***************************************************************************\* SPIP, Systeme de publication pour l'internet ** ** Copyright (c) 2001-2005 ** 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. *\***************************************************************************/include("inc_lab.php");include_spip("ecrire.php");include_spip("revisions.php");//// Lire l'article//$champs = array('surtitre', 'titre', 'soustitre', 'descriptif', 'nom_site', 'url_site', 'chapo', 'texte', 'ps');$query = "SELECT * FROM spip_articles WHERE id_article='$id_article'";$result = spip_query($query);if ($row = spip_fetch_array($result)) {$id_article = $row["id_article"];$id_rubrique = $row["id_rubrique"];$date = $row["date"];$statut_article = $row["statut"];$maj = $row["maj"];$date_redac = $row["date_redac"];$visites = $row["visites"];$referers = $row["referers"];$extra = $row["extra"];$id_trad = $row["id_trad"];}if (!($id_version = intval($id_version))) {$id_version = $row['id_version'];}$textes = recuperer_version($id_article, $id_version);$id_diff = intval($id_diff);if (!$id_diff) {$diff_auto = true;$query = "SELECT id_version FROM spip_versions WHERE id_article=$id_article "."AND id_version<$id_version ORDER BY id_version DESC LIMIT 0,1";if ($result = spip_query($query)) {$row = spip_fetch_array($result);$id_diff = $row['id_version'];}}//// Calculer le diff//if ($id_version && $id_diff) {include_spip("diff.php");if ($id_diff > $id_version) {$t = $id_version;$id_version = $id_diff;$id_diff = $t;$old = $textes;$new = $textes = recuperer_version($id_article, $id_version);}else {$old = recuperer_version($id_article, $id_diff);$new = $textes;}$textes = array();foreach ($champs as $champ) {if (!$new[$champ] && !$old[$champ]) continue;$diff = new Diff(new DiffTexte);$textes[$champ] = afficher_diff($diff->comparer(preparer_diff($new[$champ]), preparer_diff($old[$champ])));}}if (is_array($textes))foreach ($textes as $var => $t) $$var = $t;debut_page(_T('info_historique')." « $titre »", "documents", "articles");debut_grand_cadre();afficher_hierarchie($id_rubrique);fin_grand_cadre();//////////////////////////////////////////////////////// Affichage de la colonne de gauche//debut_gauche();debut_raccourcis();icone_horizontale(_T('icone_retour_article'), "articles.php3?id_article=$id_article", "article-24.gif","rien.gif");icone_horizontale(_T('icone_suivi_revisions'), "suivi_revisions.php3", "historique-24.gif","rien.gif");fin_raccourcis();//////////////////////////////////////////////////////// Affichage de la colonne de droite//debut_droite();changer_typo('','article'.$id_article);echo "<a name='diff'></a>\n";debut_cadre_relief();//// Titre, surtitre, sous-titre//if ($statut_article=='publie') {$logo_statut = "puce-verte.gif";}else if ($statut_article=='prepa') {$logo_statut = "puce-blanche.gif";}else if ($statut_article=='prop') {$logo_statut = "puce-orange.gif";}else if ($statut_article == 'refuse') {$logo_statut = "puce-rouge.gif";}else if ($statut_article == 'poubelle') {$logo_statut = "puce-poubelle.gif";}echo "\n<table cellpadding='0' cellspacing='0' border='0' width='100%'>";echo "<tr width='100%'><td width='100%' valign='top'>";if ($surtitre) {echo "<span $dir_lang><font face='arial,helvetica' size='3'><b>";echo typo($surtitre);echo "</b></font></span>\n";}gros_titre($titre, $logo_statut);if ($soustitre) {echo "<span $dir_lang><font face='arial,helvetica' size='3'><b>";echo typo($soustitre);echo "</b></font></span>\n";}if ($descriptif OR $url_site OR $nom_site) {echo "<p><div align='left' style='padding: 5px; border: 1px dashed #aaaaaa; background-color: #e4e4e4;' $dir_lang>";echo "<font size='2' face='Verdana,Arial,Sans,sans-serif'>";$texte_case = ($descriptif) ? "{{"._T('info_descriptif')."}} $descriptif\n\n" : '';$texte_case .= ($nom_site.$url_site) ? "{{"._T('info_urlref')."}} [".$nom_site."->".$url_site."]" : '';echo propre($texte_case);echo "</font>";echo "</div>";}echo "</td>";echo "<td align='center'>";// L'article est-il editable ?$query = "SELECT * FROM spip_auteurs_articles WHERE id_article=$id_article AND id_auteur=$connect_id_auteur";$result_auteur = spip_query($query);$flag_auteur = (spip_num_rows($result_auteur) > 0);$flag_editable = (acces_rubrique($id_rubrique)OR ($flag_auteur AND ($statut_article == 'prepa' OR $statut_article == 'prop' OR $statut_article == 'poubelle')));if ($flag_editable)icone(_T('icone_modifier_article'), "articles_edit.php3?id_article=$id_article", "article-24.gif", "edit.gif");echo "</td>";echo "</tr></table>";//////////////////////////////////////////////////////// Affichage des versions//debut_cadre_relief();$query = "SELECT id_version, titre_version, date, v.id_auteur, a.nom "."FROM spip_versions AS v, spip_auteurs AS a "."WHERE id_article=$id_article AND v.id_auteur=a.id_auteur ORDER BY id_version DESC";$result = spip_query($query);echo "<ul class='verdana3'>";while ($row = spip_fetch_array($result)) {echo "<li>\n";$date = affdate_heure($row['date']);$version_aff = $row['id_version'];$titre_version = typo($row['titre_version']);$titre_aff = $titre_version ? $titre_version : $date;if ($version_aff != $id_version) {$link = new Link();$link->addVar('id_version', $version_aff);$link->delVar('id_diff');echo "<a href='".$link->getUrl('diff')."' title=\""._T('info_historique_affiche')."\">$titre_aff</a>";}else {echo "<b>$titre_aff</b>";}echo " (".typo($row['nom']).")";#if ($options == 'avancees') { // note : c'est redondant car on ne peut arriver sur cette page qu'en options avancees...//echo " <span style='color:#989898; font-size: 80%; font-weight: bold;'><i>#".$row['id_version']."</i></span>";if ($version_aff != $id_version) {echo " <span class='verdana2'>";if ($version_aff == $id_diff) {echo "<b>("._T('info_historique_comparaison').")</b>";}else {$link = new Link();$link->addVar('id_version', $id_version);$link->addVar('id_diff', $version_aff);echo "(<a href='".$link->getUrl('diff')."'>"._T('info_historique_comparaison')."</a>)";}echo "</span>";}#} // fin avanceesecho "</li>\n";}echo "</ul>\n";fin_cadre_relief();//////////////////////////////////////////////////////// Corps de la version affichee//if ($id_version) {echo "\n\n<div align='justify'>";// pour l'affichage du virtuelunset($virtuel);if (substr($chapo, 0, 1) == '=') {$virtuel = substr($chapo, 1);}if ($virtuel) {debut_boite_info();echo _T('info_renvoi_article')." ".propre("<center>[->$virtuel]</center>");fin_boite_info();}else {echo "<div $dir_lang><b>";$revision_nbsp = ($options == "avancees"); // a regler pour relecture des nbsp dans les articlesecho justifier(propre_diff($chapo));echo "</b></div>\n\n";echo "<div $dir_lang>";echo justifier(propre_diff($texte));echo "</div>";if ($ps) {echo debut_cadre_enfonce();echo "<div $dir_lang><font size='2' face='Verdana,Arial,Sans,sans-serif'>";echo justifier("<b>"._T('info_ps')."</b> ".propre_diff($ps));echo "</font></div>";echo fin_cadre_enfonce();}$revision_nbsp = false;if ($les_notes) {echo debut_cadre_relief();echo "<div $dir_lang><font size='2'>";echo justifier("<b>"._T('info_notes')." :</b> ".$les_notes);echo "</font></div>";echo fin_cadre_relief();}if ($champs_extra AND $extra) {include_spip("extra.php");extra_affichage($extra, "articles");}}}fin_cadre_relief();fin_page();?>