[ Index ]
 

Code source de SPIP Agora 1.4

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/Agora1-4/ecrire/ -> articles_texte_compare.php (source)

   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&eacute;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  ?>


Généré le : Sat Feb 24 14:40:03 2007 par Balluche grâce à PHPXref 0.7