[ 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_edit.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  include  ("inc.php");
  20  
  21  include_ecrire  ("inc_documents.php");
  22  
  23  require_once  'inc_presentation.php';
  24  /* Ajout Clever Age / Antoine Angénieux / Couche métier */
  25  require_once (dirname(__FILE__). "/include/bd/inc_article_factory.php");
  26  require_once (dirname(__FILE__). "/include/bd/inc_document_factory.php");
  27  /* fin zone de modification Clever Age */
  28  
  29  include_ecrire  ("inc_barre.php");
  30  
  31  $articles_surtitre = lire_meta("articles_surtitre");
  32  $articles_soustitre = lire_meta("articles_soustitre");
  33  $articles_descriptif = lire_meta("articles_descriptif");
  34  $articles_urlref = lire_meta("articles_urlref");
  35  $articles_chapeau = lire_meta("articles_chapeau");
  36  $articles_ps = lire_meta("articles_ps");
  37  $articles_redac = lire_meta("articles_redac");
  38  $articles_mots = lire_meta("articles_mots");
  39  $articles_modif = lire_meta("articles_modif");
  40  
  41  // securite
  42  $id_article = intval($id_article);
  43  $id_rubrique = intval($id_rubrique);
  44  $lier_trad = intval($lier_trad);
  45  unset ($flag_editable);
  46  ?>
  47  
  48  <script type) "text/javascript">
  49  /** Pour le passage en mode wysiwyg, il faut changer
  50   * l'action du formulaire pour conserver les modifs déjà effectuées
  51   * par l'utilisateur. */
  52  function switchToWYSIWYG() {
  53    var form = document.forms['formulaire'];
  54    form.action = 'articles_edit.php?mode=wysiwyg&id_article='+<?php echo $id_article; ?>;
  55    form.submit();
  56  };
  57  </script>
  58  
  59  <?php
  60  
  61  //
  62  // Creation de l'objet article
  63  //
  64  
  65  # -- Edition d'un article existant
  66  if ($id_article) {
  67  
  68      //-----------MODIFICATION CLEVER AGE
  69      $articleMetier = &recuperer_instance_article();
  70      $loadOK = $articleMetier->load($id_article);
  71  
  72      if (PEAR::isError($loadOK)) {
  73          die ($loadOK->getMessage());
  74      }
  75  
  76      //--------Zone de modifications Clever Age elebescond-------------
  77      $authorization = &recuperer_instance_authorization('isManagedRubriqueByAuteurId', $GLOBALS['connect_id_auteur'],
  78                                                         array('rubriqueId' => $articleMetier->getRubriqueId()));
  79  
  80      if (!$authorization->isAuthorizedAction()) {
  81          echo _T('avis_acces_interdit');
  82          exit;
  83      }
  84  
  85      if ($new_version != 'oui') {
  86          $authorization = &recuperer_instance_authorization('modifierArticle', $GLOBALS['connect_id_auteur'],
  87                                                             array('id_article' => $id_article));
  88          if (!$authorization->isAuthorizedAction()) {
  89              echo _T('avis_acces_interdit');
  90              exit;
  91          }
  92      }
  93      else {
  94          $authorization = &recuperer_instance_authorization('creerVersionArticle', $GLOBALS['connect_id_auteur'],
  95                                                             array('id_article' => $id_article));
  96          if (!$authorization->isAuthorizedAction()) {
  97              echo _T('avis_acces_interdit');
  98              exit;
  99          }
 100      }
 101  
 102      //--------Fin Zone de modifications Clever Age elebescond-------------
 103      //$articleMetier->setModificationDate('NOW()');
 104      $maDate = new Date();
 105      $articleMetier->setModificationDate($maDate->getDate(DATE_FORMAT_ISO));
 106      $articleMetier->setAuteurModif($connect_id_auteur);
 107  
 108      $updateOK = $articleMetier->update();
 109  
 110      if (PEAR::isError($updateOK)) {
 111          die ($updateOK->getMessage());
 112      }
 113  
 114      $id_article_bloque = $id_article; // message pour inc_presentation
 115  
 116      // Recuperer les donnees de l'article
 117      $id_article = $articleMetier->getArticleId();
 118      $surtitre = $articleMetier->getSurtitre();
 119      $titre = $articleMetier->getTitre();
 120      $soustitre = $articleMetier->getSoustitre();
 121      $id_rubrique = $articleMetier->getRubriqueId();
 122      $descriptif = $articleMetier->getDescriptif();
 123  
 124      // TODO : les methodes getNomsSite et getUrlSite semblent ne rien retourner
 125      $nom_site = $articleMetier->getNomSite();
 126      $url_site = $articleMetier->getUrlSite();
 127  
 128      $chapo = $articleMetier->getChapo();
 129      $texte = $articleMetier->getTexte();
 130      $ps = $articleMetier->getPs();
 131      $date = $articleMetier->getDate();
 132      $statut = $articleMetier->getStatut();
 133      $date_redac = $articleMetier->getRedactionDate();
 134  
 135      if (ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})", $date_redac, $regs)) {
 136          $mois_redac = $regs[2];
 137          $jour_redac = $regs[3];
 138          $annee_redac = $regs[1];
 139          if ($annee_redac > 4000)
 140              $annee_redac -= 9000;
 141      }
 142  
 143      $extra = $articleMetier->getExtra();
 144  
 145      $flag_auteur = $articleMetier->isAuthor($connect_id_auteur);
 146  
 147      $flag_editable = true;
 148  }
 149  
 150  # -- Création d'un nouvel article
 151  else if ($new == 'oui') {
 152  
 153      // Création d'un traduction d'un article existant
 154      if ($lier_trad) {
 155          // Pas de langue choisie par defaut
 156          $changer_lang = '';
 157  
 158          // Recuperer les donnees de la traduction
 159          $articleMetier = &recuperer_instance_article();
 160          $loadOK = $articleMetier->load($lier_trad);
 161  
 162          if (PEAR::isError($loadOK)) {
 163              die ($loadOK->getMessage());
 164          }
 165          else {
 166              $surtitre = $articleMetier->getSurtitre();
 167              $titre = filtrer_entites(_T('info_nouvelle_traduction')). ' ' . $articleMetier->getTitre();
 168              $soustitre = $articleMetier->getSoustitre();
 169              $id_rubrique_trad = $articleMetier->getRubriqueId();
 170              $descriptif = $articleMetier->getDescriptif();
 171              $nom_site = $articleMetier->getNomSite();
 172              $url_site = $articleMetier->getUrlSite();
 173              $chapo = $articleMetier->getChapo();
 174              $texte = $articleMetier->getTexte();
 175              $ps = $articleMetier->getPs();
 176              $date = $articleMetier->getDate();
 177              $date_redac = $articleMetier->getRedactionDate();
 178  
 179              if (ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})", $date_redac, $regs)) {
 180                  $mois_redac = $regs[2];
 181                  $jour_redac = $regs[3];
 182                  $annee_redac = $regs[1];
 183                  if ($annee_redac > 4000)
 184                      $annee_redac -= 9000;
 185              }
 186              $extra = $articleMetier->getExtra();
 187          }
 188  
 189          $langues_autorisees = lire_meta('langues_multilingue');
 190  
 191          // Regler la langue, si possible
 192          if (ereg(",$spip_lang,", ",$langues_autorisees,")) {
 193              if (lire_meta('multi_articles') == 'oui') {
 194                  // Si le menu de langues est autorise sur les articles,
 195                  // on peut changer la langue quelle que soit la rubrique
 196                  $changer_lang = $spip_lang;
 197              }
 198              else if (lire_meta('multi_rubriques') == 'oui') {
 199                  // Chercher la rubrique la plus adaptee pour accueillir l'article
 200                  if (lire_meta('multi_secteurs') == 'oui')
 201                      $id_parent = 0;
 202                  else {
 203                      $rubriqueMetier = &recuperer_instance_rubrique();
 204                      $loadOK = $rubriqueMetier->load($id_rubrique);
 205                      if (PEAR::isError($loadOK)) {
 206                          die ($loadOK->getMessage());
 207                      }
 208                      else {
 209                          $id_parent = $rubriqueMetier->getParentId();
 210                      }
 211                  }
 212                  $rubriqueMetier = &recuperer_instance_rubrique();
 213                  $rubriques = $rubriqueMetier->getAllForLangAndParentId($spip_lang, $id_parent);
 214  
 215                  if (PEAR::isError($rubriques)) {
 216                      die ($rubriques->getMessage());
 217                  }
 218                  if (list(, $rubrique) = each($rubriques)) {
 219                      $id_rubrique = $id_secteur = $rubrique->getRubriqueId();
 220                      $changer_lang = 'herit';
 221                  }
 222              }
 223          }
 224      }
 225      else {
 226          // Nouvel article : titre par defaut
 227          $titre = filtrer_entites(_T('art_info_nouvel_article', null, $id_rubrique));
 228      }
 229  
 230      if (!$id_secteur) {
 231          $rubriqueMetier = &recuperer_instance_rubrique();
 232          $loadOK = $rubriqueMetier->load($id_rubrique);
 233          if (PEAR::isError($loadOK)) {
 234              $id_secteur = null;
 235          }
 236          else {
 237              $id_secteur = $rubriqueMetier->getSecteurId();
 238          }
 239      }
 240      $flag_editable = true;
 241  }
 242  
 243  if (!$flag_editable) {
 244      die ("<H3>" . _T('info_acces_interdit'). "</H3>");
 245  }
 246  
 247  if ($id_article && $id_document) {
 248      $flag_document_editable = $articleMetier->hasDocument($id_document);
 249  }
 250  else {
 251      $flag_document_editable = false;
 252  }
 253  
 254  $modif_document = $GLOBALS['modif_document'];
 255  
 256  if ($modif_document == 'oui' AND $flag_document_editable) {
 257      $documentMetier = &recuperer_instance_document();
 258      $loadOK = $documentMetier->load($id_document);
 259  
 260      if (PEAR::isError($loadOK)) {
 261          die ($loadOK->getMessage());
 262      }
 263  
 264      if ($documentMetier->getMode() == 'document') {
 265          if ($titre_document != '') {
 266              $documentMetier->setTitre($titre_document);
 267          }
 268          else {
 269              if ($titre_document == '' && $descriptif_document != '' && $documentMetier->getTitre() == '') {
 270                  $titre_document_array = explode('/', $documentMetier->getFichier());
 271                  $titre_document = $titre_document_array[2];
 272                  $titre_document_array = explode('.', $titre_document);
 273  
 274                  $titre_document = strtr($titre_document_array[0], "_", " ");
 275                  $documentMetier->setTitre($titre_document);
 276              }
 277          }
 278      }
 279      else {
 280          if (($titre_document == '' && $descriptif_document == '') || ($titre_document != '')) {
 281              $documentMetier->setTitre($titre_document);
 282          }
 283          else {
 284              if ($titre_document == '' && $descriptif_document != '' && $documentMetier->getTitre() == '') {
 285                  $titre_document_array = explode('/', $documentMetier->getFichier());
 286                  $titre_document = $titre_document_array[2];
 287                  $titre_document_array = explode('.', $titre_document);
 288  
 289                  $titre_document = strtr($titre_document_array[0], "_", " ");
 290                  $documentMetier->setTitre($titre_document);
 291              }
 292          }
 293      }
 294  
 295      $documentMetier->setDescriptif($descriptif_document);
 296  
 297      if ($largeur_document AND $hauteur_document) {
 298          $documentMetier->setLargeur($largeur_document);
 299          $documentMetier->setHauteur($hauteur_document);
 300      }
 301  
 302      $updateOK = $documentMetier->update();
 303      if (PEAR::isError($updateOK)) {
 304          die ($updateOK->getMessage());
 305      }
 306  }
 307  
 308  //
 309  // Gestion des textes trop longs (limitation brouteurs)
 310  //
 311  
 312  function coupe_trop_long ($texte) { // utile pour les textes > 32ko
 313      if (strlen($texte) > 28 * 1024) {
 314          $texte = str_replace("\r\n", "\n", $texte);
 315          $pos = strpos($texte, "\n\n\n", 28 * 1024); // coupe para > 28 ko
 316  
 317          if ($pos > 0 and $pos < 32 * 1024) {
 318              $debut = substr($texte, 0, $pos);
 319              $suite = substr($texte, $pos);
 320          }
 321          else {
 322              $pos = strpos($texte, " ", 28 * 1024); // sinon coupe espace
 323              if (($pos > 0 and $pos < 32 * 1024)) {
 324                  $debut = substr($texte, 0, $pos);
 325                  $suite = substr($texte, $pos);
 326              }
 327              else {
 328                  $pos = 28 * 1024; // au pire
 329                  $debut = substr($texte, 0, $pos);
 330                  $suite = substr($texte, $pos);
 331              }
 332          }
 333          return (array($debut, $suite));
 334      }
 335      else
 336          return (array($texte, ''));
 337  }
 338  
 339  debut_page(_T('titre_page_articles_edit', array('titre' => $titre)), "documents", "articles");
 340  
 341  debut_grand_cadre();
 342  
 343  afficher_parents ($id_rubrique);
 344  
 345  $parents
 346      = "~ <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;
 347  $parents = ereg_replace("~", "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;", $parents);
 348  $parents = ereg_replace("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ", "", $parents);
 349  
 350  echo "$parents";
 351  
 352  fin_grand_cadre();
 353  
 354  debut_gauche();
 355  
 356  //
 357  // Pave "documents associes a l'article"
 358  //
 359  
 360  if ($new != 'oui') {
 361      afficher_documents_colonne($id_article, 'article', $flag_editable);
 362  }
 363  
 364  debut_droite();
 365  debut_cadre_formulaire();
 366  
 367  function mySel ($varaut, $variable) {
 368      $retour = " VALUE=\"$varaut\"";
 369  
 370      if ($variable == $varaut) {
 371          $retour .= " SELECTED";
 372      }
 373  
 374      return $retour;
 375  }
 376  
 377  function my_sel ($num, $tex, $comp) {
 378      if ($num == $comp) {
 379          echo "<OPTION VALUE='$num' SELECTED>$tex\n";
 380      }
 381      else {
 382          echo "<OPTION VALUE='$num'>$tex\n";
 383      }
 384  }
 385  
 386  function afficher_mois ($mois) {
 387      my_sel("01", _T('date_mois_1'), $mois);
 388      my_sel("02", _T('date_mois_2'), $mois);
 389      my_sel("03", _T('date_mois_3'), $mois);
 390      my_sel("04", _T('date_mois_4'), $mois);
 391      my_sel("05", _T('date_mois_5'), $mois);
 392      my_sel("06", _T('date_mois_6'), $mois);
 393      my_sel("07", _T('date_mois_7'), $mois);
 394      my_sel("08", _T('date_mois_8'), $mois);
 395      my_sel("09", _T('date_mois_9'), $mois);
 396      my_sel("10", _T('date_mois_10'), $mois);
 397      my_sel("11", _T('date_mois_11'), $mois);
 398      my_sel("12", _T('date_mois_12'), $mois);
 399  }
 400  
 401  function afficher_jour ($jour) {
 402      for ($i = 1; $i < 32; $i++) {
 403          if ($i < 10) {
 404              $aff = "&nbsp;" . $i;
 405          }
 406          else {
 407              $aff = $i;
 408          }
 409          my_sel($i, $aff, $jour);
 410      }
 411  }
 412  
 413  echo "\n<table cellpadding=0 cellspacing=0 border=0 width='100%'>";
 414  echo "<tr width='100%'>";
 415  echo "<td>";
 416  
 417  if ($lier_trad)
 418      icone(_T('icone_retour'), "articles.php?id_article=$lier_trad", "article-24.gif", "rien.gif");
 419  else
 420      icone(_T('icone_retour'), "articles.php?id_article=$id_article", "article-24.gif", "rien.gif");
 421  
 422  echo "</td>";
 423  echo "<td><img src='img_pack/rien.gif' width=10></td>\n";
 424  echo "<td width='100%'>";
 425  /******* Modification elebescond@clever-age.com *************/
 426  echo _T('art_texte_modifier_article', null, $id_rubrique);
 427  
 428  /******* Fin modification elebescond@clever-age.com *************/
 429  gros_titre ($titre);
 430  echo "</td></tr></table>";
 431  echo "<p>";
 432  
 433  echo "<P><HR><P>";
 434  
 435  $titre = entites_html($titre);
 436  $soustitre = entites_html($soustitre);
 437  $surtitre = entites_html($surtitre);
 438  
 439  $descriptif = entites_html($descriptif);
 440  $nom_site = entites_html($nom_site);
 441  $url_site = entites_html($url_site);
 442  $chapo = entites_html($chapo);
 443  $texte = entites_html($texte);
 444  $ps = entites_html($ps);
 445  
 446  $lien = 'articles.php';
 447  
 448  if ($id_article)
 449      $lien .= "?id_article=$id_article";
 450  
 451  echo "<FORM ACTION='$lien' METHOD='post' name='formulaire'>\n";
 452  
 453  if ($id_article) {
 454      echo "<INPUT TYPE='Hidden' NAME='id_article' VALUE='$id_article'>";
 455      if ($new_version == 'oui') {
 456          echo "<input type='hidden' name='new_version' value='oui'>";
 457      }
 458  }
 459  else if ($new == 'oui') {
 460      echo "<INPUT TYPE='Hidden' NAME='new' VALUE='oui'>";
 461  }
 462  
 463  if ($lier_trad) {
 464      echo "<INPUT TYPE='Hidden' NAME='lier_trad' VALUE='$lier_trad'>";
 465      echo "<INPUT TYPE='Hidden' NAME='changer_lang' VALUE='$spip_lang'>";
 466  }
 467  
 468  if (($options == "avancees" AND $articles_surtitre != "non")OR $surtitre) {
 469      echo "<B>" . _T('art_texte_sur_titre', null, $id_rubrique). "</B>";
 470      echo aide("arttitre");
 471      echo "<BR><INPUT TYPE='text' NAME='surtitre' CLASS='forml' VALUE=\"$surtitre\" SIZE='40'><P>";
 472  }
 473  else {
 474      echo "<INPUT TYPE='hidden' NAME='surtitre' VALUE=\"$surtitre\" >";
 475  }
 476  
 477  echo _T('art_texte_titre_obligatoire', null, $id_rubrique);
 478  
 479  echo aide("arttitre");
 480  echo "<BR><INPUT TYPE='text' NAME='titre' style='font-weight: bold;' CLASS='formo' VALUE=\"$titre\" SIZE='40'><P>";
 481  
 482  if (($articles_soustitre != "non")OR $soustitre) {
 483      echo "<B>" . _T('art_texte_sous_titre', null, $id_rubrique). "</B>";
 484      echo aide("arttitre");
 485      echo "<BR><INPUT TYPE='text' NAME='soustitre' CLASS='forml' VALUE=\"$soustitre\" SIZE='40'><br><br>";
 486  }
 487  else {
 488      echo "<INPUT TYPE='hidden' NAME='soustitre' VALUE=\"$soustitre\">";
 489  }
 490  
 491  /// Dans la rubrique....
 492  
 493  if ($id_rubrique == 0)
 494      $logo_parent = "racine-site-24.gif";
 495  else {
 496      $rubriqueMetier = &recuperer_instance_rubrique();
 497      $loadOK = $rubriqueMetier->load($id_rubrique);
 498  
 499      if (PEAR::isError($loadOK)) {
 500          die ($loadOK->getMessage());
 501      }
 502      else {
 503          $parent_parent = $rubriqueMetier->getParentId();
 504      }
 505      if ($parent_parent == 0)
 506          $logo_parent = "secteur-24.gif";
 507      else
 508          $logo_parent = "rubrique-24.gif";
 509  }
 510  
 511  debut_cadre_relief ("$logo_parent");
 512  echo "<B>" . _T('titre_cadre_interieur_rubrique'). "&nbsp;:</B>\n";
 513  echo aide("artrub");
 514  
 515  // Gestion du brouteur de rubrique quand le nombre de rubrique du site
 516  // dépasse la valeur de la meta _nb_limite_rub_selecteur
 517  // Il faut aussi que l'utilisateur ne puisse pas changer la rubrique d'une
 518  // Version d'un article.
 519  if ($articleMetier->getVersionId() != 0 || $new_version == 'oui') {
 520      $currentRubrique = &recuperer_instance_rubrique();
 521      $currentRubrique->load($articleMetier->getRubriqueId());
 522      echo "<BR><input type='HIDDEN' name='id_rubrique' value='" . $currentRubrique->getRubriqueId(). "'>";
 523      echo _T('pas_changer_rubrique_version');
 524  }
 525  else {
 526      // echo selecteur_rubrique($articleMetier, $id_rubrique, $rubriqueMetier);
 527      if ($id_rubrique > 0)
 528          echo selecteur_rubrique($articleMetier, $id_rubrique);
 529      else {
 530          require_once (dirname(__FILE__). "/include/bd/inc_auteur_factory.php");
 531          $auteur = &recuperer_instance_auteur();
 532          $auteur->load($GLOBALS['connect_id_auteur']);
 533          echo selecteur_rubrique($articleMetier, $auteur->getPremiereRubrique());
 534      }
 535  }
 536  
 537  fin_cadre_relief();
 538  
 539  if ($new != 'oui')
 540      echo "<INPUT TYPE='hidden' NAME='id_rubrique_old' VALUE=\"$id_rubrique\" >";
 541  
 542  if (($options == "avancees" AND $articles_descriptif != "non")OR $descriptif) {
 543      echo "<P><B>" . _T('art_texte_descriptif_rapide', null, $id_rubrique). "</B>";
 544      echo aide("artdesc");
 545      echo "<BR>" . _T('art_texte_contenu_article', null, $id_rubrique). "<BR>";
 546      echo "<TEXTAREA NAME='descriptif' CLASS='forml' ROWS='2' COLS='40' wrap=soft>";
 547      echo $descriptif;
 548      echo "</TEXTAREA><P>\n";
 549  }
 550  else {
 551      echo "<INPUT TYPE='hidden' NAME='descriptif' VALUE=\"$descriptif\">";
 552  }
 553  
 554  if (($options == "avancees" AND $articles_urlref != "non")OR $nom_site OR $url_site) {
 555      echo _T('art_entree_liens_sites', null, $id_rubrique). "<br />\n";
 556      echo _T('art_info_titre', null, $id_rubrique). " ";
 557      echo "<input type='text' name='nom_site' class='forml' width='40' value=\"$nom_site\"/><br />\n";
 558      echo _T('art_info_url', null, $id_rubrique). " ";
 559      echo "<input type='text' name='url_site' class='forml' width='40' value=\"$url_site\"/>";
 560  }
 561  
 562  if (substr($chapo, 0, 1) == '=') {
 563      $virtuel = substr($chapo, 1);
 564      $chapo = "";
 565  }
 566  
 567  if ($virtuel) {
 568      echo "<p><div style='border: 1px dashed #666666; background-color: #f0f0f0; padding: 5px;'>";
 569      echo "<table width=100% cellspacing=0 cellpadding=0 border=0>";
 570      echo "<tr><td valign='top'>";
 571      echo "<font face='Verdana,Arial,Sans,sans-serif' size=2>";
 572      echo "<B><label for='confirme-virtuel'>" . _T('art_info_redirection', null, $id_rubrique). "&nbsp;:</label></B>";
 573      echo aide("artvirt");
 574      echo "</font>";
 575      echo "</td>";
 576      echo "<td width=10>&nbsp;</td>";
 577      echo "<td valign='top' width='50%'>";
 578  
 579      if (!$virtuel)
 580          $virtuel = "http://";
 581  
 582      echo "<INPUT TYPE='text' NAME='virtuel' CLASS='forml' style='font-size:9px;' VALUE=\"$virtuel\" SIZE='40'>";
 583      echo "<input type='hidden' name='changer_virtuel' value='oui'>";
 584      echo "</td></tr></table>\n";
 585      echo "<font face='Verdana,Arial,Sans,sans-serif' size=2>";
 586      echo _T('art_texte_article_virtuel_reference', null, $id_rubrique);
 587      echo "</font>";
 588      echo "</div><p>\n";
 589  }
 590  else {
 591      echo "<HR>";
 592      if (($articles_chapeau != "non")OR $chapo) {
 593          if ($spip_ecran == "large")
 594              $rows = 8;
 595          else
 596              $rows = 5;
 597          echo "<B>" . _T('art_info_chapeau', null, $id_rubrique). "</B>";
 598          echo aide("artchap");
 599          echo "<BR>" . _T('art_texte_introductif_article', null, $id_rubrique). "<BR>";
 600  
 601          echo "<TEXTAREA NAME='chapo' CLASS='forml' ROWS='$rows' COLS='40' wrap=soft>";
 602          echo $chapo;
 603          echo "</TEXTAREA><P>\n";
 604      }
 605      else {
 606          echo "<INPUT TYPE='hidden' NAME='chapo' VALUE=\"$chapo\">";
 607      }
 608  }
 609  
 610  if ($spip_ecran == "large")
 611      $rows = 28;
 612  else
 613      $rows = 20;
 614  
 615  if (strlen($texte) > 29 * 1024) { // texte > 32 ko -> decouper en morceaux
 616      $textes_supplement = "<br><font color='red'>" . _T('art_info_texte_long', null, $id_rubrique). "</font>\n";
 617      while (strlen($texte) > 29 * 1024) {
 618          $nombre_textes++;
 619          list($texte1, $texte) = coupe_trop_long($texte);
 620  
 621          $textes_supplement .= "<BR>";
 622          $textes_supplement .= afficher_barre('formulaire', 'texte' . $nombre_textes);
 623          $textes_supplement .= "<TEXTAREA NAME='texte$nombre_textes'"." CLASS='formo' "
 624                             .afficher_claret()." ROWS='$rows' COLS='40' wrap=soft>".$texte1
 625                             ."</TEXTAREA><P>\n";
 626      }
 627  }
 628  echo "<B>" . _T('info_texte', null, $id_rubrique). "</B>";
 629  echo aide("arttexte");
 630  echo "<br>" . _T('art_texte_enrichir_mise_a_jour', null, $id_rubrique);
 631  echo aide("raccourcis");
 632  
 633  echo $textes_supplement;
 634  
 635  if ($_GET['mode'] == 'wysiwyg') {
 636      echo "<textarea id='article_body_editor' name='texte'>";
 637      echo propre($texte);
 638      echo "</textarea>\n";
 639  }
 640  else {
 641      echo "<br />";
 642      echo afficher_barre('formulaire', 'texte');
 643      echo "<textarea name='texte' " . afficher_claret(). " class='formo' rows='$rows' cols='40' wrap=soft>";
 644      echo $texte;
 645      echo "</textarea><p>\n";
 646  // TODO : pour ceux qui veulent finir
 647  // echo '<p align="right"><a href="#" onclick="switchToWYSIWYG()">Passer en mode WYSIWYG !</a></p>';
 648  }
 649  
 650  if (($articles_ps != "non" AND $options == "avancees")OR $ps) {
 651      echo "<B>" . _T('art_info_post_scriptum', null, $id_rubrique). "</B><BR>";
 652      echo "<TEXTAREA NAME='ps' CLASS='forml' ROWS='5' COLS='40' wrap='soft''>";
 653      echo $ps;
 654      echo "</TEXTAREA><P>\n";
 655  }
 656  else {
 657      echo "<INPUT TYPE='hidden' NAME='ps' VALUE=\"$ps\">";
 658  }
 659  
 660  if ($champs_extra) {
 661      include_ecrire  ("inc_extra.php");
 662      extra_saisie($extra, 'articles', $id_rubrique);
 663  }
 664  
 665  if ($date)
 666      echo "<INPUT TYPE='Hidden' NAME='date' VALUE=\"$date\" SIZE='40'><P>";
 667  
 668  if ($new == "oui")
 669      echo "<INPUT TYPE='Hidden' NAME='statut_nouv' VALUE=\"prepa\" SIZE='40'><P>";
 670  
 671  echo "<DIV ALIGN='right'>";
 672  echo "<INPUT CLASS='fondo' TYPE='submit' NAME='Valider' VALUE='" . _T('bouton_valider'). "'>";
 673  echo "</DIV></FORM>";
 674  
 675  fin_cadre_formulaire();
 676  
 677  fin_page();
 678  ?>


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