[ Index ] |
|
Code source de SPIP Agora 1.4 |
1 <?php 2 /***************************************************** 3 * This file is part of Agora, web based content management system. 4 * 5 * Agora is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; version 2 of the License. 8 * 9 * Agora is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details (file "COPYING"). 13 * 14 * Copyright © Arnaud Martin, Antoine Pitrou et Philippe Rivière. 15 * List of authors detailed in "copyright_fr.html" file. 16 * E-mail : agora@sig.premier-ministre.gouv.fr 17 * Web site : http://www.agora.gouv.fr 18 *****************************************************/ 19 /** Affichage du diff entre deux versions d'un article. 20 * Si $_GET['id_article'] n'est pas défini, on affiche juste la version de l'historique. 21 * 22 * @version $Id$ 23 */ 24 25 // Includes 26 require_once 'inc.php'; 27 28 require_once 'inc_diff.php'; 29 require_once dirname(__FILE__). '/include/bd/inc_article_factory.php'; 30 require_once dirname(__FILE__). '/include/bd/inc_article_historique_factory.php'; 31 32 // Chargement des articles et des données qui leurs sont liées 33 // -- Dernière version de l'article 34 if (isset($_GET['id_article']) && is_numeric($_GET['id_article'])) { 35 $articleMetier = &recuperer_instance_article(); 36 $articleMetier->load($_GET['id_article']); 37 $dateArticle = $articleMetier->getDate(); 38 $auteur_histo_to = &recuperer_instance_auteur(); 39 $status = $auteur_histo_to->load($articleMetier->getAuteurModif()); 40 if (PEAR::isError($status)) { 41 $str_auteur_to = null; 42 } 43 else { 44 $str_auteur_to = "(<a href=\"" . $auteur_histo_to->getUrl(). "\">" . $auteur_histo_to->getNom(). "</a>)"; 45 } 46 } 47 48 // -- Version de l'historique 49 $articleHistoriqueMetier = &recuperer_instance_article_historique(); 50 $articleHistoriqueMetier->load($_GET['id_article_historique']); 51 $dateArticleHistorique = $articleHistoriqueMetier->getDate(); 52 $auteur_histo_from = &recuperer_instance_auteur(); 53 $status = $auteur_histo_from->load($articleHistoriqueMetier->getAuteurId()); 54 55 if (PEAR::isError($status)) { 56 $str_auteur_from = null; 57 } 58 else { 59 $str_auteur_from = "(<a href=\"" . $auteur_histo_from->getUrl(). "\">" . $auteur_histo_from->getNom(). "</a>) "; 60 } 61 62 // Affichage de la page 63 $titre_page = isset($_GET['id_article']) ? _T("comparer_deux_historiques") : _T('afficher_historique_article'); 64 debut_page($titre_page, "documents", "articles"); 65 66 debut_grand_cadre(); 67 68 icone(_T('icone_retour'), "articles.php?id_article=" . $articleHistoriqueMetier->getArticleId(), "article-24.gif", "rien.gif"); 69 70 debut_cadre_relief(); 71 debut_tableau(); 72 73 // Affichage du diff formaté en HTML ( -- déclaration de la fonction dans inc_diff.php) 74 if (isset($_GET['id_article'])) { 75 /* style pour diffs */ 76 echo '<style>', 'tr.diff-added td {border-left: solid 5px #00FF00;}', 'tr.diff-deleted td {border-left: solid 5px #FF0000;}', 'tr.diff-changed td {border-left: solid 5px #FFF000;}', 'tr.diff-context td {border-left: solid 5px #DDD;}', '</style>'; 77 78 echo ligne(array('Différences entre les versions ' . $dateArticleHistorique . ' ' . $str_auteur_from . ' et ' . $dateArticle . ' ' . $str_auteur_to), 'th'); 79 80 echo ligne(array('<hr>')); 81 82 echo getDiffHtml($articleHistoriqueMetier, $articleMetier); 83 84 // Revenir au contenu de la version de l'historique (si l'auteur en a le droit) 85 $authorization = &recuperer_instance_authorization('modifierArticle', $GLOBALS['connect_id_auteur'], array('id_article' => $articleMetier->getArticleId())); 86 if ($authorization->isAuthorizedAction()) { 87 echo "<p>", "<br />", "<a href='articles.php?id_article=" . $id_article . "&id_article_historique_replace=" . $id_article_historique . "'>", _T('remplacer_par_historique'). "</a>", "</p>"; 88 } 89 } 90 else { 91 echo ligne(array('Affichage de la version ' . $dateArticleHistorique . ' ' . $str_auteur_from), 'th'); 92 echo ligne(array('<hr>')); 93 echo $articleHistoriqueMetier->toString(); 94 } 95 96 fin_tableau(); 97 98 fin_cadre_relief(); 99 100 fin_grand_cadre(); 101 102 fin_page(); 103 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sat Feb 24 14:40:03 2007 | par Balluche grâce à PHPXref 0.7 |