[ Index ] |
|
Code source de SPIP Agora 1.4 |
1 <?php 2 /***************************************************** 3 * This file is part of Agora, web based content management system. 4 * 5 * Agora is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; version 2 of the License. 8 * 9 * Agora is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details (file "COPYING"). 13 * 14 * Copyright © Arnaud Martin, Antoine Pitrou et Philippe Rivière. 15 * List of authors detailed in "copyright_fr.html" file. 16 * E-mail : agora@sig.premier-ministre.gouv.fr 17 * Web site : http://www.agora.gouv.fr 18 *****************************************************/ 19 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("~", " ", $parents); 348 $parents = ereg_replace(" ", "", $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 = " " . $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'). " :</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). " :</label></B>"; 573 echo aide("artvirt"); 574 echo "</font>"; 575 echo "</td>"; 576 echo "<td width=10> </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 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sat Feb 24 14:40:03 2007 | par Balluche grâce à PHPXref 0.7 |