[ Index ]
 

Code source de SPIP Agora 1.4

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

title

Body

[fermer]

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

   1  <?php
   2  /******* Fichier Ajout? MAPPING guillaume.grason@diplomatie.gouv.fr *******/
   3  /** Gestion d'un article.
   4   * @version      $Id: mapping_articles.php,v 1.1.4.2 2006/11/12 20:43:51 lpoinsignon Exp $
   5   */
   6  
   7  
   8  
   9  include  ("inc.php");
  10  
  11  include_ecrire ("inc_logos.php");
  12  include_ecrire ("inc_mots.php");
  13  include_ecrire ("inc_documents.php");
  14  
  15  /* Ajout Clever Age / Nicolas Hoizey / Referencement des liens & gestion sondages */
  16  include_ecrire ('inc_liens.php');
  17  include_ecrire ("inc_sondages.php");
  18  /* fin zone de modification Clever Age */
  19  
  20  /* Ajout Clever Age / Antoine Angenieux / Couche metier */
  21  require_once (dirname(__FILE__)."/include/bd/auteur.php");
  22  require_once (dirname(__FILE__)."/include/bd/inc_article_factory.php");
  23  require_once (dirname(__FILE__)."/include/bd/inc_document_factory.php");
  24  require_once (dirname(__FILE__)."/include/bd/inc_forum_factory.php");
  25  require_once (dirname(__FILE__)."/include/bd/inc_petition_factory.php");
  26  require_once (dirname(__FILE__)."/include/bd/inc_signature_factory.php");
  27  require_once (dirname(__FILE__)."/include/bd/inc_forum_list_factory.php");
  28  require_once (dirname(__FILE__)."/include/bd/inc_profil_factory.php");
  29  
  30  // Ajout Aurelien Vialet <avialet@clever-age.com> Gestion des champs formulaires
  31  require_once (dirname(__FILE__)."/inc_contraintes.php");
  32  require_once (dirname(__FILE__)."/include/bd/inc_article_historique_factory.php");
  33  // Fin de l'ajout Aurelien Vialet
  34  
  35  require_once (dirname(__FILE__)."/include/bd/inc_mapping_factory.php");
  36  $mappingMetier = &recuperer_instance_mapping();
  37  $loadOK = $mappingMetier->loadArticle($id_article);
  38  if (PEAR :: isError($loadOK)) {
  39      die($loadOK->getMessage());
  40  }
  41  else {
  42      $id_article_parent = $mappingMetier->getArticleId();
  43  }
  44  
  45  /* fin zone de modification Clever Age */
  46  
  47  // le poids du redacteur .... utile pour la suite 
  48  $profilMetier = & recuperer_instance_profil();
  49  $loadOK = $profilMetier->getProfilForIntitule('item_redacteur');
  50  if (PEAR :: isError($loadOK)) {
  51      die($loadOK->getMessage());
  52  }
  53  define ("POIDSREDACTEUR", $loadOK->getPoids());
  54  //var_dump ($profilMetier);
  55  
  56  $articles_surtitre = lire_meta("articles_surtitre");
  57  $articles_soustitre = lire_meta("articles_soustitre");
  58  $articles_descriptif = lire_meta("articles_descriptif");
  59  $articles_urlref = lire_meta("articles_urlref");
  60  $articles_chapeau = lire_meta("articles_chapeau");
  61  $articles_ps = lire_meta("articles_ps");
  62  $articles_redac = lire_meta("articles_redac");
  63  $articles_mots = lire_meta("articles_mots");
  64  
  65  $activer_version_articles = lire_meta("activer_version_articles");
  66  $activer_histo_articles = lire_meta("activer_histo_articles");
  67  
  68  $articleMetier = & recuperer_instance_article();
  69  $auteurMetier = & recuperer_instance_auteur();
  70  
  71  $mapping = & recuperer_instance_mapping();
  72  $mappingMetier = & recuperer_instance_article();
  73  
  74  // R?cup?ration de l'heure courante (valeur par d?faut de l'heure de publication)
  75  $heure = date( 'H' );
  76  $minute = date( 'i' );
  77  $seconde = date( 's' );
  78  
  79  // Gestion de la mise en ligne d'une version d'un article
  80  $id_version = 0;
  81  
  82  if ($activer_version_articles == 'oui') {
  83      if ($new_version == 'oui') {
  84          // Gestion de la mise en place d'une nouvelle version d'un article
  85          $id_version = $id_article;
  86          $id_article = 0;
  87          $new = 'oui';
  88      }
  89  }
  90  
  91  /********* Modification tbeaumanoir@clever-age.com ***********************/
  92  // c quoi ce code mon petit thomas ?
  93  if ($activerhistorique == 'oui' || $activerhistorique == 'non') {
  94      $loadOK = $articleMetier->load($id_article);
  95      if (PEAR :: isError($loadOK)) {
  96          die($loadOK->getMessage());
  97      } else {
  98          $articleMetier->setActiverHistorique($activerhistorique);
  99          $articleMetier->update();
 100      }
 101  }
 102  /********* Fin Modification tbeaumanoir@clever-age.com ***********************/
 103  
 104  
 105  if ($id_article == 0) {
 106      if ($new == 'oui') {
 107          $authorization = & recuperer_instance_authorization('isManagedRubriqueByAuteurId', $GLOBALS['connect_id_auteur'], array ('rubriqueId' => intval($articleMetier->getRubriqueId())));
 108          if (!$authorization->isAuthorizedAction()) {
 109              echo _T('avis_acces_interdit');
 110              exit;
 111          }
 112  
 113          /********* Modification elebescond@clever-age.com ***********************/
 114          if ($titre == '')
 115              $titre = _T('art_info_sans_titre', null, $articleMetier->getRubriqueId());
 116          /*
 117          if ($titre=='') $titre = _T('info_sans_titre');
 118          */
 119          /********* Fin modification elebescond@clever-age.com ***********************/
 120  
 121          $langue_new = '';
 122          /**************** Modification elebescond@clever-age.com *************************************/
 123          $rubriqueMetier = & recuperer_instance_rubrique();
 124          $loadOK = $rubriqueMetier->load($id_rubrique);
 125          if (PEAR :: isError($loadOK)) {
 126              die($loadOK->getMessage());
 127          } else {
 128              $langue_new = $rubriqueMetier->getLang();
 129          }
 130          /*
 131          $result_lang_rub = spip_query("SELECT lang FROM spip_rubriques WHERE id_rubrique=$articleMetier->getRubriqueId()");
 132          if ($row = spip_fetch_array($result_lang_rub))
 133              $langue_new = $row["lang"];
 134          */
 135          /**************** Fin modification elebescond@clever-age.com *************************************/
 136  
 137          if (!$langue_new)
 138              $langue_new = lire_meta('langue_site');
 139          $langue_choisie_new = 'non';
 140  
 141          /********* Modification elebescond@clever-age.com ***********/
 142          $forums_publics = lire_meta('forums_publics');
 143          /*
 144          $forums_publics = substr(lire_meta('forums_publics'),0,3);
 145          */
 146          /********* Fin modification elebescond@clever-age.com ***********/
 147  
 148          /* Modification Clever Age, utilisation couche m�tier */
 149          $articleMetier->setRubriqueId($id_rubrique);
 150          $articleMetier->setStatut('prepa');
 151          $articleMetier->setAccepterForum($forums_publics);
 152          $articleMetier->setLang($langue_new);
 153          $articleMetier->setLangChoisie($langue_choisie_new);
 154  
 155          // Ajout Aurelien Vialet <avialet@clever-age.com>
 156          // Gestion du versionning des articles
 157          $articleMetier->setVersionId($id_version);
 158  
 159          $createOK = $articleMetier->create();
 160          if (PEAR :: isError($createOK)) {
 161              die($createOK->getMessage());
 162          }
 163          /*
 164          spip_query("INSERT INTO spip_articles (id_rubrique, statut, date, accepter_forum, lang, langue_choisie) VALUES ($articleMetier->getRubriqueId(), 'prepa', NOW(), '$forums_publics', '$langue_new', '$langue_choisie_new')");
 165          $id_article = spip_insert_id();
 166          
 167          spip_query("INSERT INTO spip_articles (id_rubrique, statut, date, accepter_forum) VALUES ($articleMetier->getRubriqueId(), 'prepa', NOW(), '$forums_publics')");
 168          */
 169          $id_article = $articleMetier->getArticleId();
 170  
 171          $deleteAuteursOK = $articleMetier->deleteAuteurs();
 172          if (PEAR :: isError($createOK)) {
 173              die($deleteAuteursOK->getMessage());
 174          }
 175  
 176          $addAuteurOK = $articleMetier->addAuteur($connect_id_auteur);
 177          if (PEAR :: isError($addAuteurOK)) {
 178              die($addAuteurOK->getMessage());
 179          }
 180          /*
 181          spip_query("DELETE FROM spip_auteurs_articles WHERE id_article = $id_article");
 182          spip_query("DELETE FROM spip_auteurs_articles WHERE id_article = $id_article");
 183          spip_query("INSERT INTO spip_auteurs_articles (id_auteur, id_article) VALUES ($connect_id_auteur, $id_article)");
 184          */
 185          /* Fin de zone de modifications */
 186      } else {
 187          @ header("Location: ./index.php");
 188          exit;
 189      }
 190  }
 191  
 192  $clean_link = new Link("mapping_articles.php?id_article=$id_article");
 193  
 194  // Initialiser doublons pour documents (completes par "propre($texte)")
 195  $id_doublons['documents'] = "0";
 196  
 197  //////////////////////////////////////////////////////
 198  // Determiner les droits d'edition de l'article
 199  //
 200  
 201  /*
 202      MODIFICATION CLEVER AGE COUCHE METIER
 203  */
 204  
 205  $loadOK = $articleMetier->load($id_article);
 206  
 207  if (PEAR :: isError($loadOK)) {
 208      die($loadOK->getMessage());
 209  } else {
 210      $statut_article = $articleMetier->getStatut();
 211      if ($statut_article != '') {
 212          $titre_article = $articleMetier->getTitre();
 213          $rubrique_article = $articleMetier->getRubriqueId();
 214      }
 215  }
 216  $authorization = & recuperer_instance_authorization('isManagedRubriqueByAuteurId', $GLOBALS['connect_id_auteur'], array ('rubriqueId' => $rubrique_article));
 217  if (!$authorization->isAuthorizedAction()) {
 218      echo _T('avis_acces_interdit');
 219      exit;
 220  }
 221  
 222  /*
 223  $query = "SELECT statut, titre, id_rubrique FROM spip_articles WHERE id_article=$id_article";
 224  $result = spip_query($query);
 225  if ($row = spip_fetch_array($result)) {
 226      $statut_article = $row['statut'];
 227      $titre_article = $row['titre'];
 228      $rubrique_article = $row['id_rubrique'];
 229  }
 230  else {
 231      $statut_article = '';
 232  }
 233  */
 234  
 235  $flag_auteur = $articleMetier->isAuthor($connect_id_auteur);
 236  if (PEAR :: isError($flag_auteur)) {
 237      die($flag_auteur->getMessage());
 238  }
 239  /*
 240  $query = "SELECT * FROM spip_auteurs_articles WHERE id_article=$id_article AND id_auteur=$connect_id_auteur";
 241  $result_auteur = spip_query($query);
 242  
 243  $flag_auteur = (spip_num_rows($result_auteur) > 0);
 244  */
 245  
 246  /*
 247      FIN DE ZONE DE MODIFICATIONS
 248  */
 249  //--------Zone de modifications Clever Age elebescond-------------
 250  //$authorization = &recuperer_instance_authorization();
 251  
 252  $authorization1 = & recuperer_instance_authorization('isManagedRubriqueByAuteurId', $GLOBALS['connect_id_auteur'], array ('rubriqueId' => $rubrique_article));
 253  $authorization2 = & recuperer_instance_authorization('modifierStatutArticle', $GLOBALS['connect_id_auteur'], array ('id_article' => $id_article, 'statut_nouv' => $statut_nouv));
 254  $authorization3 = & recuperer_instance_authorization('modifierArticle', $GLOBALS['connect_id_auteur'], array ('id_article' => $id_article));
 255  
 256  $flag_editable = ($authorization1->isAuthorizedAction() AND ($authorization2->isAuthorizedAction() OR $authorization3->isAuthorizedAction()));
 257  /*
 258  $flag_editable = ($authorization->isAuthorized($GLOBALS['connect_id_auteur'], 'isManagedRubriqueByAuteurId', array('rubriqueId' => $rubrique_article))
 259      OR ($flag_auteur AND ($statut_article == 'prepa' OR $statut_article == 'prop' OR $statut_article == 'poubelle')));
 260  */
 261   
 262  
 263  /*
 264  $flag_editable = (acces_rubrique($rubrique_article)
 265      OR ($flag_auteur AND ($statut_article == 'prepa' OR $statut_article == 'prop' OR $statut_article == 'poubelle')));
 266  */
 267  //--------Fin Zone de modifications Clever Age elebescond-------------
 268  
 269  /// En double avec articles_edit.php3, mais necessite le flag_editable
 270  $modif_document = $GLOBALS['modif_document'];
 271  
 272  if ($modif_document == 'oui' AND $flag_editable) {
 273      //--------Zone de modifications Clever Age aangenieux-------------
 274      $documentMetier = & recuperer_instance_document();
 275      $loadOK = $documentMetier->load($id_document);
 276  
 277      if (PEAR :: isError($loadOK)) {
 278          die($loadOK->getMessage());
 279      }
 280  
 281      if ($documentMetier->getMode() == 'document') {
 282          if ($titre_document != '') {
 283              $documentMetier->setTitre($titre_document);
 284          } else {
 285              if ($titre_document == '' && $descriptif_document != '' && $documentMetier->getTitre() == '') {
 286                  $titre_document_array = explode('/', $documentMetier->getFichier());
 287                  $titre_document = $titre_document_array[2];
 288                  $titre_document_array = explode('.', $titre_document);
 289  
 290                  $titre_document = strtr($titre_document_array[0], "_", " ");
 291                  $documentMetier->setTitre($titre_document);
 292              }
 293          }
 294      } else {
 295          if (($titre_document == '' && $descriptif_document == '') || ($titre_document != '')) {
 296              $documentMetier->setTitre($titre_document);
 297          } else {
 298              if ($titre_document == '' && $descriptif_document != '' && $documentMetier->getTitre() == '') {
 299                  $titre_document_array = explode('/', $documentMetier->getFichier());
 300                  $titre_document = $titre_document_array[2];
 301                  $titre_document_array = explode('.', $titre_document);
 302  
 303                  $titre_document = strtr($titre_document_array[0], "_", " ");
 304                  $documentMetier->setTitre($titre_document);
 305              }
 306          }
 307      }
 308  
 309      $documentMetier->setDescriptif($descriptif_document);
 310      if ($largeur_document AND $hauteur_document) {
 311          $documentMetier->setLargeur($largeur_document);
 312          $documentMetier->setHauteur($hauteur_document);
 313      }
 314  
 315      $updateOK = $documentMetier->update();
 316      if (PEAR :: isError($updateOK)) {
 317          die($updateOK->getMessage());
 318      }
 319      /*
 320      $titre_document = corriger_caracteres($titre_document);
 321      $descriptif_document = corriger_caracteres($descriptif_document);
 322      $query = "UPDATE spip_documents SET titre=\"$titre_document\", descriptif=\"$descriptif_document\"";
 323      if ($largeur_document AND $hauteur_document) $query .= ", largeur='$largeur_document', hauteur='$hauteur_document'";
 324      $query .= " WHERE id_document=$id_document";
 325      spip_query($query);
 326      */
 327      //----------Fin zone de modifications-----------------------------
 328  }
 329  
 330  //
 331  // Appliquer les modifications
 332  //
 333  $suivi_edito = lire_meta("suivi_edito");
 334  $reindexer = false;
 335  
 336  $ok_nouveau_statut = false;
 337   
 338  if ($statut_nouv && $flag_editable) {
 339      //--------Zone de modifications Clever Age elebescond-------------
 340      $authorization = & recuperer_instance_authorization('isManagedRubriqueByAuteurId', $GLOBALS['connect_id_auteur'], array ('rubriqueId' => $rubrique_article));
 341      if ($authorization->isAuthorizedAction())
 342          $ok_nouveau_statut = true;
 343      /*
 344      if (acces_rubrique($rubrique_article)) $ok_nouveau_statut = true;
 345      */
 346      //--------Zone de modifications Clever Age elebescond@clever-age.com-------------
 347      else
 348          if ($flag_auteur) {
 349              if ($statut_nouv == 'prop' AND $statut_article == 'prepa')
 350                  $ok_nouveau_statut = true;
 351              else
 352                  if ($statut_nouv == 'prepa' AND $statut_article == 'poubelle')
 353                      $ok_nouveau_statut = true;
 354          }
 355  
 356      if ($ok_nouveau_statut) {
 357          // GESTION DU VERSIONNING
 358          //-----------MODIFICATION CLEVER AGE
 359          $articleMetier->setStatut($statut_nouv);
 360          /*
 361          $query = "UPDATE spip_articles SET statut='$statut_nouv' WHERE id_article=$id_article";
 362          $result = spip_query($query);
 363          */
 364          /******* Ajout MAPPING guillaume.grason@diplomatie.gouv.fr *******/
 365          if ($statut_nouv == 'poubelle' AND $statut_nouv != $statut_article) {
 366              $mappings = $mapping->getMappings($articleMetier->getArticleId());
 367              if ( PEAR::isError($mappings) ) {
 368                  die($mappings->getMessage());
 369              }
 370              else {
 371                  for ($i = 0; $i < count($mappings); $i++) {
 372                      $deleteOK = $mappingMetier->delete($mappings[$i]);
 373                      if (PEAR :: isError($deleteOK)) {
 374                          die($deleteOK->getMessage());
 375                      }
 376                      $deleteOK = $mapping->deleteEntryByArticleIdAndMappingId($articleMetier->getArticleId(), $id_map);
 377                      if (PEAR :: isError($deleteOK)) {
 378                          die($deleteOK->getMessage());
 379                      }
 380                  }
 381              }
 382          }
 383          /******* Fin Ajout MAPPING guillaume.grason@diplomatie.gouv.fr *******/
 384          if ($statut_nouv == 'publie' AND $statut_nouv != $statut_article) {
 385              if (($activer_version_articles == 'oui') && ($articleMetier->getVersionId() != 0)) {
 386                  //echo $articleMetier->getVersionId();
 387                  $redirectId = $articleMetier->getVersionId();
 388                  //$articleMetier->load(1);
 389                  // Modification Aurelien Vialet <avialet@clever-age.com>
 390                  // Mise ? jour en publi? implique dans le cas d'une version qu'il 
 391                  // faut pour une version la pass? en artilce racine
 392                  
 393                  if ($articleMetier->getVersionId() != 0) {
 394                      $articleMetier->switchVersion($articleMetier->getVersionId(), $articleMetier->getArticleId());
 395                  }
 396                  // header("location:articles.php3?id_article=1"); //, c pas l'article 1 !!!!!
 397                  header("location:articles.php?id_article=".$articleMetier->getVersionId());
 398                  
 399                  // Gestion du changement de statut si on publie une version
 400                  // Fin de modification Aurelien Vialet <avialet@clever-age.com>
 401              }
 402              
 403              
 404              
 405              //            $maDate = new Date();
 406              //            $articleMetier->setDate($maDate->getDate(DATE_FORMAT_ISO));
 407              //$articleMetier->setDate('NOW()');
 408              /*
 409              $query = "UPDATE spip_articles SET date=NOW() WHERE id_article=$id_article";
 410              $result = spip_query($query);
 411              */
 412          }
 413  
 414          $updateOK = $articleMetier->update();
 415          if (PEAR :: isError($updateOK)) {
 416              die($updateOK->getMessage());
 417          }
 418          //-------FIN MODIFICATION CLEVER AGE
 419          /******* Ajout MAPPING guillaume.grason@diplomatie.gouv.fr *******/
 420          if ($statut_nouv != $statut_article) {
 421              $mappings = $mapping->getMappings($articleMetier->getArticleId());
 422              if ( PEAR::isError($mappings) ) {
 423                  die($mappings->getMessage());
 424              }
 425              else {
 426                  for ($i = 0; $i < count($mappings); $i++) {
 427                      $loadOK = $mappingMetier->load($mappings[$i]);
 428                      if (PEAR :: isError($loadOK)) {
 429                          die($loadOK->getMessage());
 430                      } else {
 431                          if ($statut_nouv == 'publie')
 432                              $mappingMetier->setStatut('mappe');
 433                          else
 434                              $mappingMetier->setStatut('map_off');
 435                          $updateOK = $mappingMetier->update();
 436                          if (PEAR :: isError($updateOK)) {
 437                              die($updateOK->getMessage());
 438                          }
 439                      }
 440                  }
 441              }
 442          }
 443          /******* Fin Ajout MAPPING guillaume.grason@diplomatie.gouv.fr *******/
 444  
 445          $statut_ancien = $statut_article; // message pour les traitements de fond (indexation ; envoi mail)
 446          $statut_article = $statut_nouv;
 447          //--------Zone de modifications Clever Age elebescond-------------
 448          //$authorization = &recuperer_instance_authorization();
 449          //$flag_editable = ($authorization->isAuthorized($GLOBALS['connect_id_auteur'], 'isManagedRubriqueByAuteurId', array('rubriqueId' => $rubrique_article))
 450          //OR ($flag_auteur AND ($statut_article == 'prepa' OR $statut_article == 'prop')));
 451          /*
 452          $flag_editable = (acces_rubrique($rubrique_article)
 453              OR ($flag_auteur AND ($statut_article == 'prepa' OR $statut_article == 'prop')));
 454          */
 455          //--------Fin Zone de modifications Clever Age elebescond-------------
 456  
 457      }
 458  }
 459  
 460  
 461  // Passer les images/docs en "inclus=non"
 462  //----------------Zone de modifications Clever Age aangenieux----------
 463  $documentMetier = & recuperer_instance_document();
 464  $ze_doc = $documentMetier->getAlldocumentIdsForArticleId($id_article);
 465  
 466  if (PEAR :: isError($ze_doc)) {
 467      die($ze_doc->getMessage());
 468  }
 469  /*
 470  $query = "SELECT docs.id_document FROM spip_documents AS docs, spip_documents_articles AS lien WHERE lien.id_article=$id_article AND lien.id_document=docs.id_document";
 471  $result = spip_query($query);
 472  while($row=spip_fetch_array($result)){
 473      $ze_doc[]=$row['id_document'];
 474  }
 475  */
 476  //----------------Fin de zone de modifications--------------------------
 477  
 478  if (count($ze_doc) > 0) {
 479      $ze_docs = join($ze_doc, ",");
 480      //----------------Zone de modifications Clever Age aangenieux----------
 481      $documentMetier = & recuperer_instance_document();
 482      $updateOK = $documentMetier->updateInclusForDocumentIds('non', $ze_docs);
 483      if (PEAR :: isError($updateOK)) {
 484          die($updateOK->getMessage());
 485      }
 486      /*
 487      spip_query("UPDATE spip_documents SET inclus='non' WHERE id_document IN ($ze_docs)");
 488      */
 489      //----------------Fin de zone de modifications--------------------------
 490  }
 491  
 492  //
 493  // Reunit les textes decoupes parce que trop longs
 494  //
 495  // patch David Charbonnier ? tester 
 496  $nb_texte = 0;
 497  while ($nb_texte ++ < 100) { // 100 pour eviter une improbable boucle infinie
 498      $varname = "texte$nb_texte";
 499      $texte_plus = $$varname; // double $ pour obtenir $texte1, $texte2...
 500      if ($texte_plus) {
 501          $texte_ajout .= " ".$texte_plus;
 502      } else {
 503          break;
 504      }
 505  }
 506  $texte = $texte_ajout.$texte;
 507  /*
 508  $nb_texte = 0;
 509  while ($nb_texte ++ < 100){        // 100 pour eviter une improbable boucle infinie
 510      $varname = "texte$nb_texte";
 511      $texte_plus = $$varname;    // double $ pour obtenir $texte1, $texte2...
 512      if ($texte_plus){
 513          $texte_plus = ereg_replace("<!--SPIP-->[\n\r]*","\n\n\n",$texte_plus);
 514          $texte_ajout .= " ".$texte_plus;
 515      } else {
 516          break;
 517      }
 518  }
 519  $texte = $texte_ajout . $texte;
 520  */
 521  // fin patch 
 522  
 523  // preparer le virtuel
 524  if ($changer_virtuel && $flag_editable) {
 525      $virtuel = eregi_replace("^http://$", "", trim($virtuel));
 526      if ($virtuel)
 527          $chapo = addslashes(corriger_caracteres("=$virtuel"));
 528      else
 529          $chapo = "";
 530  
 531      //-----------MODIFICATION CLEVER AGE
 532  
 533      $articleMetier->setChapo($chapo);
 534  
 535      $updateOK = $articleMetier->update();
 536  
 537      if (PEAR :: isError($updateOK)) {
 538          die(PEAR :: isError($updateOK));
 539      }
 540  
 541      /*
 542      $query = "UPDATE spip_articles SET chapo=\"$chapo\" WHERE id_article=$id_article";
 543      $result = spip_query($query);
 544      */
 545      //-----------FIN MODIFICATION CLEVER AGE
 546  
 547  }
 548  
 549  
 550  if ($titre && !$ajout_forum && $flag_editable) {
 551      // ajout de l'entr?e dans la table historique 
 552      if (($activer_histo_articles == 'oui') && ($articleMetier->getActiverHistorique() == 'oui')) {
 553          $articleMetier->create_historique ();
 554      }
 555      
 556      //------MODIFICATION CLEVER AGE
 557      $articleMetier->setSurtitre($surtitre);
 558      $articleMetier->setTitre($titre);
 559      $articleMetier->setSoustitre($soustitre);
 560      $articleMetier->setDescriptif($descriptif);
 561      $articleMetier->setNomSite($nom_site);
 562      $articleMetier->setUrlSite($url_site);
 563      $articleMetier->setChapo($chapo);
 564      $articleMetier->setTexte($texte);
 565      $articleMetier->setPs($ps);
 566      /*
 567      $surtitre = addslashes(corriger_caracteres($surtitre));
 568      $titre = addslashes(corriger_caracteres($titre));
 569      $soustitre = addslashes(corriger_caracteres($soustitre));
 570      $descriptif = addslashes(corriger_caracteres($descriptif));
 571      $nom_site = addslashes(corriger_caracteres($nom_site));
 572      $url_site = addslashes(corriger_caracteres($url_site));
 573      $chapo = addslashes(corriger_caracteres($chapo));
 574      $texte = addslashes(corriger_caracteres($texte));
 575      $ps = addslashes(corriger_caracteres($ps));
 576      */
 577  
 578      // recoller les champs du extra
 579      if ($champs_extra) {
 580          include_ecrire ("inc_extra.php");
 581          //-------MODIFICATION CLEVER AGE --- AANGENIEUX --- Gestion extra -------
 582          $add_extra = extra_recup_saisie("articles", $id_secteur);
 583          /*
 584          $add_extra = ", extra = '".addslashes(extra_recup_saisie("article", $id_secteur))."'";
 585          */
 586      } else
 587          $add_extra = '';
 588  
 589      $articleMetier->setExtra($add_extra);
 590      //--------------FIN DE MODIFICATION CA---------------------------
 591  
 592      // Verifier qu'on envoie bien dans une rubrique autorisee
 593  
 594      //--------Zone de modifications Clever Age elebescond-------------
 595      $authorization = & recuperer_instance_authorization('isManagedRubriqueByAuteurId', $GLOBALS['connect_id_auteur'], array ('rubriqueId' => $rubrique_article));
 596      if ($flag_auteur OR $authorization->isAuthorizedAction()) {
 597          $articleMetier->setRubriqueId($id_rubrique);
 598      }
 599  
 600      /*
 601      if ($flag_auteur OR acces_rubrique($id_rubrique)) {
 602          //$change_rubrique = "id_rubrique=\"$id_rubrique\",";
 603      }
 604      */
 605      //--------Fin Zone de modifications Clever Age elebescond-------------
 606  
 607      /*
 608      } else {
 609          $change_rubrique = "";
 610      }
 611      */
 612      $updateOK = $articleMetier->update();
 613  
 614      if (PEAR :: isError($updateOK)) {
 615          die(PEAR :: isError($updateOK));
 616      }
 617      /******* Ajout MAPPING guillaume.grason@diplomatie.gouv.fr *******/
 618      $mappings = $mapping->getMappings($articleMetier->getArticleId());
 619      if ( PEAR::isError($mappings) ) {
 620          die($mappings->getMessage());
 621      }
 622      else {
 623          for ($i = 0; $i < count($mappings); $i++) {
 624              $loadOK = $mappingMetier->load($mappings[$i]);
 625              if (PEAR :: isError($loadOK)) {
 626                  die($loadOK->getMessage());
 627              } else {
 628                  $mappingMetier->setSurtitre($articleMetier->getSurtitre());
 629                  //$mappingMetier->setTitre($articleMetier->getTitre());
 630                  $mappingMetier->setSoustitre($articleMetier->getSoustitre());
 631                  //$mappingMetier->setDescriptif($articleMetier->getDescriptif());
 632                  $mappingMetier->setNomSite($articleMetier->getNomSite());
 633                  $mappingMetier->setUrlSite($articleMetier->getUrlSite());
 634                  $mappingMetier->setChapo($articleMetier->getChapo());
 635                  $mappingMetier->setTexte($articleMetier->getTexte());
 636                  $mappingMetier->setPs($articleMetier->getPs());
 637                  $mappingMetier->setExtra($articleMetier->getExtra());
 638                  $updateOK = $mappingMetier->update();
 639                  if (PEAR :: isError($updateOK)) {
 640                      die($updateOK->getMessage());
 641                  }
 642              }
 643          }
 644      }
 645      /******* Fin Ajout MAPPING guillaume.grason@diplomatie.gouv.fr *******/
 646      /*
 647      $query = "UPDATE spip_articles SET surtitre=\"$surtitre\", titre=\"$titre\", soustitre=\"$soustitre\", $change_rubrique descriptif=\"$descriptif\", chapo=\"$chapo\", texte=\"$texte\", ps=\"$ps\", url_site=\"$url_site\", nom_site=\"$nom_site\" $add_extra WHERE id_article=$id_article";
 648      $result = spip_query($query);
 649      */
 650      //----------FIN MODIFICATION CLEVER AGE
 651      
 652      /******* Ajout MAE guillaume.grason@diplomatie.gouv.fr *******/
 653      define ("ID_ALAUNE", 3613);
 654      define ("ID_AUTRESACTUS", 3614);
 655      if ($articleMetier->getRubriqueId() == ID_ALAUNE) {
 656          $f = fopen("./cron/supprimer_actus", "w");
 657          if ($f) {
 658              $result = fwrite($f, "1");
 659              fclose($f);
 660          }
 661      }
 662      if ($articleMetier->getRubriqueId() == ID_AUTRESACTUS) {
 663          $f = fopen("./cron/supprimer_actus", "w");
 664          if ($f) {
 665              $result = fwrite($f, "1");
 666              fclose($f);
 667          }
 668      }
 669      $f = fopen("./cron/a_supprimer", "a+");
 670      if ($f) {
 671          $result = fwrite($f, "id_article ".$articleMetier->getArticleId()."\n");
 672          fclose($f);
 673      }
 674      /******* Fin Ajout MAE guillaume.grason@diplomatie.gouv.fr *******/
 675      
 676      
 677      // modifications Olivier Mansour 
 678      // reports de ces actions en bas de script
 679      /* 
 680      calculer_rubriques();
 681      */
 682      // fin modifications Olivier Mansour
 683      /* Ajout Clever Age / Nicolas Hoizey / R�f�rencement des liens */
 684      $contenu = $surtitre.$titre.$soustitre.$descriptif.$chapo.$texte.$ps;
 685      if ($champs_extra)
 686          $contenu .= addslashes(extra_recup_saisie('article', $id_secteur));
 687      update_liens($contenu, 'art-'.$id_article);
 688      /* fin zone de modification Clever Age */
 689  
 690  
 691      if ($statut_article == 'publie')
 692          $reindexer = true;
 693  
 694      // Changer la langue heritee
 695      if ($articleMetier->getRubriqueId() != $id_rubrique_old) {
 696          /**************** Modification elebescond@clever-age.com *************************************/
 697          $loadOK = $articleMetier->load($id_article);
 698          if (PEAR :: isError($loadOK)) {
 699              die($loadOK->getMessage());
 700          }
 701          $langue_old = $articleMetier->getLang();
 702          $langue_choisie_old = $articleMetier->getLangChoisie();
 703          /*
 704          $row = spip_fetch_array(spip_query("SELECT lang, langue_choisie FROM spip_articles WHERE id_article=$id_article"));
 705          $langue_old = $row['lang'];
 706          $langue_choisie_old = $row['langue_choisie'];
 707          */
 708          /**************** Fin modification elebescond@clever-age.com *************************************/
 709  
 710          /**************** Modification elebescond@clever-age.com *************************************/
 711          if ($langue_choisie_old != "oui") {
 712              $rubriqueMetier = & recuperer_instance_rubrique();
 713              $loadOK = $rubriqueMetier->load($articleMetier->getRubriqueId());
 714              if (PEAR :: isError($loadOK)) {
 715                  die($loadOK->getMessage());
 716              }
 717              $langue_new = $rubriqueMetier->getLang();
 718              if ($langue_new != $langue_old) {
 719                  $articleMetier->setLang($langue_new);
 720                  $updateOK = $articleMetier->update();
 721                  if (PEAR :: isError($updateOK)) {
 722                      die($updateOK->getMessage());
 723                  }
 724                  /******* Ajout MAPPING guillaume.grason@diplomatie.gouv.fr *******/
 725                  $mappings = $mapping->getMappings($articleMetier->getArticleId());
 726                  if ( PEAR::isError($mappings) ) {
 727                      die($mappings->getMessage());
 728                  }
 729                  else {
 730                      for ($i = 0; $i < count($mappings); $i++) {
 731                          $loadOK = $mappingMetier->load($mappings[$i]);
 732                          if (PEAR :: isError($loadOK)) {
 733                              die($loadOK->getMessage());
 734                          } else {
 735                              $mappingMetier->setLang($articleMetier->getLang());
 736                              $updateOK = $mappingMetier->update();
 737                              if (PEAR :: isError($updateOK)) {
 738                                  die($updateOK->getMessage());
 739                              }
 740                          }
 741                      }
 742                  }
 743                  /******* Fin Ajout MAPPING guillaume.grason@diplomatie.gouv.fr *******/
 744              }
 745          }
 746          /*
 747          if ($langue_choisie_old != "oui") {
 748              $row = spip_fetch_array(spip_query("SELECT lang FROM spip_rubriques WHERE id_rubrique=$id_rubrique"));
 749              $langue_new = $row['lang'];
 750              if ($langue_new != $langue_old) spip_query("UPDATE spip_articles SET lang = '$langue_new' WHERE id_article = $id_article");
 751          }
 752          */
 753          /**************** Fin modification elebescond@clever-age.com *************************************/
 754      }
 755  
 756      // afficher le nouveau titre dans la barre de fenetre
 757      $titre_article = stripslashes($titre);
 758  
 759      //-----------MODIFICATION CLEVER AGE
 760  
 761      // marquer l'article (important pour les articles nouvellement crees)
 762      $maDate = new Date();
 763      $articleMetier->setModificationDate($maDate->getDate(DATE_FORMAT_ISO));
 764      //$articleMetier->setModificationDate('NOW()');
 765      $articleMetier->setAuteurModif($connect_id_auteur);
 766      $updateOK = $articleMetier->update();
 767  
 768      if (PEAR :: isError($updateOK)) {
 769          die(PEAR :: isError($updateOK));
 770      }
 771      /******* Ajout MAPPING guillaume.grason@diplomatie.gouv.fr *******/
 772      $mappings = $mapping->getMappings($articleMetier->getArticleId());
 773      if ( PEAR::isError($mappings) ) {
 774          die($mappings->getMessage());
 775      }
 776      else {
 777          for ($i = 0; $i < count($mappings); $i++) {
 778              $loadOK = $mappingMetier->load($mappings[$i]);
 779              if (PEAR :: isError($loadOK)) {
 780                  die($loadOK->getMessage());
 781              } else {
 782                  $mappingMetier->setModificationDate($articleMetier->getModificationDate());
 783                  $mappingMetier->setAuteurModif($articleMetier->getAuteurModif());
 784                  $updateOK = $mappingMetier->update();
 785                  if (PEAR :: isError($updateOK)) {
 786                      die($updateOK->getMessage());
 787                  }
 788              }
 789          }
 790      }
 791      /******* Fin Ajout MAPPING guillaume.grason@diplomatie.gouv.fr *******/
 792  
 793      /*
 794      spip_query("UPDATE spip_articles SET date_modif=NOW(), auteur_modif=$connect_id_auteur WHERE id_article=$id_article");
 795      */
 796      $id_article_bloque = $id_article; // message pour inc_presentation
 797      
 798      
 799      
 800  }
 801  
 802  // remplacement par une sous version de l'historique
 803  if ($flag_editable and $id_article_historique_replace and ($activer_histo_articles == 'oui') and ($articleMetier->getActiverHistorique() == 'oui')) {
 804      $articleMetier->create_historique ();
 805      $articleMetier->switchHistorique($id_article_historique_replace);
 806  }
 807  //----------FIN MODIFICATION CLEVER AGE
 808  
 809  //
 810  // Suivi forums publics
 811  //
 812  
 813  // fonction dupliquee dans inc-forum.php3
 814  function get_forums_publics($id_article = 0) {
 815  
 816      $forums_publics = lire_meta("forums_publics");
 817      if ($id_article) {
 818          //------------MODIFICATION CLEVER AGE
 819          $articleMetier = & recuperer_instance_article();
 820          $loadOK = $articleMetier->loadLightWeight($id_article);
 821          /*
 822          $query = "SELECT accepter_forum FROM spip_articles WHERE id_article=$id_article";
 823          $res = spip_query($query);
 824          */
 825  
 826          if ( PEAR::isError($loadOK) ) {
 827              die($loadOK->getMessage());
 828          } else {
 829              $forums_publics = $articleMetier->getAccepterForum();
 830          }
 831          /*
 832          if ($obj = spip_fetch_object($res))
 833              $forums_publics = $obj->accepter_forum;
 834          */
 835          //-----------FIN MODIFICATION CLEVER AGE
 836  
 837      } else { // dans ce contexte, inutile
 838          $forums_publics = substr(lire_meta("forums_publics"), 0, 3);
 839      }
 840      return $forums_publics;
 841  }
 842  
 843  //
 844  // Lire l'article
 845  //
 846  
 847  //----------MODIFICATION CLEVER AGE
 848  if ($articleMetier->getArticleId() == $id_article) { //Test si article charg� OK
 849      $surtitre = $articleMetier->getSurtitre();
 850      $titre = $articleMetier->getTitre();
 851      $soustitre = $articleMetier->getSoustitre();
 852      $id_rubrique = $articleMetier->getRubriqueId();
 853      $descriptif = $articleMetier->getDescriptif();
 854      $chapo = $articleMetier->getChapo();
 855      $texte = $articleMetier->getTexte();
 856      $ps = $articleMetier->getPs();
 857      $date = $articleMetier->getDate();
 858      $statut_article = $articleMetier->getStatut();
 859      $maDate = new Date($articleMetier->getMajDate());
 860      $maj = $maDate->getDate(DATE_FORMAT_TIMESTAMP);
 861      //$maj = $articleMetier->getMajDate();
 862      $date_redac = $articleMetier->getRedactionDate();
 863      $visites = $articleMetier->getVisites();
 864      $referers = $articleMetier->getReferers();
 865      $extra = $articleMetier->getExtra();
 866      $id_trad = $articleMetier->getTradId();
 867  }
 868  
 869  /*
 870  $query = "SELECT * FROM spip_articles WHERE id_article='$id_article'";
 871  $result = spip_query($query);
 872  
 873  if ($row = spip_fetch_array($result)) {
 874      $id_article = $row["id_article"];
 875      $surtitre = $row["surtitre"];
 876      $titre = $row["titre"];
 877      $soustitre = $row["soustitre"];
 878      $id_rubrique = $row["id_rubrique"];
 879      $descriptif = $row["descriptif"];
 880      $nom_site = $row["nom_site"];
 881      $url_site = $row["url_site"];
 882      $chapo = $row["chapo"];
 883      $texte = $row["texte"];
 884      $ps = $row["ps"];
 885      $date = $row["date"];
 886      $statut_article = $row["statut"];
 887      $maj = $row["maj"];
 888      $date_redac = $row["date_redac"];
 889      $visites = $row["visites"];
 890      $referers = $row["referers"];
 891      $extra = $row["extra"];
 892      $id_trad = $row["id_trad"];
 893  }
 894  */
 895  
 896  //----------FIN MODIFICATION CLEVER AGE
 897  
 898  // pour l'affichage du virtuel
 899  unset ($virtuel);
 900  if (substr($chapo, 0, 1) == '=') {
 901      $virtuel = substr($chapo, 1);
 902  }
 903  
 904  if (ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})", $date_redac, $regs)) {
 905      $mois_redac = $regs[2];
 906      $jour_redac = $regs[3];
 907      $annee_redac = $regs[1];
 908      if ($annee_redac > 4000)
 909          $annee_redac -= 9000;
 910  }
 911  
 912  if (ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})", $date, $regs)) {
 913      $mois = $regs[2];
 914      $jour = $regs[3];
 915      $annee = $regs[1];
 916  }
 917  
 918  debut_page("&laquo; $titre_article &raquo;", "documents", "articles");
 919  
 920  debut_grand_cadre();
 921  afficher_parents($articleMetier->getRubriqueId());
 922  $parents = "~ <img src='img_pack/racine-site-24.gif' width=24 height=24 align='middle'> <A HREF='naviguer.php?coll=0'><B>"._T('lien_racine_site')."</B></A> ".aide("rubhier")."<BR>".$parents;
 923  $parents = ereg_replace("~", "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;", $parents);
 924  $parents = ereg_replace("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ", "", $parents);
 925  echo "$parents";
 926  
 927  fin_grand_cadre();
 928  
 929  //////////////////////////////////////////////////////
 930  // Affichage de la colonne de gauche
 931  //
 932  
 933  debut_gauche();
 934  
 935  debut_boite_info();
 936  
 937  echo "<div align='center'>\n";
 938  
 939  if ($statut_article == "publie") {
 940      $post_dates = lire_meta("post_dates");
 941      $voir_en_ligne = true;
 942      if ($post_dates == "non") {
 943  
 944          //---------MODIFICATION CLEVER AGE
 945  
 946          if ($articleMetier->isPostDated()) {
 947              $voir_en_ligne = false;
 948          }
 949  
 950          /*
 951          $query = "SELECT id_article FROM spip_articles WHERE id_article=$id_article AND date<=NOW()";
 952          $result = spip_query($query);
 953          if (!spip_num_rows($result)) {
 954              $voir_en_ligne = false;
 955          }
 956          */
 957  
 958          //----------FIN MODIFICATION CLEVER AGE
 959  
 960      }
 961  }
 962  
 963  /******* Ajout PREVIEW guillaume.grason@diplomatie.gouv.fr *******/
 964  if (($statut_article == 'valid') or ($statut_article == 'prepa') or ($statut_article == 'prop') or ($statut_article == 'map_off'))
 965      $previsualiser = true;
 966  if ($statut_article == 'mappe')
 967      $voir_en_ligne = true;
 968  /******* Fin Ajout PREVIEW guillaume.grason@diplomatie.gouv.fr *******/
 969  /*********** Modification elebescond@clever-age.com *********************/
 970  echo "<font face='Verdana,Arial,Sans,sans-serif' size='1'><b>"._T('art_info_numero_article', null, $articleMetier->getRubriqueId())."</b></font>\n";
 971  /*
 972  echo "<font face='Verdana,Arial,Sans,sans-serif' size='1'><b>"._T('info_numero_article')."</b></font>\n";
 973  */
 974  /*********** Fin modification elebescond@clever-age.com *********************/
 975  echo "<br><font face='Verdana,Arial,Sans,sans-serif' size='6'><b>$id_article</b></font>\n";
 976  if ($voir_en_ligne) {
 977      icone_horizontale(_T('icone_voir_en_ligne'), "../spip_redirect.php?id_article=$id_article&recalcul=oui", "racine-24.gif", "rien.gif");
 978      //icone_horizontale(_T('icone_voir_en_pdf'), "../spip_redirect.php3?id_article_pdf=$id_article&recalcul=oui", "pdf-24.png", "rien.gif");
 979  }
 980  /******* Ajout PREVIEW guillaume.grason@diplomatie.gouv.fr *******/
 981  elseif ($previsualiser) {
 982      icone_horizontale(_T('icone_previsualiser'), "../spip_redirect.php?id_article=$id_article&preview=oui", "racine-24.gif", "rien.gif");
 983  }
 984  /******* Fin Ajout PREVIEW guillaume.grason@diplomatie.gouv.fr *******/
 985  
 986  //----------------Zone de modifications Clever Age elebescond@clever-age.com----------
 987  $authorization = & recuperer_instance_authorization( 'afficherSuiviForumArticle', 
 988                                                       $GLOBALS['connect_id_auteur'], 
 989                                                       array ('id_rubrique' => $articleMetier->getRubriqueId()) );
 990  if ($authorization->isAuthorizedAction()) {
 991      /*
 992      if ($connect_statut=='minirezo' AND acces_rubrique($id_rubrique)) {
 993      */
 994      //----------------FIN Zone de modifications Clever Age elebescond----------
 995      //----------Modification Clever Age elebescond@clever-age.com-----------------
 996      $forumMetier = & recuperer_instance_forum();
 997      $nb_forums = $forumMetier->howManyForumForArticleIdAndStatuts($id_article, "'publie', 'off', 'prop'");
 998      if (PEAR :: isError($nb_forums)) {
 999          die($nb_forums->getMessage());
1000      }
1001      if ($nb_forums) {
1002          icone_horizontale(_T('icone_suivi_forum', array ('nb_forums' => $nb_forums)), "controle_forum_suite.php?affType=discussion&affMessage[]=tout&vierge=1&id_current_forum=$id_article&type_forum=article", "suivi-forum-24.gif", "");
1003      }
1004      /*
1005      $query = "SELECT count(*) AS count FROM spip_forum WHERE id_article=$id_article AND statut IN ('publie', 'off', 'prop')";
1006      if ($row = spip_fetch_array(spip_query($query))) {
1007          $nb_forums = $row['count'];
1008          if ($nb_forums) {
1009              icone_horizontale(_T('icone_suivi_forum', array('nb_forums' => $nb_forums)),
1010                  "articles_forum.php3?id_article=$id_article", "suivi-forum-24.gif", "");
1011          }
1012      }
1013      */
1014      //---------Fin modification Clever Age-------------------
1015  }
1016  
1017  $activer_statistiques = lire_meta("activer_statistiques");
1018  $activer_statistiques_ref = lire_meta("activer_statistiques_ref");
1019  
1020  //----------------Zone de modifications Clever Age elebescond@clever-age.com----------
1021  $authorization = & recuperer_instance_authorization('afficherIconeEvolutionVisites', $GLOBALS['connect_id_auteur'], array ('statut_article' => $statut_article, 'visites' => $visites, 'activer_statistiques' => $activer_statistiques, 'options' => $options));
1022  if ($authorization->isAuthorizedAction()) {
1023      /*
1024      if ($connect_statut == "minirezo" AND $statut_article == 'publie' AND $visites > 0 AND $activer_statistiques != "non" AND $options == "avancees") {
1025      */
1026      //----------------FIN Zone de modifications Clever Age elebescond----------    icone_horizontale(_T('icone_evolution_visites', array('visites' => $visites, 'aff_ref' => $aff_ref)), "statistiques_visites.php3?id_article=$id_article", "statistiques-24.gif","rien.gif");
1027  }
1028  echo "</div>\n";
1029  fin_boite_info();
1030  
1031  
1032  // Logos du mapping
1033  
1034  $arton = "arton$id_article";
1035  $artoff = "artoff$id_article";
1036  
1037  if ($id_article > 0 AND $flag_editable)
1038      afficher_boite_logo($arton, $artoff, _T('art_logo_mapping', null, $articleMetier->getRubriqueId()).aide("logoart"), _T('logo_survol'));
1039  
1040  $authorization = & recuperer_instance_authorization('afficherBoiteConfigurationAvancee', $GLOBALS['connect_id_auteur'], array ('options' => $options, 'flag_editable' => $flag_editable));
1041  if ($authorization->isAuthorizedAction()) {
1042      // Redirection (article virtuel)
1043      debut_cadre_relief("site-24.gif");
1044      $visible = ($changer_virtuel || $virtuel);
1045      
1046      echo "<font size='2' FACE='Verdana,Arial,Sans,sans-serif'><center><b>";
1047      if ($visible)
1048          echo bouton_block_visible("redirection");
1049      else
1050          echo bouton_block_invisible("redirection");
1051      echo _T('bouton_redirection');
1052      echo aide("artvirt");
1053      echo "</b></center></font>";
1054      if ($visible)
1055          echo debut_block_visible("redirection");
1056      else
1057          echo debut_block_invisible("redirection");
1058      
1059      echo "<form action='mapping_articles.php?id_article=$id_article' method='post'>";
1060      echo "\n<INPUT TYPE='hidden' NAME='id_article' VALUE='$id_article'>";
1061      echo "\n<INPUT TYPE='hidden' NAME='changer_virtuel' VALUE='oui'>";
1062      $virtuelhttp = ($virtuel ? "" : "http://");
1063      
1064      echo "<INPUT TYPE='text' NAME='virtuel' CLASS='formo' style='font-size:9px;' VALUE=\"$virtuelhttp$virtuel\" SIZE='40'><br>";
1065      echo "<font face='Verdana,Arial,Sans,sans-serif' size=2>";
1066      /************* Modification elebescond@clever-age.com *******************/
1067      echo "(<b>"._T('art_texte_article_virtuel', null, $articleMetier->getRubriqueId() )."&nbsp;:</b> "._T('art_texte_reference_mais_redirige', null, $articleMetier->getRubriqueId() ).")";
1068      /*
1069      echo "(<b>"._T('texte_article_virtuel')."&nbsp;:</b> "._T('texte_reference_mais_redirige').")";
1070      */
1071      /************* Fin modification elebescond@clever-age.com *******************/
1072      echo "</font>";
1073      echo "<div align='right'><INPUT TYPE='submit' NAME='Changer' CLASS='fondo' VALUE='"._T('bouton_changer')."' STYLE='font-size:10px'></div>";
1074      echo "</form>";
1075      echo fin_block();
1076      
1077      fin_cadre_relief();
1078  }
1079  
1080  //
1081  // Afficher les raccourcis
1082  //
1083  
1084  debut_raccourcis();
1085  icone_horizontale(_T('icone_tous_articles'), "articles_page.php", "article-24.gif");
1086  /////////////////////////////
1087  // Modifier l'article parent
1088  //
1089  icone_horizontale(_T('art_icone_modifier_article_parent', null, $coll), "articles.php?id_article=$id_article_parent&", "article-24.gif","edit.gif");
1090  ////////////////////////////////
1091  // Supprimer le mapping courant 
1092  echo "<form name='mapping' method='post' action='do_mapping.php'>\n";
1093  echo "<a href='#' OnClick='document.forms[\"mapping\"].submit();' class='cellule-h'><table cellpadding='0' valign='middle'><tr>\n";
1094  echo "<td><a href='#' OnClick='document.forms[\"mapping\"].submit();'><div class='cell-i'><img style='background: url(\"img_pack/article-24.gif\"); background-repeat: no-repeat; background-position: center center;' src='img_pack/supprimer.gif' alt='' border='0'></div></a></td>\n";
1095  echo "<td class='cellule-h-lien'><a href='#' OnClick='document.forms[\"mapping\"].submit();' class='cellule-h'>"._T('art_icone_supprimer_mapping', null, $coll)."</a></td>\n";
1096  echo "</tr></table></a>\n";
1097  echo "<input type='hidden' name='id_map' value ='$id_article' />\n";
1098  echo "<input type='hidden' name='id_action' value='0'>\n";
1099  echo "<input type='hidden' name='id_article' value='$id_article_parent'>\n";
1100  echo "</form>";
1101  // Fin supprimer le mappage courant
1102  //////////////////////////////////
1103  fin_raccourcis();
1104  
1105  //////////////////////////////////////////////////////
1106  // Affichage de la colonne de droite
1107  //
1108  
1109  debut_droite();
1110  
1111  $strErr = displayErrorMsg(getErrorMsg('article', $articleMetier));
1112  if ($strErr) {
1113      debut_cadre_relief();
1114      // Ajout Aurelien Vialet <avialet@clever-age.com> Gestion des erreur sur les champs/Gestion des champs de formulaires
1115      echo $strErr;
1116      // Fin de l'ajout Aurelien Vialet
1117      fin_cadre_relief();
1118  }
1119  
1120  changer_typo('', 'article'.$id_article);
1121  
1122  // qu'est-ce que c'est que ces choses ??
1123  
1124  function mySel($varaut, $variable) {
1125      $retour = " VALUE=\"$varaut\"";
1126      if ($variable == $varaut) {
1127          $retour .= " SELECTED";
1128      }
1129      return $retour;
1130  }
1131  
1132  function my_sel($num, $tex, $comp) {
1133      if ($num == $comp) {
1134          echo "<OPTION VALUE='$num' SELECTED>$tex\n";
1135      } else {
1136          echo "<OPTION VALUE='$num'>$tex\n";
1137      }
1138  
1139  }
1140  
1141  function afficher_mois($mois) {
1142      my_sel("00", _T('mois_non_connu'), $mois);
1143      my_sel("01", _T('date_mois_1'), $mois);
1144      my_sel("02", _T('date_mois_2'), $mois);
1145      my_sel("03", _T('date_mois_3'), $mois);
1146      my_sel("04", _T('date_mois_4'), $mois);
1147      my_sel("05", _T('date_mois_5'), $mois);
1148      my_sel("06", _T('date_mois_6'), $mois);
1149      my_sel("07", _T('date_mois_7'), $mois);
1150      my_sel("08", _T('date_mois_8'), $mois);
1151      my_sel("09", _T('date_mois_9'), $mois);
1152      my_sel("10", _T('date_mois_10'), $mois);
1153      my_sel("11", _T('date_mois_11'), $mois);
1154      my_sel("12", _T('date_mois_12'), $mois);
1155  }
1156  
1157  function afficher_annee($annee) {
1158      // Cette ligne permettrait de faire des articles sans date de publication
1159      // my_sel("0000","n.c.",$annee);
1160  
1161      if ($annee < 1996 AND $annee <> 0) {
1162          echo "<OPTION VALUE='$annee' SELECTED>$annee\n";
1163      }
1164      for ($i = 1996; $i < date(Y) + 2; $i ++) {
1165          my_sel($i, $i, $annee);
1166      }
1167  }
1168  
1169  function afficher_jour($jour) {
1170      my_sel("00", _T('jour_non_connu_nc'), $jour);
1171      for ($i = 1; $i < 32; $i ++) {
1172          if ($i < 10) {
1173              $aff = "&nbsp;".$i;
1174          } else {
1175              $aff = $i;
1176          }
1177  
1178          $d = strlen($i) == 1 ? '0'.$i : $i;
1179          my_sel( $d , $aff, $jour );
1180      }
1181  }
1182  
1183  function afficher_heure( $heure ) {
1184      my_sel( '', _T('heure_non_connu_nc'), $heure );
1185      for ( $i = 0; $i < 24; $i++ ) {
1186          $h = strlen($i) == 1 ? '0'.$i : $i;
1187          my_sel( $h, $h, $heure );
1188      }
1189  }
1190  
1191  function afficher_minute( $minute ) {
1192      my_sel( '', _T('minute_non_connu_nc'), $minute );
1193      for ( $i = 0; $i < 60; $i++ ) {
1194          $m = strlen($i) == 1 ? '0'.$i : $i;
1195          my_sel( $m, $m, $minute );
1196      }
1197  }
1198  
1199  debut_cadre_relief();
1200  echo "<CENTER>";
1201  
1202  //
1203  // Titre, surtitre, sous-titre
1204  //
1205  
1206  if ($statut_article == 'publie') {
1207      $logo_statut = "puce-verte.gif";
1208  } else // TODO : un bon switch case fera l'affaire
1209      if ($statut_article == 'prepa') {
1210          $logo_statut = "puce-blanche.gif";
1211      } else
1212          if ($statut_article == 'prop') {
1213              $logo_statut = "puce-orange.gif";
1214          } else
1215              if ($statut_article == 'valid') {
1216                  $logo_statut = "puce-jaune.gif";
1217              } else
1218                  if ($statut_article == 'archi') {
1219                      $logo_statut = "puce-marron.gif";
1220                  } else
1221                      if ($statut_article == 'refuse') {
1222                          $logo_statut = "puce-rouge.gif";
1223                      } else
1224                          if ($statut_article == 'poubelle') {
1225                              $logo_statut = "puce-poubelle.gif";
1226                          }
1227  
1228  echo "\n<table cellpadding=0 cellspacing=0 border=0 width='100%'>";
1229  echo "<tr width='100%'><td width='100%' valign='top'>";
1230  if ($surtitre) {
1231      echo "<span $dir_lang><font face='arial,helvetica' size=3><b>";
1232      echo typo($surtitre);
1233      echo "</b></font></span>\n";
1234  }
1235  gros_titre($titre, $logo_statut);
1236  
1237  if ($soustitre) {
1238      echo "<span $dir_lang><font face='arial,helvetica' size=3><b>";
1239      echo typo($soustitre);
1240      echo "</b></font></span>\n";
1241  }
1242  
1243  // TODO : c'est super moche !
1244  $nom_site = $articleMetier->getNomSite();
1245  $url_site = $articleMetier->getUrlSite();
1246  if ($descriptif OR $url_site OR $nom_site) {
1247      echo "<p><div align='left' style='padding: 5px; border: 1px dashed #aaaaaa; background-color: #e4e4e4;' $dir_lang>";
1248      echo "<font size=2 face='Verdana,Arial,Sans,sans-serif'>";
1249      /********** Modification elebescond@clever-age.com ********************/
1250      $texte_case = ($descriptif) ? "{{"._T('art_info_descriptif', null, $articleMetier->getRubriqueId())."}} $descriptif\n\n" : '';
1251      /*
1252      $texte_case = ($descriptif) ? "{{"._T('info_descriptif')."}} $descriptif\n\n" : '';
1253      */
1254      /********** Fin modification elebescond@clever-age.com ********************/
1255      $texte_case .= ($nom_site.$url_site) ? "{{"._T('info_urlref')."}} [".$nom_site."->".$url_site."]" : '';
1256      echo propre($texte_case);
1257      echo "</font>";
1258      echo "</div>";
1259  }
1260  
1261  if ($statut_article == 'prop') {
1262      /********** Modification elebescond@clever-age.com ********************/
1263      echo "<P><FONT FACE='Verdana,Arial,Sans,sans-serif' SIZE=2 COLOR='red'><B>"._T('art_text_article_propose_publication', null, $articleMetier->getRubriqueId())."</B></FONT></P>";
1264      /*
1265      echo "<P><FONT FACE='Verdana,Arial,Sans,sans-serif' SIZE=2 COLOR='red'><B>"._T('text_article_propose_publication')."</B></FONT></P>";
1266      */
1267      /********** Fin modification elebescond@clever-age.com ********************/
1268  }
1269  
1270  echo "</td>";
1271  
1272  
1273  
1274  if ($flag_editable) {
1275      echo "<td><img src='img_pack/rien.gif' width=5></td>\n";
1276      echo "<td align='center'>";
1277      //-----------MODIFICATION CLEVER AGE-----------
1278      if (lire_meta('articles_modif') != 'non') {
1279          $flag_modif = !($articleMetier->hasLastModified($connect_id_auteur));
1280          $date_diff = $articleMetier->whenWasModified();
1281          $auteur_modif = $articleMetier->getAuteurModif();
1282          if ($flag_modif) {
1283              $nom_auteur_modif = $articleMetier->getLastModifiedUserName();
1284          }
1285  
1286      }
1287  
1288  
1289      $authorization = & recuperer_instance_authorization('modifierArticle', $GLOBALS['connect_id_auteur'], array ('id_article' => $id_article));
1290      if ($authorization->isAuthorizedAction()) {
1291          /******* Modification MAPPING guillaume.grason@diplomatie.gouv.fr *******/
1292          if ($statut_article == 'mappe' || $statut_article == 'map_off') {
1293              icone(_T('art_icone_modifier_mapping', null, $articleMetier->getRubriqueId()), "mappings_edit.php?id_article=$id_article", "article-24.gif", "edit.gif");
1294              if ($flag_modif) {
1295                  echo "<font face='arial,helvetica,sans-serif' size='2'>"._T('avis_mapping_modifie', array ('nom_auteur_modif' => $nom_auteur_modif, 'date_diff' => $date_diff))."</font>";
1296                  echo aide("artmodif");
1297              }
1298          }
1299          else {
1300              icone(_T('art_icone_modifier_article', null, $articleMetier->getRubriqueId()), "articles_edit.php?id_article=$id_article", "article-24.gif", "edit.gif");
1301              if ($flag_modif) {
1302                  echo "<font face='arial,helvetica,sans-serif' size='2'>"._T('avis_article_modifie', array ('nom_auteur_modif' => $nom_auteur_modif, 'date_diff' => $date_diff))."</font>";
1303                  echo aide("artmodif");
1304              }
1305          }
1306          /*
1307          if ($flag_modif) {
1308              icone(_T('art_icone_modifier_article', null, $articleMetier->getRubriqueId()), "articles_edit.php3?id_article=$id_article", "article-24.gif", "edit.gif");
1309              echo "<font face='arial,helvetica,sans-serif' size='2'>"._T('avis_article_modifie', array ('nom_auteur_modif' => $nom_auteur_modif, 'date_diff' => $date_diff))."</font>";
1310              echo aide("artmodif");
1311          } else {
1312              icone(_T('art_icone_modifier_article', null, $articleMetier->getRubriqueId()), "articles_edit.php3?id_article=$id_article", "article-24.gif", "edit.gif");
1313          }
1314          */
1315          /******* Fin Modification MAPPING guillaume.grason@diplomatie.gouv.fr *******/
1316      }
1317      echo "</td>";
1318  }
1319  echo "</tr></table>\n";
1320  
1321  echo "<div class='serif' align='left'>";
1322  
1323  
1324  //
1325  // Affichage date redac et date publi
1326  //
1327  
1328  if ($flag_editable AND $options == 'avancees') {
1329      debut_cadre_enfonce();
1330  
1331      echo "<FORM ACTION='articles.php' METHOD='get'>";
1332      echo "<INPUT TYPE='hidden' NAME='id_article' VALUE='$id_article'>";
1333  
1334      /* Modification Clever Age, elebescond */
1335      $authorization = & recuperer_instance_authorization('modifierDatePublicationArticle', $GLOBALS['connect_id_auteur'], array ('id_article' => $id_article));
1336      if ($authorization->isAuthorizedAction()) {
1337          if ( $datetime = $articleMetier->getDate() ) {
1338              list($date, $time) = explode( ' ', $datetime );
1339              list($annee, $mois, $jour) = explode( '-', $date );
1340              list($heure, $minute, $seconde) = explode( ':', $time );
1341              $heure = $heure ? $heure : '00';
1342              $minute = $minute ? $minute : '00';
1343          }
1344          /*
1345          if ($statut_article == 'publie') {
1346          */
1347          /* Fin Modification Clever Age */
1348          echo "<TABLE CELLPADDING=5 CELLSPACING=0 BORDER=0 WIDTH=100% BACKGROUND=''>";
1349          echo "<TR><TD BGCOLOR='$couleur_foncee' COLSPAN=2><FONT SIZE=1 COLOR='#FFFFFF'><B>"._T('texte_date_publication_article');
1350          echo aide("artdate");
1351          echo "</B></FONT></TD></TR>";
1352          echo "<TR><TD ALIGN='center'>";
1353          echo "<SELECT NAME='jour' SIZE=1 CLASS='fondl'>";
1354          afficher_jour($jour);
1355          echo "</SELECT> ";
1356          echo "<SELECT NAME='mois' SIZE=1 CLASS='fondl'>";
1357          afficher_mois($mois);
1358          echo "</SELECT> ";
1359          echo "<SELECT NAME='annee' SIZE=1 CLASS='fondl'>";
1360          afficher_annee($annee);
1361          echo "</SELECT>";
1362          if ( lire_meta('activer_horaire_publication_etendu') == 'oui' ) {
1363              echo "<br /><SELECT NAME='heure' SIZE=1 CLASS='fondl'>";
1364              afficher_heure($heure);
1365              echo "</SELECT> ";
1366              echo "<SELECT NAME='minute' SIZE=1 CLASS='fondl'>";
1367              afficher_minute($minute);
1368              echo "</SELECT> ";
1369          }
1370          /******* Ajout MAE guillaume.grason@diplomatie.gouv.fr *******/
1371          else {
1372              echo "<input type='hidden' name='heure' value='00'>";
1373              echo "<input type='hidden' name='minute' value='00'>";
1374          }
1375          /******* Fin Ajout MAE guillaume.grason@diplomatie.gouv.fr *******/
1376          echo "</TD><TD ALIGN='right'>";
1377          echo "<INPUT TYPE='submit' NAME='Changer' CLASS='fondo' VALUE='"._T('bouton_changer')."'>";
1378          echo "</TD></TR></TABLE>";
1379      } else {
1380          echo "<TABLE CELLPADDING=5 CELLSPACING=0 BORDER=0 WIDTH=100% BACKGROUND=''>";
1381          /******* Modification MAPPING guillaume.grason@diplomatie.gouv.fr *******/
1382          if ($statut_article == 'mappe' || $statut_article == 'map_off')
1383              echo "<TR><TD BGCOLOR='$couleur_foncee'><FONT SIZE=1 COLOR='#FFFFFF' face='Verdana,Arial,Sans,sans-serif'><b>"._T('texte_date_creation_mapping')." : ";
1384          else
1385              echo "<TR><TD BGCOLOR='$couleur_foncee'><FONT SIZE=1 COLOR='#FFFFFF' face='Verdana,Arial,Sans,sans-serif'><b>"._T('texte_date_creation_article')." : ";
1386          //echo "<TR><TD BGCOLOR='$couleur_foncee'><FONT SIZE=1 COLOR='#FFFFFF' face='Verdana,Arial,Sans,sans-serif'><b>"._T('texte_date_creation_article')." : ";
1387          /******* Fin Modification MAPPING guillaume.grason@diplomatie.gouv.fr *******/
1388          echo majuscules(affdate($date))."</font></B></FONT>".aide('artdate')."</TD></TR>";
1389          //echo majuscules(affdate_base($date, 'complet'))."</font></B></FONT>".aide('artdate')."</TD></TR>";
1390            echo "</TABLE>";
1391      }
1392  
1393      /* Modification Clever Age, elebescond */
1394      $authorization = & recuperer_instance_authorization('modifierDateAnterieurPublicationArticle', $GLOBALS['connect_id_auteur'], array ('id_article' => $id_article));
1395      if ($authorization->isAuthorizedAction())
1396          /* Fin Modification Clever Age */
1397          if (($options == 'avancees' AND $articles_redac != 'non') OR ($annee_redac.'-'.$mois_redac.'-'.$jour_redac != '0000-00-00')) {
1398              echo '<p><table cellpadding="5" cellspacing="0" border="0" width="100%">';
1399              echo '<tr><td bgcolor="#cccccc" colspan="2"><font size="1" color="#000000" face="Verdana,Arial,Sans,sans-serif">';
1400              if ($annee_redac.'-'.$mois_redac.'-'.$jour_redac != '0000-00-00')
1401                  $date_affichee = ' : '.majuscules(affdate($date_redac));
1402              echo bouton_block_invisible('dateredac');
1403              echo "<b>"._T('texte_date_publication_anterieure').$date_affichee."</b></font></td></tr></table>";
1404              echo debut_block_invisible('dateredac');
1405              echo '<table cellpadding="5" cellspacing="0" border="0" width="100%">';
1406              echo '<tr><td align="left">';
1407              echo '<input type="radio" name="avec_redac" value="non" id="avec_redac_on"';
1408              if ($annee_redac.'-'.$mois_redac.'-'.$jour_redac == '0000-00-00')
1409                  echo ' checked="checked"';
1410              echo ' /> <label for="avec_redac_on">'._T('texte_date_publication_anterieure_nonaffichee').'</label>';
1411              echo '<br /><input type="radio" name="avec_redac" value="oui" id="avec_redac_off"';
1412              if ($annee_redac.'-'.$mois_redac.'-'.$jour_redac != '0000-00-00')
1413                  echo ' checked="checked"';
1414              echo ' /> <label for="avec_redac_off">'._T('bouton_radio_afficher').' :</label> ';
1415  
1416              echo '<select name="jour_redac" class="fondl">';
1417              afficher_jour($jour_redac);
1418              echo '</select> &nbsp;';
1419              echo '<select name="mois_redac" class="fondl">';
1420              afficher_mois($mois_redac);
1421              echo '</select> &nbsp;';
1422              echo '<input type="text" name="annee_redac" class="fondl" value="'.$annee_redac.'" size="5" maxlength="4" />';
1423  
1424              echo '</td><td align="right">';
1425              echo '<input type="submit" name="Changer" class="fondo" value="'._T('bouton_changer').'" />';
1426              echo aide('artdate_redac');
1427              echo '</td></tr>';
1428              echo '</table>';
1429              echo fin_block();
1430          }
1431  
1432      echo "</FORM>";
1433      fin_cadre_enfonce();
1434  } else
1435      if ($statut_article == 'publie') {
1436          echo "<CENTER>".affdate($date)."</CENTER><P>";
1437      }
1438  
1439  
1440  // Modification Aurelien Vialet <avialet@clever-age.com>
1441  // Gestion du versionning des articles
1442  if ($activer_version_articles == 'oui') {
1443  
1444      if ($articleMetier->getVersionId() == 0) {
1445         $aArticlesVersion = $articleMetier->getAllForVersion(' id_article');
1446         if (count($aArticlesVersion) > 0) {
1447          debut_cadre_enfonce("article_new_version-24.png");
1448      
1449          echo "<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=3 WIDTH=100% BACKGROUND=''><TR><TD BGCOLOR='#EEEECC' class='serif2'>";
1450          if ($flag_editable AND $options == 'avancees') {
1451              echo bouton_block_invisible("versionarticle");
1452          }
1453          echo "<B>"._T('article_version')."</B>";
1454          echo aide("#");
1455          echo "</TD></TR></TABLE>";
1456          echo debut_block_invisible("versionarticle");
1457          echo "<table bgcolor='#FFFFFF' width='100%'>";
1458          while (list (, $val) = each($aArticlesVersion)) {
1459              echo "<tr>";
1460              echo "<td class='arial2'>".majuscules(affdate($val->getDate()))."</td>";
1461              echo "<td class='arial2'><a href='articles.php?id_article="
1462              .$val->getArticleId()."'>"
1463              .$val->getArticleId().". "
1464              .$val->getTitre()
1465              ."</a></td>";
1466              echo "</tr>";
1467          }
1468          echo "</table>";
1469          
1470          fin_cadre_enfonce();
1471          }
1472      }
1473  }
1474  //
1475  // Fin de la gestion des versions de l'article
1476  //
1477  
1478  
1479  //
1480  // Gestion des historique d'une version d'un article
1481  //
1482  if ($options == 'avancees') {
1483  if (($activer_histo_articles == 'oui') and ($articleMetier->getActiverHistorique() == 'oui') and $articleMetier->countHistorique() > 0) {
1484      $articleHisto = & recuperer_instance_article_historique();
1485      if (isset($articleHistoPurge)) {
1486          $articleHisto->purgeHisto($articleHistoPurge);
1487      }
1488      $aArticlesHisto = $articleHisto->loadHistoForArticle($articleMetier->getArticleId());
1489      
1490      debut_cadre_enfonce("article_history-24.png");
1491      echo "<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=3 WIDTH=100% BACKGROUND=''><TR><TD BGCOLOR='#EEEECC' class='serif2'>";
1492  //    if ($flag_editable AND $options == 'avancees') {
1493              echo bouton_block_invisible("historiquearticle");
1494  //}
1495      echo "<B>"._T('article_historique')."</B>";
1496      echo aide("#");
1497      echo "</TD></TR></TABLE>";
1498      echo debut_block_invisible("historiquearticle");
1499      
1500      //if (count($aArticlesHisto) > 0) {
1501      echo "<table bgcolor='#FFFFFF' width='100%' border=0>";
1502      if ($flag_editable) {
1503                  echo '<form action"articles.php" method="get">';
1504          echo '<input type="hidden" name="id_article" value="'.$articleMetier->getArticleId().'" >';
1505      }
1506      //$first = true;
1507      foreach ( $aArticlesHisto as $histo ) {
1508          // En cas d'erreur...
1509          if ( PEAR::isError($histo) ) { die( $histo->getMessage() ); }
1510  
1511          // R?cup?ration de l'auteur de l'article
1512          $auteur_histo =& recuperer_instance_auteur();
1513          $status = $auteur_histo->load( $histo->getAuteurId() );
1514          
1515          if ( PEAR::isError($status) ) {
1516              $str_auteur = 'Auteur inconnu';
1517          } else {
1518              $str_auteur = "<a href=\"".$auteur_histo->getUrl()."\">". $auteur_histo->getNom()."</a>";
1519          }
1520         
1521          echo "<tr>";
1522          echo "<td class='arial2'>".affdate_base($histo->getDate(), 'complet')
1523              ." par ". $str_auteur .'</td>';
1524                  echo "<td class='arial2'><a href='articles_texte_compare.php?id_article="
1525              .$articleMetier->getArticleId()."&id_article_historique=".$histo->getArticleHistoriqueId()."'>"._T('comparer')."</a> ";
1526                  echo "<td class='arial2'><a href='articles_texte_compare.php?id_article_historique=".$histo->getArticleHistoriqueId()."'>"._T('voir')."</a> ";
1527                  //echo "<a href='articles.php3?id_article=".$articleMetier->getArticleId()."&id_article_historique_replace=".$histo->getArticleHistoriqueId()."'>"._T('remplacer')."</a> ";
1528          if ($flag_editable) {
1529              echo "<td><input name='articleHistoPurge[]' type='checkbox' value='".$histo->getArticleHistoriqueId()."'></td>";
1530          }
1531          echo "</tr>";
1532              // }
1533      }
1534      echo "<tr>";
1535      if ($flag_editable) {
1536      echo '<td colspan="2" align="right"></td>'.
1537          '<td>'.
1538          '<input type="submit" name="Purger" class="fondo" value="'._T('bouton_purger').'" />'.
1539          '</td>'.
1540          '</tr>'.
1541          '</form>';
1542      }
1543      echo "</table>";
1544      //}
1545      fin_cadre_enfonce();
1546  }
1547  }
1548  
1549  //
1550  // Fin de la gestion de l'historique d'une version de l'article
1551  //
1552  
1553  
1554  
1555  //////////////////////////////////////////////////////
1556  // Liste des mots-cles de l'article
1557  //
1558  //-------------MODIFICATION CLEVER AGE elebescond
1559  $authorization = & recuperer_instance_authorization('modifierArticle', $GLOBALS['connect_id_auteur'], array ('id_article' => $id_article));
1560  if ($authorization->isAuthorizedAction()) {
1561      if ($options == 'avancees' AND $articles_mots != 'non') {
1562          formulaire_mots('articles_map', $id_article, $nouv_mot, $supp_mot, $cherche_mot, $flag_editable);
1563      }
1564  }
1565  /*
1566  if ($options == 'avancees' AND $articles_mots != 'non') {
1567      formulaire_mots('articles', $id_article, $nouv_mot, $supp_mot, $cherche_mot, $flag_editable);
1568  }
1569  */
1570  //-------------Fin MODIFICATION CLEVER AGE elebescond
1571  
1572  
1573  //////////////////////////////////////////////////////
1574  // Corps de l'article
1575  //
1576  
1577  echo "\n\n<div align='justify'>";
1578  
1579  if ($virtuel) {
1580      debut_boite_info();
1581      echo _T('info_renvoi_article')." ".propre("<center>[->$virtuel]</center>");
1582      fin_boite_info();
1583  } else {
1584      echo "<div $dir_lang><b>";
1585      echo justifier(propre($chapo));
1586      echo "</b></div>\n\n";
1587  
1588      echo "<div $dir_lang>".justifier(propre($texte))."</div>";
1589  
1590      if ($ps) {
1591          echo debut_cadre_enfonce();
1592          echo "<div $dir_lang><font size=2 face='Verdana,Arial,Sans,sans-serif'>";
1593          /***************** Modification elebescond@clever-age.com ***********/
1594          echo justifier("<b>"._T('art_info_ps', null, $articleMetier->getRubriqueId())."</b> ".propre($ps));
1595          /*
1596          echo justifier("<b>"._T('info_ps')."</b> ".propre($ps));
1597          */
1598          /***************** Fin modification elebescond@clever-age.com ***********/
1599          echo "</font></div>";
1600          echo fin_cadre_enfonce();
1601      }
1602  
1603      if ($les_notes) {
1604          echo debut_cadre_relief();
1605          echo "<div $dir_lang><font size=2>";
1606          /***************** Modification elebescond@clever-age.com ***********/
1607          echo justifier("<b>"._T('art_info_notes', null, $articleMetier->getRubriqueId())."&nbsp;:</b> ".$les_notes);
1608          /*
1609          echo justifier("<b>"._T('info_notes')."&nbsp;:</b> ".$les_notes);
1610          */
1611          /***************** Fin modification elebescond@clever-age.com ***********/
1612          echo "</font></div>";
1613          echo fin_cadre_relief();
1614      }
1615  
1616      if ($champs_extra AND $extra) {
1617          include_ecrire ("inc_extra.php");
1618          extra_affichage($extra, "articles");
1619      }
1620  }
1621  
1622  //
1623  // Bouton "modifier cet article"
1624  //
1625  
1626  if ($flag_editable) {
1627      echo "\n\n<div align=right><br>";
1628  
1629      if ($date_diff >= 0 AND $date_diff < 60 AND $auteur_modif > 0 AND $auteur_modif != $connect_id_auteur) {
1630          //-------------MODIFICATION CLEVER AGE elebescond
1631          // $auteurMetier = & recuperer_instance_auteur();
1632          $loadOK = $auteurMetier->load($auteur_modif);
1633          if (PEAR :: isError($loadOK)) {
1634              die($loadOK->getMessage());
1635          } else {
1636              $nom_auteur_modif = $auteurMetier->getNom();
1637          }
1638          /*
1639          $query_auteur = "SELECT * FROM spip_auteurs WHERE id_auteur='$auteur_modif'";
1640          $result_auteur = spip_query($query_auteur);
1641          while ($row_auteur = spip_fetch_array($result_auteur)) {
1642              $nom_auteur_modif = $row_auteur["nom"];
1643          }
1644          */
1645          //-------------FIN MODIFICATION
1646          //-------------MODIFICATION CLEVER AGE elebescond
1647          $authorization = & recuperer_instance_authorization('modifierArticle', $GLOBALS['connect_id_auteur'], array ('id_article' => $id_article));
1648          if ($authorization->isAuthorizedAction()) {
1649              /******* Modification MAPPING guillaume.grason@diplomatie.gouv.fr *******/
1650              if ($statut_article == 'mappe' || $statut_article == 'map_off') {
1651                  icone(_T('art_icone_modifier_mapping', null, $articleMetier->getRubriqueId()), "mappings_edit.php?id_article=$id_article", "warning-24.gif");
1652              }
1653              else {
1654                  icone(_T('art_icone_modifier_article', null, $articleMetier->getRubriqueId()), "articles_edit.php?id_article=$id_article", "warning-24.gif", "");
1655              }
1656              //icone(_T('art_icone_modifier_article', null, $articleMetier->getRubriqueId()), "articles_edit.php3?id_article=$id_article", "warning-24.gif", "");
1657              /******* Fin Modification MAPPING guillaume.grason@diplomatie.gouv.fr *******/
1658              echo "<font face='arial,helvetica,sans-serif' size=1>"._T('art_texte_travail_article', array ('nom_auteur_modif' => $nom_auteur_modif, 'date_diff' => $date_diff), $articleMetier->getRubriqueId())."</font>";
1659              echo aide("artmodif");
1660          }
1661          /*
1662          icone(_T('icone_modifier_article'), "articles_edit.php3?id_article=$id_article", "warning-24.gif", "");
1663          echo "<font face='arial,helvetica,sans-serif' size=1>"._T('texte_travail_article', array('nom_auteur_modif' => $nom_auteur_modif, 'date_diff' => $date_diff))."</font>";
1664          echo aide("artmodif");
1665          */
1666          //-------------FIN MODIFICATION
1667      } else {
1668          //-------------MODIFICATION CLEVER AGE elebescond
1669          $authorization = & recuperer_instance_authorization('modifierArticle', $GLOBALS['connect_id_auteur'], array ('id_article' => $id_article));
1670          if ($authorization->isAuthorizedAction()) {
1671              /******* Modification MAPPING guillaume.grason@diplomatie.gouv.fr *******/
1672              if ($statut_article == 'mappe' || $statut_article == 'map_off') {
1673                  icone(_T('art_icone_modifier_mapping', null, $articleMetier->getRubriqueId()), "mappings_edit.php?id_article=$id_article", "article-24.gif", "edit.gif");
1674              }
1675              else {
1676                  icone(_T('art_icone_modifier_article', null, $articleMetier->getRubriqueId()), "articles_edit.php?id_article=$id_article", "article-24.gif", "edit.gif");
1677              }
1678              //icone(_T('art_icone_modifier_article', null, $articleMetier->getRubriqueId()), "articles_edit.php3?id_article=$id_article", "article-24.gif", "edit.gif");
1679              /******* Fin Modification MAPPING guillaume.grason@diplomatie.gouv.fr *******/
1680          }
1681          /*
1682          icone(_T('icone_modifier_article'), "articles_edit.php3?id_article=$id_article", "article-24.gif", "edit.gif");*/
1683          //-------------FIN MODIFICATION
1684  
1685      }
1686  
1687      echo "</div>";
1688  }
1689  
1690  
1691  echo "</DIV>";
1692  
1693  fin_cadre_relief();
1694  
1695  
1696  
1697  
1698  // choses lentes reportees en fin de page
1699  @ flush();
1700  
1701  // ajout Olivier Mansour
1702  /* 
1703  if ($jour && $flag_editable) {
1704      if (lire_meta("post_dates") != 'non')
1705          calculer_dates_rubriques();
1706  }
1707  */
1708  // a quoi ca sert ? ces lignes ? 
1709  /*
1710  if ($titre && !$ajout_forum && $flag_editable && !$ok_nouveau_statut) {
1711      calculer_rubriques();
1712  }
1713  */
1714  
1715  if ($ok_nouveau_statut) {
1716  //    calculer_rubriques();
1717      if ($statut_nouv == 'publie' AND $statut_ancien != $statut_nouv) {
1718          include_ecrire ("inc_mail.php");
1719          envoyer_mail_publication($id_article);
1720      }
1721      if ($statut_nouv == "prop" AND $statut_ancien != $statut_nouv AND $statut_ancien != 'publie') {
1722          include_ecrire ("inc_mail.php");
1723          envoyer_mail_proposition($id_article);
1724      }
1725      if ($statut_nouv == 'publie' AND $statut_nouv != $statut_ancien)
1726          $reindexer = true;
1727  }
1728  
1729  if ($reindexer AND (lire_meta('activer_moteur') == 'oui')) {
1730      include_ecrire ("inc_index.php");
1731      indexer_article($id_article);
1732  }
1733  
1734  fin_page();
1735  
1736  ?>


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