[6] | 1 | <?php |
---|
| 2 | |
---|
| 3 | /***************************************************************************\ |
---|
| 4 | * SPIP, Systeme de publication pour l'internet * |
---|
| 5 | * * |
---|
| 6 | * Copyright (c) 2001-2006 * |
---|
| 7 | * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * |
---|
| 8 | * * |
---|
| 9 | * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * |
---|
| 10 | * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * |
---|
| 11 | \***************************************************************************/ |
---|
| 12 | |
---|
| 13 | if (!defined("_ECRIRE_INC_VERSION")) return; |
---|
| 14 | |
---|
| 15 | |
---|
| 16 | include_spip('inc/presentation'); |
---|
| 17 | include_spip('inc/texte'); |
---|
| 18 | include_spip('inc/rubriques'); |
---|
| 19 | include_spip('inc/logos'); |
---|
| 20 | include_spip('inc/mots'); |
---|
| 21 | include_spip('inc/date'); |
---|
| 22 | include_spip('inc/documents'); |
---|
| 23 | include_spip('inc/forum'); |
---|
| 24 | include_spip('base/abstract_sql'); |
---|
| 25 | include_spip('inc/calendar'); |
---|
| 26 | |
---|
| 27 | // 28 paremetres, qui dit mieux ? |
---|
| 28 | // moi ! elle en avait 61 en premiere approche |
---|
| 29 | |
---|
| 30 | function exec_affiche_articles_dist($id_article, $ajout_auteur, $change_accepter_forum, $change_petition, $changer_virtuel, $cherche_auteur, $cherche_mot, $debut, $email_unique, $flag_auteur, $flag_editable, $langue_article, $message, $nom_select, $nouv_auteur, $nouv_mot, $rubrique_article, $site_obli, $site_unique, $supp_auteur, $supp_mot, $texte_petition, $titre_article, $lier_trad) |
---|
| 31 | { |
---|
| 32 | global $options, $spip_display, $spip_lang_left, $spip_lang_right, $dir_lang; |
---|
| 33 | |
---|
| 34 | $result = spip_query("SELECT * FROM spip_articles WHERE id_article='$id_article'"); |
---|
| 35 | |
---|
| 36 | if ($row = spip_fetch_array($result)) { |
---|
| 37 | $id_article = $row["id_article"]; |
---|
| 38 | $surtitre = $row["surtitre"]; |
---|
| 39 | $titre = $row["titre"]; |
---|
| 40 | $soustitre = $row["soustitre"]; |
---|
| 41 | $id_rubrique = $row["id_rubrique"]; |
---|
| 42 | $descriptif = $row["descriptif"]; |
---|
| 43 | $nom_site = $row["nom_site"]; |
---|
| 44 | $url_site = $row["url_site"]; |
---|
| 45 | $chapo = $row["chapo"]; |
---|
| 46 | $texte = $row["texte"]; |
---|
| 47 | $ps = $row["ps"]; |
---|
| 48 | $date = $row["date"]; |
---|
| 49 | $statut_article = $row["statut"]; |
---|
| 50 | $maj = $row["maj"]; |
---|
| 51 | $date_redac = $row["date_redac"]; |
---|
| 52 | $visites = $row["visites"]; |
---|
| 53 | $referers = $row["referers"]; |
---|
| 54 | $extra = $row["extra"]; |
---|
| 55 | $id_trad = $row["id_trad"]; |
---|
| 56 | $id_version = $row["id_version"]; |
---|
| 57 | |
---|
| 58 | if (ereg("([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2})", $date_redac, $regs)) { |
---|
| 59 | $annee_redac = $regs[1]; |
---|
| 60 | $mois_redac = $regs[2]; |
---|
| 61 | $jour_redac = $regs[3]; |
---|
| 62 | $heure_redac = $regs[4]; |
---|
| 63 | $minute_redac = $regs[5]; |
---|
| 64 | if ($annee_redac > 4000) $annee_redac -= 9000; |
---|
| 65 | } |
---|
| 66 | |
---|
| 67 | if (ereg("([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2})", $date, $regs)) { |
---|
| 68 | $annee = $regs[1]; |
---|
| 69 | $mois = $regs[2]; |
---|
| 70 | $jour = $regs[3]; |
---|
| 71 | $heure = $regs[4]; |
---|
| 72 | $minute = $regs[5]; |
---|
| 73 | } |
---|
| 74 | } |
---|
| 75 | // reserver les Widget Calendar avant de commencer l'affichage |
---|
| 76 | WCalendar_ajoute(_T('texte_date_publication_article'),''); |
---|
| 77 | WCalendar_ajoute(_T('texte_date_publication_anterieure'),'_redac'); |
---|
| 78 | |
---|
| 79 | debut_page("« $titre_article »", "documents", "articles", "", "", $id_rubrique); |
---|
| 80 | |
---|
| 81 | debut_grand_cadre(); |
---|
| 82 | |
---|
| 83 | afficher_hierarchie($id_rubrique); |
---|
| 84 | |
---|
| 85 | fin_grand_cadre(); |
---|
| 86 | |
---|
| 87 | if (!$row) {echo _T('public:aucun_article'); exit;} |
---|
| 88 | |
---|
| 89 | // |
---|
| 90 | // Affichage de la colonne de gauche |
---|
| 91 | // |
---|
| 92 | |
---|
| 93 | debut_gauche(); |
---|
| 94 | |
---|
| 95 | boite_info_articles($id_article, $statut_article, $visites, $id_version); |
---|
| 96 | |
---|
| 97 | // |
---|
| 98 | // Logos de l'article et Boites de configuration avancee |
---|
| 99 | // |
---|
| 100 | |
---|
| 101 | |
---|
| 102 | // pour l'affichage du virtuel |
---|
| 103 | unset($virtuel); |
---|
| 104 | if (substr($chapo, 0, 1) == '=') { |
---|
| 105 | $virtuel = substr($chapo, 1); |
---|
| 106 | } |
---|
| 107 | |
---|
| 108 | boites_de_config_articles($id_article, $id_rubrique, $flag_editable, |
---|
| 109 | $change_accepter_forum, $change_petition, |
---|
| 110 | $email_unique, $site_obli, $site_unique, |
---|
| 111 | $message, $texte_petition, |
---|
| 112 | $changer_virtuel, $virtuel); |
---|
| 113 | |
---|
| 114 | // |
---|
| 115 | // Affichage de la colonne de droite |
---|
| 116 | // |
---|
| 117 | |
---|
| 118 | debut_droite(); |
---|
| 119 | |
---|
| 120 | changer_typo('','article'.$id_article); |
---|
| 121 | |
---|
| 122 | debut_cadre_relief(); |
---|
| 123 | |
---|
| 124 | // |
---|
| 125 | // Titre, surtitre, sous-titre |
---|
| 126 | // |
---|
| 127 | |
---|
| 128 | $modif = titres_articles($titre, $statut_article,$surtitre, $soustitre, $descriptif, $url_site, $nom_site, $flag_editable, $id_article, $id_rubrique); |
---|
| 129 | |
---|
| 130 | |
---|
| 131 | echo "<div class='serif' align='$spip_lang_left'>"; |
---|
| 132 | |
---|
| 133 | dates_articles($id_article, $id_rubrique, $flag_editable, $statut_article, $date,$annee, $mois, $jour, $heure, $minute, $date_redac, $annee_redac, $mois_redac, $jour_redac, $heure_redac, $minute_redac); |
---|
| 134 | |
---|
| 135 | // |
---|
| 136 | // Liste des auteurs de l'article |
---|
| 137 | // |
---|
| 138 | |
---|
| 139 | echo "<a name='auteurs'></a>"; |
---|
| 140 | |
---|
| 141 | if ($flag_editable AND $options == 'avancees') { |
---|
| 142 | $bouton = bouton_block_invisible("auteursarticle"); |
---|
| 143 | } |
---|
| 144 | |
---|
| 145 | debut_cadre_enfonce("auteur-24.gif", false, "", $bouton._T('texte_auteurs').aide ("artauteurs")); |
---|
| 146 | |
---|
| 147 | // |
---|
| 148 | // Recherche d'auteur |
---|
| 149 | // |
---|
| 150 | |
---|
| 151 | $supprimer_bouton_creer_auteur = rechercher_auteurs_articles($cherche_auteur, $id_article, $id_rubrique, $ajout_auteur, $flag_editable, $nouv_auteur, $supp_auteur); |
---|
| 152 | |
---|
| 153 | // |
---|
| 154 | // Afficher les auteurs |
---|
| 155 | // |
---|
| 156 | |
---|
| 157 | $les_auteurs = afficher_auteurs_articles($id_article, $flag_editable); |
---|
| 158 | |
---|
| 159 | // |
---|
| 160 | // Ajouter un auteur |
---|
| 161 | // |
---|
| 162 | |
---|
| 163 | if ($flag_editable AND $options == 'avancees') |
---|
| 164 | ajouter_auteurs_articles($id_article, $id_rubrique, $les_auteurs, $flag_editable, $rubrique_article, $supprimer_bouton_creer_auteur); |
---|
| 165 | |
---|
| 166 | fin_cadre_enfonce(false); |
---|
| 167 | |
---|
| 168 | // |
---|
| 169 | // Liste des mots-cles de l'article |
---|
| 170 | // |
---|
| 171 | |
---|
| 172 | if ($options == 'avancees' AND $GLOBALS['meta']["articles_mots"] != 'non') { |
---|
| 173 | formulaire_mots('articles', $id_article, $nouv_mot, $supp_mot, $cherche_mot, $flag_editable, generer_url_ecrire("articles","id_article=$id_article")); |
---|
| 174 | } |
---|
| 175 | |
---|
| 176 | langues_articles($id_article, $langue_article, $flag_editable, $id_rubrique, $id_trad, $dir_lang, $nom_select, $lier_trad); |
---|
| 177 | |
---|
| 178 | |
---|
| 179 | afficher_statut_articles($id_article, $rubrique_article, $statut_article); |
---|
| 180 | |
---|
| 181 | |
---|
| 182 | afficher_corps_articles($virtuel, $chapo, $texte, $ps, $extra); |
---|
| 183 | |
---|
| 184 | if ($flag_editable) { |
---|
| 185 | echo "\n\n<div align='$spip_lang_right'><br />"; |
---|
| 186 | bouton_modifier_articles($id_article, $id_rubrique, $modif,_T('texte_travail_article', $modif), "warning-24.gif", ""); |
---|
| 187 | echo "</div>"; |
---|
| 188 | } |
---|
| 189 | |
---|
| 190 | // |
---|
| 191 | // Documents associes a l'article |
---|
| 192 | // |
---|
| 193 | |
---|
| 194 | if ($spip_display != 4) |
---|
| 195 | afficher_documents_non_inclus($id_article, "article", $flag_editable); |
---|
| 196 | |
---|
| 197 | // |
---|
| 198 | // "Demander la publication" |
---|
| 199 | // |
---|
| 200 | |
---|
| 201 | |
---|
| 202 | if ($flag_auteur AND $statut_article == 'prepa') { |
---|
| 203 | echo "<P>"; |
---|
| 204 | debut_cadre_relief(); |
---|
| 205 | echo "<center>", |
---|
| 206 | "<B>"._T('texte_proposer_publication')."</B>", |
---|
| 207 | aide ("artprop"), |
---|
| 208 | "\n<form method='post' action='", |
---|
| 209 | generer_action_auteur("instituer", "article $id_article prop", generer_url_ecrire('articles', "id_article=$id_article", true)), |
---|
| 210 | "'>", |
---|
| 211 | "<input type='submit' class='fondo' value=\"", |
---|
| 212 | _T('bouton_demande_publication'), |
---|
| 213 | "\" />\n", |
---|
| 214 | "</form>", |
---|
| 215 | "</center>"; |
---|
| 216 | fin_cadre_relief(); |
---|
| 217 | } |
---|
| 218 | |
---|
| 219 | echo "</div>"; |
---|
| 220 | |
---|
| 221 | echo "</div>"; |
---|
| 222 | fin_cadre_relief(); |
---|
| 223 | |
---|
| 224 | affiche_forums_article($id_article, $id_rubrique, $titre, $debut); |
---|
| 225 | |
---|
| 226 | fin_page(); |
---|
| 227 | |
---|
| 228 | } |
---|
| 229 | |
---|
| 230 | function boite_info_articles($id_article, $statut_article, $visites, $id_version) |
---|
| 231 | { |
---|
| 232 | global $connect_statut, $options, $flag_revisions; |
---|
| 233 | |
---|
| 234 | debut_boite_info(); |
---|
| 235 | |
---|
| 236 | echo "<div align='center'>\n"; |
---|
| 237 | |
---|
| 238 | echo "<font face='Verdana,Arial,Sans,sans-serif' size='1'><b>"._T('info_numero_article')."</b></font>\n"; |
---|
| 239 | echo "<br><font face='Verdana,Arial,Sans,sans-serif' size='6'><b>$id_article</b></font>\n"; |
---|
| 240 | |
---|
| 241 | voir_en_ligne ('article', $id_article, $statut_article); |
---|
| 242 | |
---|
| 243 | |
---|
| 244 | $activer_statistiques = $GLOBALS['meta']["activer_statistiques"]; |
---|
| 245 | |
---|
| 246 | if ($connect_statut == "0minirezo" AND $statut_article == 'publie' AND $visites > 0 AND $activer_statistiques != "non" AND $options == "avancees"){ |
---|
| 247 | icone_horizontale(_T('icone_evolution_visites', array('visites' => $visites)), generer_url_ecrire("statistiques_visites","id_article=$id_article"), "statistiques-24.gif","rien.gif"); |
---|
| 248 | } |
---|
| 249 | |
---|
| 250 | if ((($GLOBALS['meta']["articles_versions"]=='oui') && $flag_revisions) |
---|
| 251 | AND $id_version>1 AND $options == "avancees") { |
---|
| 252 | icone_horizontale(_T('info_historique_lien'), generer_url_ecrire("articles_versions","id_article=$id_article"), "historique-24.gif", "rien.gif"); |
---|
| 253 | } |
---|
| 254 | |
---|
| 255 | // Correction orthographique |
---|
| 256 | if ($GLOBALS['meta']['articles_ortho'] == 'oui') { |
---|
| 257 | $js_ortho = "onclick=\"window.open(this.href, 'spip_ortho', 'scrollbars=yes, resizable=yes, width=740, height=580'); return false;\""; |
---|
| 258 | icone_horizontale(_T('ortho_verifier'), generer_url_ecrire("articles_ortho", "id_article=$id_article"), "ortho-24.gif", "rien.gif", 'echo', $js_ortho); |
---|
| 259 | } |
---|
| 260 | |
---|
| 261 | echo "</div>\n"; |
---|
| 262 | |
---|
| 263 | fin_boite_info(); |
---|
| 264 | } |
---|
| 265 | |
---|
| 266 | function boites_de_config_articles($id_article, $id_rubrique, $flag_editable, |
---|
| 267 | $change_accepter_forum, $change_petition, |
---|
| 268 | $email_unique, $site_obli, $site_unique, |
---|
| 269 | $message, $texte_petition, |
---|
| 270 | $changer_virtuel, $virtuel) |
---|
| 271 | { |
---|
| 272 | global $connect_statut, $options, $spip_lang_right; |
---|
| 273 | |
---|
| 274 | // Logos de l'article |
---|
| 275 | |
---|
| 276 | if ($id_article AND $flag_editable) |
---|
| 277 | afficher_boite_logo('art', 'id_article', $id_article, |
---|
| 278 | _T('logo_article').aide ("logoart"), _T('logo_survol'), 'articles'); |
---|
| 279 | |
---|
| 280 | |
---|
| 281 | // |
---|
| 282 | // Boites de configuration avancee |
---|
| 283 | // |
---|
| 284 | |
---|
| 285 | if ($options == "avancees" && $connect_statut=='0minirezo' && $flag_editable) { |
---|
| 286 | echo "<p>"; |
---|
| 287 | debut_cadre_relief("forum-interne-24.gif"); |
---|
| 288 | |
---|
| 289 | |
---|
| 290 | list($nb_forums) = spip_fetch_array(spip_query("SELECT count(*) AS count FROM spip_forum WHERE id_article=$id_article AND statut IN ('publie', 'off', 'prop')")); |
---|
| 291 | |
---|
| 292 | list($nb_signatures) = spip_fetch_array(spip_query("SELECT COUNT(*) AS count FROM spip_signatures WHERE id_article=$id_article AND statut IN ('publie', 'poubelle')")); |
---|
| 293 | |
---|
| 294 | $visible = $change_accepter_forum || $change_petition |
---|
| 295 | || $nb_forums || $nb_signatures; |
---|
| 296 | |
---|
| 297 | echo "<div class='verdana1' style='text-align: center;'><b>"; |
---|
| 298 | if ($visible) |
---|
| 299 | echo bouton_block_visible("forumpetition"); |
---|
| 300 | else |
---|
| 301 | echo bouton_block_invisible("forumpetition"); |
---|
| 302 | echo _T('bouton_forum_petition') .aide('confforums'); |
---|
| 303 | echo "</b></div>"; |
---|
| 304 | if ($visible) |
---|
| 305 | echo debut_block_visible("forumpetition"); |
---|
| 306 | else |
---|
| 307 | echo debut_block_invisible("forumpetition"); |
---|
| 308 | |
---|
| 309 | |
---|
| 310 | echo "<font face='Verdana,Arial,Sans,sans-serif' size='1'>\n"; |
---|
| 311 | |
---|
| 312 | |
---|
| 313 | // Forums |
---|
| 314 | |
---|
| 315 | if ($nb_forums) { |
---|
| 316 | echo "<br />\n"; |
---|
| 317 | icone_horizontale(_T('icone_suivi_forum', array('nb_forums' => $nb_forums)), generer_url_ecrire("articles_forum","id_article=$id_article"), "suivi-forum-24.gif", ""); |
---|
| 318 | } |
---|
| 319 | |
---|
| 320 | // Reglage existant |
---|
| 321 | $forums_publics = get_forums_publics($id_article); |
---|
| 322 | |
---|
| 323 | // Modification du reglage ? |
---|
| 324 | if (isset($change_accepter_forum) |
---|
| 325 | AND $change_accepter_forum <> $forums_publics) { |
---|
| 326 | $forums_publics = $change_accepter_forum; |
---|
| 327 | modifier_forums_publics($id_article, $forums_publics); |
---|
| 328 | } |
---|
| 329 | |
---|
| 330 | // Afficher le formulaire de modification du reglage |
---|
| 331 | echo formulaire_modification_forums_publics($id_article, $forums_publics, generer_url_ecrire("articles","id_article=$id_article")); |
---|
| 332 | |
---|
| 333 | |
---|
| 334 | // Petitions |
---|
| 335 | |
---|
| 336 | if ($change_petition) { |
---|
| 337 | if ($change_petition == "on") { |
---|
| 338 | if (!$email_unique) $email_unique = "non"; |
---|
| 339 | if (!$site_obli) $site_obli = "non"; |
---|
| 340 | if (!$site_unique) $site_unique = "non"; |
---|
| 341 | if (!$message) $message = "non"; |
---|
| 342 | |
---|
| 343 | $texte_petition = addslashes($texte_petition); |
---|
| 344 | |
---|
| 345 | $result_pet = spip_query("REPLACE spip_petitions (id_article, email_unique, site_obli, site_unique, message, texte) VALUES ($id_article, '$email_unique', '$site_obli', '$site_unique', '$message', '$texte_petition')"); |
---|
| 346 | } |
---|
| 347 | else if ($change_petition == "off") { |
---|
| 348 | $result_pet = spip_query("DELETE FROM spip_petitions WHERE id_article=$id_article"); |
---|
| 349 | } |
---|
| 350 | } |
---|
| 351 | |
---|
| 352 | $petition = spip_fetch_array(spip_query("SELECT * FROM spip_petitions WHERE id_article=$id_article")); |
---|
| 353 | |
---|
| 354 | $email_unique=$petition["email_unique"]; |
---|
| 355 | $site_obli=$petition["site_obli"]; |
---|
| 356 | $site_unique=$petition["site_unique"]; |
---|
| 357 | $message=$petition["message"]; |
---|
| 358 | $texte_petition=$petition["texte"]; |
---|
| 359 | |
---|
| 360 | echo generer_url_post_ecrire("articles","id_article=$id_article"); |
---|
| 361 | |
---|
| 362 | echo "<select name='change_petition' |
---|
| 363 | class='fondl' style='font-size:10px;' |
---|
| 364 | onChange=\"setvisibility('valider_petition', 'visible');\" |
---|
| 365 | >\n"; |
---|
| 366 | |
---|
| 367 | if ($petition) { |
---|
| 368 | $menu = array( |
---|
| 369 | 'on' => _T('bouton_radio_petition_activee'), |
---|
| 370 | 'off'=> _T('bouton_radio_supprimer_petition') |
---|
| 371 | ); |
---|
| 372 | $val_menu = 'on'; |
---|
| 373 | } else { |
---|
| 374 | $menu = array( |
---|
| 375 | 'off'=> _T('bouton_radio_pas_petition'), |
---|
| 376 | 'on' => _T('bouton_radio_activer_petition') |
---|
| 377 | ); |
---|
| 378 | $val_menu = 'off'; |
---|
| 379 | } |
---|
| 380 | |
---|
| 381 | |
---|
| 382 | foreach ($menu as $val => $desc) { |
---|
| 383 | echo "<option"; |
---|
| 384 | if ($val_menu == $val) |
---|
| 385 | echo " selected"; |
---|
| 386 | echo " value='$val'>".$desc."</option>\n"; |
---|
| 387 | } |
---|
| 388 | echo "</select>\n"; |
---|
| 389 | |
---|
| 390 | if ($petition) { |
---|
| 391 | if ($nb_signatures) { |
---|
| 392 | echo "<br />\n"; |
---|
| 393 | icone_horizontale($nb_signatures.' '. _T('info_signatures'), generer_url_ecrire("controle_petition","id_article=$id_article"), "suivi-petition-24.gif", ""); |
---|
| 394 | } |
---|
| 395 | |
---|
| 396 | echo "<br />\n"; |
---|
| 397 | |
---|
| 398 | if ($email_unique=="oui") |
---|
| 399 | echo "<input type='checkbox' name='email_unique' value='oui' id='emailunique' checked>"; |
---|
| 400 | else |
---|
| 401 | echo "<input type='checkbox' name='email_unique' value='oui' id='emailunique'>"; |
---|
| 402 | echo " <label for='emailunique'>"._T('bouton_checkbox_signature_unique_email')."</label><BR>"; |
---|
| 403 | if ($site_obli=="oui") |
---|
| 404 | echo "<input type='checkbox' name='site_obli' value='oui' id='siteobli' checked>"; |
---|
| 405 | else |
---|
| 406 | echo "<input type='checkbox' name='site_obli' value='oui' id='siteobli'>"; |
---|
| 407 | echo " <label for='siteobli'>"._T('bouton_checkbox_indiquer_site')."</label><BR>"; |
---|
| 408 | if ($site_unique=="oui") |
---|
| 409 | echo "<input type='checkbox' name='site_unique' value='oui' id='siteunique' checked>"; |
---|
| 410 | else |
---|
| 411 | echo "<input type='checkbox' name='site_unique' value='oui' id='siteunique'>"; |
---|
| 412 | echo " <label for='siteunique'>"._T('bouton_checkbox_signature_unique_site')."</label><BR>"; |
---|
| 413 | if ($message=="oui") |
---|
| 414 | echo "<input type='checkbox' name='message' value='oui' id='message' checked>"; |
---|
| 415 | else |
---|
| 416 | echo "<input type='checkbox' name='message' value='oui' id='message'>"; |
---|
| 417 | echo " <label for='message'>"._T('bouton_checkbox_envoi_message')."</label>"; |
---|
| 418 | |
---|
| 419 | echo "<P>"._T('texte_descriptif_petition')." :<BR>"; |
---|
| 420 | echo "<TEXTAREA NAME='texte_petition' CLASS='forml' ROWS='4' COLS='10' wrap=soft>"; |
---|
| 421 | echo entites_html($texte_petition); |
---|
| 422 | echo "</TEXTAREA><P>\n"; |
---|
| 423 | |
---|
| 424 | echo "<P align='$spip_lang_right'>"; |
---|
| 425 | } |
---|
| 426 | |
---|
| 427 | if (!$petition) echo "<span class='visible_au_chargement' id='valider_petition'>"; |
---|
| 428 | echo "<INPUT TYPE='submit' NAME='Changer' CLASS='fondo' VALUE='"._T('bouton_changer')."' STYLE='font-size:10px'>"; |
---|
| 429 | if (!$petition) echo "</span>"; |
---|
| 430 | echo "</FORM>"; |
---|
| 431 | |
---|
| 432 | echo "</font>"; |
---|
| 433 | echo fin_block(); |
---|
| 434 | |
---|
| 435 | fin_cadre_relief(); |
---|
| 436 | |
---|
| 437 | // Redirection (article virtuel) |
---|
| 438 | debut_cadre_relief("site-24.gif"); |
---|
| 439 | $visible = ($changer_virtuel || $virtuel); |
---|
| 440 | |
---|
| 441 | echo "<div class='verdana1' style='text-align: center;'><b>"; |
---|
| 442 | if ($visible) |
---|
| 443 | echo bouton_block_visible("redirection"); |
---|
| 444 | else |
---|
| 445 | echo bouton_block_invisible("redirection"); |
---|
| 446 | echo _T('bouton_redirection'); |
---|
| 447 | echo aide ("artvirt"); |
---|
| 448 | echo "</b></div>"; |
---|
| 449 | if ($visible) |
---|
| 450 | echo debut_block_visible("redirection"); |
---|
| 451 | else |
---|
| 452 | echo debut_block_invisible("redirection"); |
---|
| 453 | |
---|
| 454 | echo generer_url_post_ecrire("articles", "id_article=$id_article"); |
---|
| 455 | echo "\n<INPUT TYPE='hidden' NAME='changer_virtuel' VALUE='oui'>"; |
---|
| 456 | $virtuelhttp = ($virtuel ? "" : "http://"); |
---|
| 457 | |
---|
| 458 | echo "<INPUT TYPE='text' NAME='virtuel' CLASS='formo' style='font-size:9px;' VALUE=\"$virtuelhttp$virtuel\" SIZE='40'><br>"; |
---|
| 459 | echo "<font face='Verdana,Arial,Sans,sans-serif' size=2>"; |
---|
| 460 | echo "(<b>"._T('texte_article_virtuel')." :</b> "._T('texte_reference_mais_redirige').")"; |
---|
| 461 | echo "</font>"; |
---|
| 462 | echo "<div align='$spip_lang_right'><INPUT TYPE='submit' NAME='Changer' CLASS='fondo' VALUE='"._T('bouton_changer')."' STYLE='font-size:10px'></div>"; |
---|
| 463 | echo "</form>"; |
---|
| 464 | echo fin_block(); |
---|
| 465 | |
---|
| 466 | fin_cadre_relief(); |
---|
| 467 | } |
---|
| 468 | |
---|
| 469 | // |
---|
| 470 | // Articles dans la meme rubrique |
---|
| 471 | // |
---|
| 472 | |
---|
| 473 | meme_rubrique_articles($id_rubrique, $id_article, $options); |
---|
| 474 | |
---|
| 475 | } |
---|
| 476 | |
---|
| 477 | function meme_rubrique_articles($id_rubrique, $id_article, $options, $order='articles.date', $limit=30) |
---|
| 478 | { |
---|
| 479 | global $spip_lang_right, $spip_lang_left; |
---|
| 480 | |
---|
| 481 | $vos_articles = spip_query("SELECT articles.id_article, articles.titre, articles.statut FROM spip_articles AS articles WHERE articles.id_rubrique='$id_rubrique' AND (articles.statut = 'publie' OR articles.statut = 'prop') AND articles.id_article != '$id_article' ORDER BY $order DESC LIMIT $limit"); |
---|
| 482 | if (spip_num_rows($vos_articles) > 0) { |
---|
| 483 | echo "<div> </div>"; |
---|
| 484 | echo "<div class='bandeau_rubriques' style='z-index: 1;'>"; |
---|
| 485 | bandeau_titre_boite2(_T('info_meme_rubrique'), "article-24.gif"); |
---|
| 486 | echo "<div class='plan-articles'>"; |
---|
| 487 | while($row = spip_fetch_array($vos_articles)) { |
---|
| 488 | $ze_article = $row['id_article']; |
---|
| 489 | $ze_titre = typo($row['titre']); |
---|
| 490 | $ze_statut = $row['statut']; |
---|
| 491 | |
---|
| 492 | if ($options == "avancees") { |
---|
| 493 | $numero = "<div class='arial1' style='float: $spip_lang_right; color: black; padding-$spip_lang_left: 4px;'><b>"._T('info_numero_abbreviation')."$ze_article</b></div>"; |
---|
| 494 | } |
---|
| 495 | echo "<a class='$ze_statut' style='font-size: 10px;' href='" . generer_url_ecrire("articles","id_article=$ze_article") . "'>$numero$ze_titre</a>"; |
---|
| 496 | } |
---|
| 497 | echo "</div>"; |
---|
| 498 | echo "</div>"; |
---|
| 499 | } |
---|
| 500 | } |
---|
| 501 | |
---|
| 502 | function bouton_modifier_articles($id_article, $id_rubrique, $flag_modif, $mode, $ip, $im) |
---|
| 503 | { |
---|
| 504 | if ($flag_modif) { |
---|
| 505 | icone(_T('icone_modifier_article'), generer_url_ecrire("articles_edit","id_article=$id_article"), $ip, $im); |
---|
| 506 | echo "<font face='arial,helvetica,sans-serif' size='2'>$mode</font>"; |
---|
| 507 | echo aide("artmodif"); |
---|
| 508 | } |
---|
| 509 | else { |
---|
| 510 | icone(_T('icone_modifier_article'), generer_url_ecrire("articles_edit","id_article=$id_article"), "article-24.gif", "edit.gif"); |
---|
| 511 | } |
---|
| 512 | |
---|
| 513 | } |
---|
| 514 | |
---|
| 515 | function titres_articles($titre, $statut_article,$surtitre, $soustitre, $descriptif, $url_site, $nom_site, $flag_editable, $id_article, $id_rubrique) |
---|
| 516 | { |
---|
| 517 | global $dir_lang, $spip_lang_left, $connect_id_auteur; |
---|
| 518 | |
---|
| 519 | $logo_statut = "puce-".puce_statut($statut_article).".gif"; |
---|
| 520 | |
---|
| 521 | echo "\n<table cellpadding=0 cellspacing=0 border=0 width='100%'>"; |
---|
| 522 | echo "<tr width='100%'><td width='100%' valign='top'>"; |
---|
| 523 | |
---|
| 524 | if ($surtitre) { |
---|
| 525 | echo "<span $dir_lang><font face='arial,helvetica' size=3><b>"; |
---|
| 526 | echo typo($surtitre); |
---|
| 527 | echo "</b></font></span>\n"; |
---|
| 528 | } |
---|
| 529 | |
---|
| 530 | gros_titre($titre, $logo_statut); |
---|
| 531 | |
---|
| 532 | if ($soustitre) { |
---|
| 533 | echo "<span $dir_lang><font face='arial,helvetica' size=3><b>"; |
---|
| 534 | echo typo($soustitre); |
---|
| 535 | echo "</b></font></span>\n"; |
---|
| 536 | } |
---|
| 537 | |
---|
| 538 | |
---|
| 539 | if ($descriptif OR $url_site OR $nom_site) { |
---|
| 540 | echo "<p><div align='$spip_lang_left' style='padding: 5px; border: 1px dashed #aaaaaa; background-color: #e4e4e4;' $dir_lang>"; |
---|
| 541 | echo "<font size=2 face='Verdana,Arial,Sans,sans-serif'>"; |
---|
| 542 | $texte_case = ($descriptif) ? "{{"._T('info_descriptif')."}} $descriptif\n\n" : ''; |
---|
| 543 | $texte_case .= ($nom_site.$url_site) ? "{{"._T('info_urlref')."}} [".$nom_site."->".$url_site."]" : ''; |
---|
| 544 | echo propre($texte_case); |
---|
| 545 | echo "</font>"; |
---|
| 546 | echo "</div>"; |
---|
| 547 | } |
---|
| 548 | |
---|
| 549 | |
---|
| 550 | if ($statut_article == 'prop') { |
---|
| 551 | echo "<P><FONT FACE='Verdana,Arial,Sans,sans-serif' SIZE=2 COLOR='red'><B>"._T('text_article_propose_publication')."</B></FONT></P>"; |
---|
| 552 | } |
---|
| 553 | |
---|
| 554 | echo "</td>"; |
---|
| 555 | |
---|
| 556 | $flag_modif = false; |
---|
| 557 | |
---|
| 558 | if ($flag_editable) { |
---|
| 559 | echo "<td>". http_img_pack('rien.gif', " ", "width='5'") . "</td>\n"; |
---|
| 560 | echo "<td align='center'>"; |
---|
| 561 | |
---|
| 562 | // Recuperer les donnees de l'article |
---|
| 563 | if ($GLOBALS['meta']['articles_modif'] != 'non') { |
---|
| 564 | $result = spip_query("SELECT auteur_modif, UNIX_TIMESTAMP(date_modif) AS modification, UNIX_TIMESTAMP(NOW()) AS maintenant FROM spip_articles WHERE id_article='$id_article'"); |
---|
| 565 | |
---|
| 566 | |
---|
| 567 | if ($row = spip_fetch_array($result)) { |
---|
| 568 | $auteur_modif = $row["auteur_modif"]; |
---|
| 569 | $modification = $row["modification"]; |
---|
| 570 | $maintenant = $row["maintenant"]; |
---|
| 571 | |
---|
| 572 | $date_diff = floor(($maintenant - $modification)/60); |
---|
| 573 | |
---|
| 574 | if ($date_diff >= 0 AND $date_diff < 60 AND $auteur_modif > 0 AND $auteur_modif != $connect_id_auteur) { |
---|
| 575 | $result_auteur = spip_query("SELECT nom FROM spip_auteurs WHERE id_auteur='$auteur_modif'"); |
---|
| 576 | |
---|
| 577 | if ($row_auteur = spip_fetch_array($result_auteur)) { |
---|
| 578 | $nom_auteur_modif = typo($row_auteur["nom"]); |
---|
| 579 | } |
---|
| 580 | $modif = array('nom_auteur_modif' => $nom_auteur_modif, 'date_diff' => $date_diff); |
---|
| 581 | } |
---|
| 582 | } |
---|
| 583 | } |
---|
| 584 | bouton_modifier_articles($id_article, $id_rubrique, $modif, _T('avis_article_modifie', $modif), "article-24.gif", "edit.gif"); |
---|
| 585 | |
---|
| 586 | echo "</td>"; |
---|
| 587 | } |
---|
| 588 | echo "</tr></table>\n"; |
---|
| 589 | echo "<div> </div>"; |
---|
| 590 | return $modif; |
---|
| 591 | } |
---|
| 592 | |
---|
| 593 | |
---|
| 594 | function dates_articles($id_article, $id_rubrique, $flag_editable, $statut_article, $date, $annee, $mois, $jour, $heure, $minute, $date_redac, $annee_redac, $mois_redac, $jour_redac, $heure_redac, $minute_redac) |
---|
| 595 | { |
---|
| 596 | |
---|
| 597 | global $spip_lang_left, $spip_lang_right, $options; |
---|
| 598 | |
---|
| 599 | if ($flag_editable AND $options == 'avancees') { |
---|
| 600 | debut_cadre_couleur(); |
---|
| 601 | |
---|
| 602 | echo generer_url_post_ecrire("articles", "id_article=$id_article"); |
---|
| 603 | |
---|
| 604 | if ($statut_article == 'publie') { |
---|
| 605 | |
---|
| 606 | echo "<div><b>"; |
---|
| 607 | echo bouton_block_invisible("datepub"); |
---|
| 608 | echo "<span class='verdana1'>"._T('texte_date_publication_article').'</span> '; |
---|
| 609 | echo majuscules(affdate($date)), |
---|
| 610 | "</b>".aide('artdate')."</div>"; |
---|
| 611 | |
---|
| 612 | echo debut_block_invisible("datepub"), |
---|
| 613 | "<div style='margin: 5px; margin-$spip_lang_left: 20px;'>", |
---|
| 614 | WCalendar_controller($date,''), |
---|
| 615 | /*afficher_jour($jour, "name='jour' size='1' class='fondl' onChange=\"setvisibility('valider_date', 'visible')\"", true), |
---|
| 616 | afficher_mois($mois, "name='mois' size='1' class='fondl' onChange=\"setvisibility('valider_date', 'visible')\"", true), |
---|
| 617 | afficher_annee($annee, "name='annee' size='1' class='fondl' onChange=\"setvisibility('valider_date', 'visible')\""),*/ |
---|
| 618 | ' - ', |
---|
| 619 | afficher_heure($heure, "name='heure' size='1' class='fondl' onChange=\"setvisibility('valider_date', 'visible')\""), |
---|
| 620 | afficher_minute($minute, "name='minute' size='1' class='fondl' onChange=\"setvisibility('valider_date', 'visible')\""), |
---|
| 621 | "<span class='visible_au_chargement' id='valider_date'>", |
---|
| 622 | " <INPUT TYPE='submit' NAME='Changer' CLASS='fondo' VALUE='"._T('bouton_changer')."'>", |
---|
| 623 | "</span>", |
---|
| 624 | "</div>", |
---|
| 625 | fin_block(); |
---|
| 626 | } |
---|
| 627 | else { |
---|
| 628 | echo "<div><b> <span class='verdana1'>"._T('texte_date_creation_article').'</span> '; |
---|
| 629 | echo majuscules(affdate($date))."</b>".aide('artdate')."</div>"; |
---|
| 630 | } |
---|
| 631 | |
---|
| 632 | $possedeDateRedac=($annee_redac.'-'.$mois_redac.'-'.$jour_redac != '0000-00-00'); |
---|
| 633 | if (($options == 'avancees' AND $GLOBALS['meta']["articles_redac"] != 'non') |
---|
| 634 | OR $possedeDateRedac) { |
---|
| 635 | if ($possedeDateRedac) |
---|
| 636 | $date_affichee = majuscules(affdate($date_redac)) |
---|
| 637 | # ." " ._T('date_fmt_heures_minutes', array('h' =>$heure_redac, 'm'=>$minute_redac)) |
---|
| 638 | ; |
---|
| 639 | else |
---|
| 640 | $date_affichee = majuscules(_T('jour_non_connu_nc')); |
---|
| 641 | |
---|
| 642 | echo "<div><b>"; |
---|
| 643 | echo bouton_block_invisible('dateredac'); |
---|
| 644 | echo "<span class='verdana1'>" |
---|
| 645 | . majuscules(_T('texte_date_publication_anterieure')) |
---|
| 646 | .'</span> '. $date_affichee ." ".aide('artdate_redac')."</b></div>"; |
---|
| 647 | |
---|
| 648 | echo debut_block_invisible('dateredac'); |
---|
| 649 | echo "<div style='margin: 5px; margin-$spip_lang_left: 20px;'>"; |
---|
| 650 | echo '<table cellpadding="0" cellspacing="0" border="0" width="100%">'; |
---|
| 651 | echo '<tr><td align="$spip_lang_left">'; |
---|
| 652 | echo '<input type="radio" name="avec_redac" value="non" id="avec_redac_on"'; |
---|
| 653 | if (!$possedeDateRedac) echo ' checked="checked"'; |
---|
| 654 | echo " onClick=\"setvisibility('valider_date_prec', 'visible')\""; |
---|
| 655 | echo ' /> <label for="avec_redac_on">'._T('texte_date_publication_anterieure_nonaffichee').'</label>'; |
---|
| 656 | echo '<br /><input type="radio" name="avec_redac" value="oui" id="avec_redac_off"'; |
---|
| 657 | if ($possedeDateRedac) echo ' checked="checked"'; |
---|
| 658 | echo " onClick=\"setvisibility('valider_date_prec', 'visible')\""; |
---|
| 659 | echo ' /> <label for="avec_redac_off">'._T('bouton_radio_afficher').' :</label> ', |
---|
| 660 | WCalendar_controller($date_redac,'_redac'); |
---|
| 661 | /*afficher_jour($jour_redac, "name='jour_redac' class='fondl' onChange=\"setvisibility('valider_date_prec', 'visible')\"", true), |
---|
| 662 | afficher_mois($mois_redac, "name='mois_redac' class='fondl' onChange=\"setvisibility('valider_date_prec', 'visible')\"", true); |
---|
| 663 | echo "<input type='text' name='annee_redac' class='fondl' value='".$annee_redac."' size='5' maxlength='4' onClick=\"setvisibility('valider_date_prec', 'visible')\"/>";*/ |
---|
| 664 | |
---|
| 665 | echo '<div align="center">', |
---|
| 666 | afficher_heure($heure_redac, "name='heure_redac' class='fondl' onChange=\"setvisibility('valider_date_prec', 'visible')\"", true), |
---|
| 667 | afficher_minute($minute_redac, "name='minute_redac' class='fondl' onChange=\"setvisibility('valider_date_prec', 'visible')\"", true), |
---|
| 668 | "</div>\n"; |
---|
| 669 | |
---|
| 670 | echo '</td><td align="$spip_lang_right">'; |
---|
| 671 | echo "<span class='visible_au_chargement' id='valider_date_prec'>"; |
---|
| 672 | echo '<input type="submit" name="Changer" class="fondo" value="'._T('bouton_changer').'" />'; |
---|
| 673 | echo "</span>"; |
---|
| 674 | echo '</td></tr>'; |
---|
| 675 | echo '</table>'; |
---|
| 676 | echo "</div>"; |
---|
| 677 | echo fin_block(); |
---|
| 678 | } |
---|
| 679 | |
---|
| 680 | echo "</FORM>"; |
---|
| 681 | fin_cadre_couleur(); |
---|
| 682 | } |
---|
| 683 | else { |
---|
| 684 | if ($statut_article == 'publie') $texte_date = _T('texte_date_publication_article'); |
---|
| 685 | else $texte_date = _T('texte_date_creation_article'); |
---|
| 686 | |
---|
| 687 | debut_cadre_couleur(); |
---|
| 688 | echo "<div style='text-align:center;'><b> <span class='verdana1'>$texte_date</span> "; |
---|
| 689 | echo majuscules(affdate($date))."</b>".aide('artdate')."</div>"; |
---|
| 690 | |
---|
| 691 | |
---|
| 692 | if ($annee_redac.'-'.$mois_redac.'-'.$jour_redac != '0000-00-00') { |
---|
| 693 | $date_affichee = ' : '.majuscules(affdate($date_redac)); |
---|
| 694 | echo "<div style='text-align:center;'><b> <span class='verdana1'>"._T(texte_date_publication_anterieure)."</span> "; |
---|
| 695 | echo $date_affichee."</b>".aide('artdate_redac')."</div>"; |
---|
| 696 | } |
---|
| 697 | |
---|
| 698 | fin_cadre_couleur(); |
---|
| 699 | } |
---|
| 700 | } |
---|
| 701 | |
---|
| 702 | |
---|
| 703 | function langues_articles($id_article, $langue_article, $flag_editable, $id_rubrique, $id_trad, $dir_lang, $nom_select, $lier_trad) |
---|
| 704 | { |
---|
| 705 | |
---|
| 706 | global $connect_statut, $couleur_claire, $options, $connect_toutes_rubriques; |
---|
| 707 | |
---|
| 708 | if (($GLOBALS['meta']['multi_articles'] == 'oui') |
---|
| 709 | OR (($GLOBALS['meta']['multi_rubriques'] == 'oui') AND ($GLOBALS['meta']['gerer_trad'] == 'oui'))) { |
---|
| 710 | |
---|
| 711 | list($langue_article) = spip_fetch_array(spip_query("SELECT lang FROM spip_articles WHERE id_article=$id_article")); |
---|
| 712 | |
---|
| 713 | if ($GLOBALS['meta']['gerer_trad'] == 'oui') |
---|
| 714 | $titre_barre = _T('titre_langue_trad_article'); |
---|
| 715 | else |
---|
| 716 | $titre_barre = _T('titre_langue_article'); |
---|
| 717 | |
---|
| 718 | $titre_barre .= " (".traduire_nom_langue($langue_article).")"; |
---|
| 719 | |
---|
| 720 | debut_cadre_enfonce('langues-24.gif', false, "", bouton_block_invisible('languesarticle,ne_plus_lier,lier_traductions').$titre_barre); |
---|
| 721 | |
---|
| 722 | |
---|
| 723 | // Choix langue article |
---|
| 724 | if ($GLOBALS['meta']['multi_articles'] == 'oui' AND $flag_editable) { |
---|
| 725 | echo debut_block_invisible('languesarticle'); |
---|
| 726 | |
---|
| 727 | $row = spip_fetch_array(spip_query("SELECT lang FROM spip_rubriques WHERE id_rubrique=$id_rubrique")); |
---|
| 728 | $langue_parent = $row['lang']; |
---|
| 729 | |
---|
| 730 | debut_cadre_couleur(); |
---|
| 731 | echo "<div style='text-align: center;'>"; |
---|
| 732 | echo menu_langues('changer_lang', $langue_article, _T('info_multi_cet_article').' ', $langue_parent); |
---|
| 733 | echo "</div>\n"; |
---|
| 734 | fin_cadre_couleur(); |
---|
| 735 | |
---|
| 736 | echo fin_block(); |
---|
| 737 | } |
---|
| 738 | |
---|
| 739 | |
---|
| 740 | // Gerer les groupes de traductions |
---|
| 741 | if ($GLOBALS['meta']['gerer_trad'] == 'oui') { |
---|
| 742 | if ($flag_editable AND _request('supp_trad') == 'oui') { // Ne plus lier a un groupe de trad |
---|
| 743 | spip_query("UPDATE spip_articles SET id_trad=0, date_modif=NOW() WHERE id_article = $id_article"); |
---|
| 744 | |
---|
| 745 | // Verifier si l'ancien groupe ne comporte plus qu'un seul article. Alors mettre a zero. |
---|
| 746 | $result_autres_trad= spip_query("SELECT COUNT(id_article) AS total FROM spip_articles WHERE id_trad = $id_trad"); |
---|
| 747 | if ($row = spip_fetch_array($result_autres_trad)) |
---|
| 748 | $nombre_autres_trad = $row["total"]; |
---|
| 749 | if ($nombre_autres_trad == 1) |
---|
| 750 | spip_query("UPDATE spip_articles SET id_trad = 0, date_modif=NOW() WHERE id_trad = $id_trad"); |
---|
| 751 | |
---|
| 752 | $id_trad = 0; |
---|
| 753 | } |
---|
| 754 | |
---|
| 755 | // Changer article de reference de la trad |
---|
| 756 | if ($id_trad_new = intval($id_trad_new) |
---|
| 757 | AND $id_trad_old = intval($id_trad_old) |
---|
| 758 | AND $connect_statut=='0minirezo' |
---|
| 759 | AND $connect_toutes_rubriques) { |
---|
| 760 | spip_query("UPDATE spip_articles SET id_trad = $id_trad_new, date_modif=NOW() WHERE id_trad = $id_trad_old"); |
---|
| 761 | $id_trad = $id_trad_new; |
---|
| 762 | } |
---|
| 763 | |
---|
| 764 | if ($flag_editable AND $lier_trad > 0) { // Lier a un groupe de trad |
---|
| 765 | $result_lier = spip_query("SELECT id_trad FROM spip_articles WHERE id_article=$lier_trad"); |
---|
| 766 | |
---|
| 767 | if ($row = spip_fetch_array($result_lier)) { |
---|
| 768 | $id_lier = $row['id_trad']; |
---|
| 769 | |
---|
| 770 | if ($id_lier == 0) { // Si l'article vise n'a pas deja de traduction, creer nouveau id_trad |
---|
| 771 | $nouveau_trad = $lier_trad; |
---|
| 772 | } |
---|
| 773 | else { |
---|
| 774 | if ($id_lier == $id_trad) $err = "<div>"._T('trad_deja_traduit')."</div>"; |
---|
| 775 | $nouveau_trad = $id_lier; |
---|
| 776 | } |
---|
| 777 | |
---|
| 778 | spip_query("UPDATE spip_articles SET id_trad = $nouveau_trad, date_modif=NOW() WHERE id_article = $lier_trad"); |
---|
| 779 | if ($id_lier > 0) spip_query("UPDATE spip_articles SET id_trad = $nouveau_trad, date_modif=NOW() WHERE id_trad = $id_lier"); |
---|
| 780 | spip_query("UPDATE spip_articles SET id_trad = $nouveau_trad, date_modif=NOW() WHERE id_article = $id_article"); |
---|
| 781 | if ($id_trad > 0) spip_query("UPDATE spip_articles SET id_trad = $nouveau_trad, date_modif=NOW() WHERE id_trad = $id_trad"); |
---|
| 782 | |
---|
| 783 | $id_trad = $nouveau_trad; |
---|
| 784 | } |
---|
| 785 | else |
---|
| 786 | $err .= "<div>"._T('trad_article_inexistant')."</div>"; |
---|
| 787 | |
---|
| 788 | if ($err) echo "<font color='red' size=2' face='verdana,arial,helvetica,sans-serif'>$err</font>"; |
---|
| 789 | } |
---|
| 790 | |
---|
| 791 | |
---|
| 792 | // Afficher la liste des traductions |
---|
| 793 | if ($id_trad != 0) { |
---|
| 794 | $result_trad = spip_query("SELECT id_article, id_rubrique, titre, lang, statut FROM spip_articles WHERE id_trad = $id_trad"); |
---|
| 795 | |
---|
| 796 | $table=''; |
---|
| 797 | while ($row = spip_fetch_array($result_trad)) { |
---|
| 798 | $vals = ''; |
---|
| 799 | $id_article_trad = $row["id_article"]; |
---|
| 800 | $id_rubrique_trad = $row["id_rubrique"]; |
---|
| 801 | $titre_trad = $row["titre"]; |
---|
| 802 | $lang_trad = $row["lang"]; |
---|
| 803 | $statut_trad = $row["statut"]; |
---|
| 804 | |
---|
| 805 | changer_typo($lang_trad); |
---|
| 806 | $titre_trad = "<span $dir_lang>$titre_trad</span>"; |
---|
| 807 | |
---|
| 808 | if ($ifond == 1) { |
---|
| 809 | $ifond = 0; |
---|
| 810 | $bgcolor = "white"; |
---|
| 811 | } else { |
---|
| 812 | $ifond = 1; |
---|
| 813 | $bgcolor = $couleur_claire; |
---|
| 814 | } |
---|
| 815 | |
---|
| 816 | |
---|
| 817 | $vals[] = http_img_pack("puce-".puce_statut($statut_trad).'.gif', "", "width='7' height='7' border='0' NAME='statut'"); |
---|
| 818 | |
---|
| 819 | if ($id_article_trad == $id_trad) { |
---|
| 820 | $vals[] = http_img_pack('langues-12.gif', "", "width='12' height='12' border='0'"); |
---|
| 821 | $titre_trad = "<b>$titre_trad</b>"; |
---|
| 822 | } else { |
---|
| 823 | if ($connect_statut=='0minirezo' |
---|
| 824 | AND $connect_toutes_rubriques) |
---|
| 825 | $vals[] = "<a href='" . generer_url_ecrire("articles","id_article=$id_article&id_trad_old=$id_trad&id_trad_new=$id_article_trad&id_rubrique=$id_rubrique_trad") . "'>". |
---|
| 826 | http_img_pack('langues-off-12.gif', _T('trad_reference'), "width='12' height='12' border='0'", _T('trad_reference')) . "</a>"; |
---|
| 827 | else $vals[] = http_img_pack('langues-off-12.gif', "", "width='12' height='12' border='0'"); |
---|
| 828 | } |
---|
| 829 | |
---|
| 830 | $ret .= "</td>"; |
---|
| 831 | |
---|
| 832 | $s = typo($titre_trad); |
---|
| 833 | if ($id_article_trad != $id_article) |
---|
| 834 | $s = "<a href='" . generer_url_ecrire("articles","id_article=$id_article_trad&id_rubrique=$id_rubrique_trad") . "'>$s</a>"; |
---|
| 835 | if ($id_article_trad == $id_trad) |
---|
| 836 | $s .= " "._T('trad_reference'); |
---|
| 837 | |
---|
| 838 | $vals[] = $s; |
---|
| 839 | $vals[] = traduire_nom_langue($lang_trad); |
---|
| 840 | $table[] = $vals; |
---|
| 841 | } |
---|
| 842 | |
---|
| 843 | // changer_typo($spip_lang); (probleme d'affichage rtl?) |
---|
| 844 | |
---|
| 845 | // bloc traductions |
---|
| 846 | if (count($vals) > 0) { |
---|
| 847 | |
---|
| 848 | echo "<div class='liste'>"; |
---|
| 849 | bandeau_titre_boite2(_T('trad_article_traduction'),''); |
---|
| 850 | echo "<table width='100%' cellspacing='0' border='0' cellpadding='2'>"; |
---|
| 851 | //echo "<tr bgcolor='#eeeecc'><td colspan='4' class='serif2'><b>"._T('trad_article_traduction')."</b></td></tr>"; |
---|
| 852 | |
---|
| 853 | $largeurs = array(7, 12, '', 100); |
---|
| 854 | $styles = array('', '', 'arial2', 'arial2'); |
---|
| 855 | echo afficher_liste($largeurs, $table, $styles); |
---|
| 856 | |
---|
| 857 | echo "</table>"; |
---|
| 858 | echo "</div>"; |
---|
| 859 | |
---|
| 860 | } |
---|
| 861 | |
---|
| 862 | changer_typo($langue_article); |
---|
| 863 | } |
---|
| 864 | |
---|
| 865 | echo debut_block_invisible('lier_traductions'); |
---|
| 866 | |
---|
| 867 | echo "<table width='100%'><tr>"; |
---|
| 868 | if ($flag_editable AND $options == "avancees" AND !$ret) { |
---|
| 869 | // Formulaire pour lier a un article |
---|
| 870 | echo "<td class='arial2' width='60%'>"; |
---|
| 871 | |
---|
| 872 | echo "<form action='" . generer_url_ecrire("articles","id_article=$id_article") . "' method='post' style='margin:0px; padding:0px;'>"; |
---|
| 873 | echo _T('trad_lier'); |
---|
| 874 | echo "<div align='$spip_lang_right'><input type='text' class='fondl' name='lier_trad' size='5'> <INPUT TYPE='submit' NAME='Valider' VALUE='"._T('bouton_valider')."' CLASS='fondl'></div>"; |
---|
| 875 | echo "</form>"; |
---|
| 876 | echo "</td>\n"; |
---|
| 877 | echo "<td background='' width='10'> </td>"; |
---|
| 878 | echo "<td background='" . _DIR_IMG_PACK . "tirets-separation.gif' width='2'>". http_img_pack('rien.gif', " ", "width='2' height='2'") . "</td>"; |
---|
| 879 | echo "<td background='' width='10'> </td>"; |
---|
| 880 | } |
---|
| 881 | echo "<td>"; |
---|
| 882 | icone_horizontale(_T('trad_new'), generer_url_ecrire("articles_edit","new=oui&lier_trad=$id_article&id_rubrique=$id_rubrique"), "traductions-24.gif", "creer.gif"); |
---|
| 883 | echo "</td>"; |
---|
| 884 | if ($flag_editable AND $options == "avancees" AND $ret) { |
---|
| 885 | echo "<td background='' width='10'> </td>"; |
---|
| 886 | echo "<td background='" . _DIR_IMG_PACK . "tirets-separation.gif' width='2'>". http_img_pack('rien.gif', " ", "width='2' height='2'") . "</td>"; |
---|
| 887 | echo "<td background='' width='10'> </td>"; |
---|
| 888 | echo "<td>"; |
---|
| 889 | icone_horizontale(_T('trad_delier'), generer_url_ecrire("articles","id_article=$id_article&supp_trad=oui"), "traductions-24.gif", "supprimer.gif"); |
---|
| 890 | echo "</td>\n"; |
---|
| 891 | } |
---|
| 892 | |
---|
| 893 | echo "</tr></table>"; |
---|
| 894 | |
---|
| 895 | echo fin_block(); |
---|
| 896 | } |
---|
| 897 | |
---|
| 898 | fin_cadre_enfonce(); |
---|
| 899 | } |
---|
| 900 | } |
---|
| 901 | |
---|
| 902 | function add_auteur_article($id_article, $nouv_auteur) |
---|
| 903 | { |
---|
| 904 | $res = spip_query("SELECT id_article FROM spip_auteurs_articles WHERE id_auteur='$nouv_auteur' AND id_article='$id_article'"); |
---|
| 905 | if (!spip_num_rows($res)) |
---|
| 906 | spip_abstract_insert('spip_auteurs_articles', "(id_auteur,id_article)", "('$nouv_auteur','$id_article')"); |
---|
| 907 | } |
---|
| 908 | |
---|
| 909 | function rechercher_auteurs_articles($cherche_auteur, $id_article, $id_rubrique, $ajout_auteur, $flag_editable, $nouv_auteur, $supp_auteur) |
---|
| 910 | { |
---|
| 911 | global $spip_lang_left; |
---|
| 912 | |
---|
| 913 | $supprimer_bouton_creer_auteur = false; |
---|
| 914 | |
---|
| 915 | if ($cherche_auteur) { |
---|
| 916 | echo "<P ALIGN='$spip_lang_left'>"; |
---|
| 917 | $result = spip_query("SELECT id_auteur, nom FROM spip_auteurs"); |
---|
| 918 | $table_auteurs = array(); |
---|
| 919 | $table_ids = array(); |
---|
| 920 | while ($row = spip_fetch_array($result)) { |
---|
| 921 | $table_auteurs[] = $row["nom"]; |
---|
| 922 | $table_ids[] = $row["id_auteur"]; |
---|
| 923 | } |
---|
| 924 | $resultat = mots_ressemblants($cherche_auteur, $table_auteurs, $table_ids); |
---|
| 925 | debut_boite_info(); |
---|
| 926 | if (!$resultat) { |
---|
| 927 | echo "<B>"._T('texte_aucun_resultat_auteur', array('cherche_auteur' => $cherche_auteur)).".</B><BR>"; |
---|
| 928 | } |
---|
| 929 | else if (count($resultat) == 1) { |
---|
| 930 | $ajout_auteur = 'oui'; |
---|
| 931 | list(, $nouv_auteur) = each($resultat); |
---|
| 932 | echo "<B>"._T('texte_ajout_auteur')."</B><BR>"; |
---|
| 933 | $result = spip_query("SELECT * FROM spip_auteurs WHERE id_auteur=$nouv_auteur"); |
---|
| 934 | echo "<UL>"; |
---|
| 935 | while ($row = spip_fetch_array($result)) { |
---|
| 936 | $id_auteur = $row['id_auteur']; |
---|
| 937 | $nom_auteur = $row['nom']; |
---|
| 938 | $email_auteur = $row['email']; |
---|
| 939 | $bio_auteur = $row['bio']; |
---|
| 940 | |
---|
| 941 | echo "<LI><FONT FACE='Verdana,Arial,Sans,sans-serif' SIZE=2><B><FONT SIZE=3>".typo($nom_auteur)."</FONT></B>"; |
---|
| 942 | echo "</FONT>\n"; |
---|
| 943 | } |
---|
| 944 | echo "</UL>"; |
---|
| 945 | } |
---|
| 946 | else if (count($resultat) < 16) { |
---|
| 947 | reset($resultat); |
---|
| 948 | $les_auteurs = array(); |
---|
| 949 | while (list(, $id_auteur) = each($resultat)) $les_auteurs[] = $id_auteur; |
---|
| 950 | if ($les_auteurs) { |
---|
| 951 | $les_auteurs = join(',', $les_auteurs); |
---|
| 952 | echo "<B>"._T('texte_plusieurs_articles', array('cherche_auteur' => $cherche_auteur))."</B><BR>"; |
---|
| 953 | $result = spip_query("SELECT * FROM spip_auteurs WHERE id_auteur IN ($les_auteurs) ORDER BY nom"); |
---|
| 954 | |
---|
| 955 | echo "<UL class='verdana1'>"; |
---|
| 956 | while ($row = spip_fetch_array($result)) { |
---|
| 957 | $id_auteur = $row['id_auteur']; |
---|
| 958 | $nom_auteur = $row['nom']; |
---|
| 959 | $email_auteur = $row['email']; |
---|
| 960 | $bio_auteur = $row['bio']; |
---|
| 961 | |
---|
| 962 | echo "<li><b>".typo($nom_auteur)."</b>"; |
---|
| 963 | |
---|
| 964 | if ($email_auteur) echo " ($email_auteur)"; |
---|
| 965 | echo " | <A href='", generer_url_ecrire('articles', "id_article=$id_article&ajout_auteur=oui&nouv_auteur=$id_auteur#auteurs"), |
---|
| 966 | "'>",_T('lien_ajouter_auteur'),"</A>"; |
---|
| 967 | |
---|
| 968 | if (trim($bio_auteur)) { |
---|
| 969 | echo "<br />".couper(propre($bio_auteur), 100)."\n"; |
---|
| 970 | } |
---|
| 971 | echo "</li>\n"; |
---|
| 972 | } |
---|
| 973 | echo "</UL>"; |
---|
| 974 | } |
---|
| 975 | } |
---|
| 976 | else { |
---|
| 977 | echo "<B>"._T('texte_trop_resultats_auteurs', array('cherche_auteur' => $cherche_auteur))."</B><BR>"; |
---|
| 978 | } |
---|
| 979 | |
---|
| 980 | if ($GLOBALS['connect_statut'] == '0minirezo' |
---|
| 981 | AND $GLOBALS['connect_toutes_rubriques']) { |
---|
| 982 | |
---|
| 983 | echo "<div style='width: 200px;'>"; |
---|
| 984 | $retour = rawurlencode(generer_url_ecrire("articles","id_article=$id_article")); |
---|
| 985 | $titre = rawurlencode($cherche_auteur); |
---|
| 986 | icone_horizontale(_T('icone_creer_auteur'), generer_url_ecrire("auteur_infos","ajouter_id_article=$id_article&nom=$titre&redirect=$retour"), "redacteurs-24.gif", "creer.gif"); |
---|
| 987 | echo "</div> "; |
---|
| 988 | |
---|
| 989 | // message pour ne pas afficher le second bouton "creer un auteur" |
---|
| 990 | $supprimer_bouton_creer_auteur = true; |
---|
| 991 | } |
---|
| 992 | |
---|
| 993 | fin_boite_info(); |
---|
| 994 | echo "<P>"; |
---|
| 995 | |
---|
| 996 | } |
---|
| 997 | |
---|
| 998 | // |
---|
| 999 | // Appliquer les modifications sur les auteurs |
---|
| 1000 | // |
---|
| 1001 | |
---|
| 1002 | if ($ajout_auteur && $flag_editable) { |
---|
| 1003 | if ($nouv_auteur > 0) { |
---|
| 1004 | add_auteur_article($id_article, $nouv_auteur); |
---|
| 1005 | } |
---|
| 1006 | |
---|
| 1007 | if ($GLOBALS['meta']['activer_moteur'] == 'oui') { |
---|
| 1008 | include_spip("inc/indexation"); |
---|
| 1009 | marquer_indexer('article', $id_article); |
---|
| 1010 | } |
---|
| 1011 | } |
---|
| 1012 | |
---|
| 1013 | |
---|
| 1014 | if ($supp_auteur && $flag_editable) { |
---|
| 1015 | spip_query("DELETE FROM spip_auteurs_articles WHERE id_auteur='$supp_auteur' AND id_article='$id_article'"); |
---|
| 1016 | |
---|
| 1017 | if ($GLOBALS['meta']['activer_moteur'] == 'oui') { |
---|
| 1018 | include_spip("inc/indexation"); |
---|
| 1019 | marquer_indexer('article', $id_article); |
---|
| 1020 | } |
---|
| 1021 | } |
---|
| 1022 | |
---|
| 1023 | return $supprimer_bouton_creer_auteur; |
---|
| 1024 | } |
---|
| 1025 | |
---|
| 1026 | function afficher_auteurs_articles($id_article, $flag_editable) |
---|
| 1027 | { |
---|
| 1028 | global $connect_statut, $options,$connect_id_auteur; |
---|
| 1029 | |
---|
| 1030 | $les_auteurs = array(); |
---|
| 1031 | |
---|
| 1032 | $result = spip_query("SELECT * FROM spip_auteurs AS auteurs, spip_auteurs_articles AS lien WHERE auteurs.id_auteur=lien.id_auteur AND lien.id_article=$id_article GROUP BY auteurs.id_auteur ORDER BY auteurs.nom"); |
---|
| 1033 | |
---|
| 1034 | if (spip_num_rows($result)) { |
---|
| 1035 | echo "<div class='liste'>"; |
---|
| 1036 | echo "<table width='100%' cellpadding='3' cellspacing='0' border='0' background=''>"; |
---|
| 1037 | $table = array(); |
---|
| 1038 | while ($row = spip_fetch_array($result)) { |
---|
| 1039 | $vals = array(); |
---|
| 1040 | $id_auteur = $row["id_auteur"]; |
---|
| 1041 | $nom_auteur = $row["nom"]; |
---|
| 1042 | $email_auteur = $row["email"]; |
---|
| 1043 | if ($bio_auteur = attribut_html(propre(couper($row["bio"], 100)))) |
---|
| 1044 | $bio_auteur = " TITLE=\"$bio_auteur\""; |
---|
| 1045 | $url_site_auteur = $row["url_site"]; |
---|
| 1046 | $statut_auteur = $row["statut"]; |
---|
| 1047 | if ($row['messagerie'] == 'non' OR $row['login'] == '') $messagerie = 'non'; |
---|
| 1048 | |
---|
| 1049 | $les_auteurs[] = $id_auteur; |
---|
| 1050 | |
---|
| 1051 | if ($connect_statut == "0minirezo") $aff_articles = "('prepa', 'prop', 'publie', 'refuse')"; |
---|
| 1052 | else $aff_articles = "('prop', 'publie')"; |
---|
| 1053 | |
---|
| 1054 | $result2 = spip_query("SELECT COUNT(articles.id_article) AS compteur FROM spip_auteurs_articles AS lien, spip_articles AS articles WHERE lien.id_auteur=$id_auteur AND articles.id_article=lien.id_article AND articles.statut IN $aff_articles GROUP BY lien.id_auteur"); |
---|
| 1055 | |
---|
| 1056 | if ($result2) list($nombre_articles) = spip_fetch_array($result2); |
---|
| 1057 | else $nombre_articles = 0; |
---|
| 1058 | |
---|
| 1059 | $vals[] = bonhomme_statut($row); |
---|
| 1060 | |
---|
| 1061 | $vals[] = "<A href='" . generer_url_ecrire('auteurs_edit', "id_auteur=$id_auteur") . "' $bio_auteur>".typo($nom_auteur)."</A>"; |
---|
| 1062 | |
---|
| 1063 | $vals[] = bouton_imessage($id_auteur); |
---|
| 1064 | |
---|
| 1065 | |
---|
| 1066 | |
---|
| 1067 | if ($email_auteur) $vals[] = "<A href='mailto:$email_auteur'>"._T('email')."</A>"; |
---|
| 1068 | else $vals[] = " "; |
---|
| 1069 | |
---|
| 1070 | if ($url_site_auteur) $vals[] = "<A href='$url_site_auteur'>"._T('info_site_min')."</A>"; |
---|
| 1071 | else $vals[] = " "; |
---|
| 1072 | |
---|
| 1073 | if ($nombre_articles > 1) $vals[] = $nombre_articles.' '._T('info_article_2'); |
---|
| 1074 | else if ($nombre_articles == 1) $vals[] = _T('info_1_article'); |
---|
| 1075 | else $vals[] = " "; |
---|
| 1076 | |
---|
| 1077 | if ($flag_editable AND ($connect_id_auteur != $id_auteur OR $connect_statut == '0minirezo') AND $options == 'avancees') { |
---|
| 1078 | $vals[] = "<A href='" . generer_url_ecrire("articles","id_article=$id_article&supp_auteur=$id_auteur#auteurs") . "'>"._T('lien_retirer_auteur')." ". http_img_pack('croix-rouge.gif', "X", "width='7' height='7' border='0' align='middle'") . "</A>"; |
---|
| 1079 | } else { |
---|
| 1080 | $vals[] = ""; |
---|
| 1081 | } |
---|
| 1082 | |
---|
| 1083 | $table[] = $vals; |
---|
| 1084 | } |
---|
| 1085 | |
---|
| 1086 | |
---|
| 1087 | $largeurs = array('14', '', '', '', '', '', ''); |
---|
| 1088 | $styles = array('arial11', 'arial2', 'arial11', 'arial11', 'arial11', 'arial11', 'arial1'); |
---|
| 1089 | echo afficher_liste($largeurs, $table, $styles); |
---|
| 1090 | |
---|
| 1091 | |
---|
| 1092 | echo "</table></div>\n"; |
---|
| 1093 | |
---|
| 1094 | $les_auteurs = join(',', $les_auteurs); |
---|
| 1095 | } |
---|
| 1096 | return $les_auteurs ; |
---|
| 1097 | } |
---|
| 1098 | |
---|
| 1099 | |
---|
| 1100 | function ajouter_auteurs_articles($id_article, $id_rubrique, $les_auteurs, $flag_editable, $rubrique_article, $supprimer_bouton_creer_auteur) |
---|
| 1101 | { |
---|
| 1102 | global $connect_toutes_rubriques, $connect_statut, $couleur_claire ; |
---|
| 1103 | |
---|
| 1104 | echo debut_block_invisible("auteursarticle"); |
---|
| 1105 | echo "<table width='100%'><tr>"; |
---|
| 1106 | |
---|
| 1107 | if ($connect_statut == '0minirezo' |
---|
| 1108 | AND $connect_toutes_rubriques |
---|
| 1109 | AND !$supprimer_bouton_creer_auteur) { |
---|
| 1110 | echo "<td width='200'>"; |
---|
| 1111 | $retour = rawurlencode(generer_url_ecrire("articles","id_article=$id_article")); |
---|
| 1112 | icone_horizontale(_T('icone_creer_auteur'), generer_url_ecrire("auteur_infos","ajouter_id_article=$id_article&redirect=$retour"), "redacteurs-24.gif", "creer.gif"); |
---|
| 1113 | echo "</td>"; |
---|
| 1114 | echo "<td width='20'> </td>"; |
---|
| 1115 | } |
---|
| 1116 | |
---|
| 1117 | echo "<td>"; |
---|
| 1118 | |
---|
| 1119 | $result = spip_query("SELECT * FROM spip_auteurs WHERE " . |
---|
| 1120 | (!$les_auteurs ? '' : "id_auteur NOT IN ($les_auteurs) AND ") . |
---|
| 1121 | "statut!='5poubelle' AND statut!='6forum' AND statut!='nouveau' ORDER BY statut, nom"); |
---|
| 1122 | |
---|
| 1123 | $num = spip_num_rows($result); |
---|
| 1124 | if ($num) { |
---|
| 1125 | echo generer_url_post_ecrire("articles", "id_article=$id_article");; |
---|
| 1126 | echo "<span class='verdana1'><B>"._T('titre_cadre_ajouter_auteur')." </B></span>\n"; |
---|
| 1127 | echo "<DIV><INPUT TYPE='Hidden' NAME='id_article' VALUE=\"$id_article\">"; |
---|
| 1128 | |
---|
| 1129 | if ($num > 200) { |
---|
| 1130 | echo "<INPUT TYPE='text' NAME='cherche_auteur' onClick=\"setvisibility('valider_ajouter_auteur','visible');\" CLASS='fondl' VALUE='' SIZE='20'>"; |
---|
| 1131 | echo "<span class='visible_au_chargement' id='valider_ajouter_auteur'>"; |
---|
| 1132 | echo " <INPUT TYPE='submit' NAME='Chercher' VALUE='"._T('bouton_chercher')."' CLASS='fondo'>"; |
---|
| 1133 | echo "</span>"; |
---|
| 1134 | } else { |
---|
| 1135 | echo "<INPUT TYPE='Hidden' NAME='ajout_auteur' VALUE='oui'>"; |
---|
| 1136 | echo "<SELECT NAME='nouv_auteur' SIZE='1' STYLE='width:150px;' CLASS='fondl' onChange=\"setvisibility('valider_ajouter_auteur','visible');\">"; |
---|
| 1137 | while ($row = spip_fetch_array($result)) { |
---|
| 1138 | $id_auteur = $row["id_auteur"]; |
---|
| 1139 | $nom = $row["nom"]; |
---|
| 1140 | $email = $row["email"]; |
---|
| 1141 | $statut = $row["statut"]; |
---|
| 1142 | |
---|
| 1143 | $statut=str_replace("0minirezo", _T('info_administrateurs'), $statut); |
---|
| 1144 | $statut=str_replace("1comite", _T('info_redacteurs'), $statut); |
---|
| 1145 | $statut=str_replace("6visiteur", _T('info_visiteurs'), $statut); |
---|
| 1146 | |
---|
| 1147 | $premiere = strtoupper(substr(trim($nom), 0, 1)); |
---|
| 1148 | |
---|
| 1149 | if ($connect_statut != '0minirezo') |
---|
| 1150 | if ($p = strpos($email, '@')) |
---|
| 1151 | $email = substr($email, 0, $p).'@...'; |
---|
| 1152 | if ($email) |
---|
| 1153 | $email = " ($email)"; |
---|
| 1154 | |
---|
| 1155 | if ($statut != $statut_old) { |
---|
| 1156 | echo "\n<OPTION VALUE=\"x\">"; |
---|
| 1157 | echo "\n<OPTION VALUE=\"x\" style='background-color: $couleur_claire;'> $statut"; |
---|
| 1158 | } |
---|
| 1159 | |
---|
| 1160 | if ($premiere != $premiere_old AND ($statut != _T('info_administrateurs') OR !$premiere_old)) { |
---|
| 1161 | echo "\n<OPTION VALUE=\"x\">"; |
---|
| 1162 | } |
---|
| 1163 | |
---|
| 1164 | |
---|
| 1165 | echo "\n<OPTION VALUE=\"$id_auteur\"> ", supprimer_tags(couper(typo("$nom$email"), 40)); |
---|
| 1166 | $statut_old = $statut; |
---|
| 1167 | $premiere_old = $premiere; |
---|
| 1168 | } |
---|
| 1169 | |
---|
| 1170 | echo "</SELECT>", |
---|
| 1171 | "<span class='visible_au_chargement' id='valider_ajouter_auteur'>", |
---|
| 1172 | " <input type='submit' value="._T('bouton_ajouter')." CLASS='fondo'>", |
---|
| 1173 | "</span>"; |
---|
| 1174 | } |
---|
| 1175 | echo "</div></FORM>"; |
---|
| 1176 | } |
---|
| 1177 | |
---|
| 1178 | echo "</td></tr></table>"; |
---|
| 1179 | |
---|
| 1180 | echo fin_block(); |
---|
| 1181 | } |
---|
| 1182 | |
---|
| 1183 | function afficher_corps_articles($virtuel, $chapo, $texte, $ps, $extra) |
---|
| 1184 | { |
---|
| 1185 | global $revision_nbsp, $activer_revision_nbsp, $champs_extra, $les_notes, $dir_lang; |
---|
| 1186 | |
---|
| 1187 | echo "\n\n<div align='justify' style='padding: 10px;'>"; |
---|
| 1188 | |
---|
| 1189 | if ($virtuel) { |
---|
| 1190 | debut_boite_info(); |
---|
| 1191 | echo _T('info_renvoi_article')." ".propre("<center>[->$virtuel]</center>"); |
---|
| 1192 | fin_boite_info(); |
---|
| 1193 | } else { |
---|
| 1194 | $revision_nbsp = $activer_revision_nbsp; |
---|
| 1195 | |
---|
| 1196 | if (strlen($chapo) > 0) { |
---|
| 1197 | echo "<div $dir_lang><b>"; |
---|
| 1198 | echo propre($chapo); |
---|
| 1199 | echo "</b></div>\n\n"; |
---|
| 1200 | } |
---|
| 1201 | |
---|
| 1202 | echo "<div $dir_lang>"; |
---|
| 1203 | # echo reduire_image(propre($texte), 500,10000); |
---|
| 1204 | echo propre($texte); |
---|
| 1205 | echo "<br clear='both' />"; |
---|
| 1206 | echo "</div>"; |
---|
| 1207 | |
---|
| 1208 | if ($ps) { |
---|
| 1209 | echo debut_cadre_enfonce(); |
---|
| 1210 | echo "<div $dir_lang><font style='font-family:Verdana,Arial,Sans,sans-serif; font-size: small;'>"; |
---|
| 1211 | echo justifier("<b>"._T('info_ps')."</b> ".propre($ps)); |
---|
| 1212 | echo "</font></div>"; |
---|
| 1213 | echo fin_cadre_enfonce(); |
---|
| 1214 | } |
---|
| 1215 | $revision_nbsp = false; |
---|
| 1216 | |
---|
| 1217 | if ($les_notes) { |
---|
| 1218 | echo debut_cadre_relief(); |
---|
| 1219 | echo "<div $dir_lang class='arial11'>"; |
---|
| 1220 | echo justifier("<b>"._T('info_notes')." :</b> ".$les_notes); |
---|
| 1221 | echo "</div>"; |
---|
| 1222 | echo fin_cadre_relief(); |
---|
| 1223 | } |
---|
| 1224 | |
---|
| 1225 | if ($champs_extra AND $extra) { |
---|
| 1226 | include_spip('inc/extra'); |
---|
| 1227 | extra_affichage($extra, "articles"); |
---|
| 1228 | } |
---|
| 1229 | } |
---|
| 1230 | } |
---|
| 1231 | |
---|
| 1232 | function affiche_forums_article($id_article, $id_rubrique, $titre, $debut, $mute=false) |
---|
| 1233 | { |
---|
| 1234 | global $spip_lang_left; |
---|
| 1235 | |
---|
| 1236 | echo "<BR><BR>"; |
---|
| 1237 | |
---|
| 1238 | $forum_retour = generer_url_ecrire("articles","id_article=$id_article", true); |
---|
| 1239 | |
---|
| 1240 | if (!$mute) { |
---|
| 1241 | $tm = rawurlencode($titre); |
---|
| 1242 | echo "\n<div align='center'>"; |
---|
| 1243 | icone(_T('icone_poster_message'), generer_url_ecrire("forum_envoi","statut=prive&adresse_retour=" . rawurlencode($forum_retour) . "&id_article=$id_article&titre_message=$tm"), "forum-interne-24.gif", "creer.gif"); |
---|
| 1244 | echo "</div>"; |
---|
| 1245 | } |
---|
| 1246 | |
---|
| 1247 | echo "<P align='$spip_lang_left'>"; |
---|
| 1248 | |
---|
| 1249 | $result_forum = spip_query("SELECT COUNT(*) AS cnt FROM spip_forum WHERE statut='prive' AND id_article='$id_article' AND id_parent=0"); |
---|
| 1250 | |
---|
| 1251 | $total = 0; |
---|
| 1252 | if ($row = spip_fetch_array($result_forum)) $total = $row["cnt"]; |
---|
| 1253 | |
---|
| 1254 | if (!$debut) $debut = 0; |
---|
| 1255 | $total_afficher = 8; |
---|
| 1256 | if ($total > $total_afficher) { |
---|
| 1257 | echo "<div class='serif2' align='center'>"; |
---|
| 1258 | for ($i = 0; $i < $total; $i = $i + $total_afficher){ |
---|
| 1259 | $y = $i + $total_afficher - 1; |
---|
| 1260 | if ($i == $debut) |
---|
| 1261 | echo "<FONT SIZE=3><B>[$i-$y]</B></FONT> "; |
---|
| 1262 | else |
---|
| 1263 | echo "[<A href='" . generer_url_ecrire("articles","id_article=$id_article&debut=$i") . "'>$i-$y</A>] "; |
---|
| 1264 | } |
---|
| 1265 | echo "</div>"; |
---|
| 1266 | } |
---|
| 1267 | |
---|
| 1268 | $result_forum = spip_query("SELECT * FROM spip_forum WHERE statut='prive' AND id_article='$id_article' AND id_parent=0 ORDER BY date_heure DESC" . |
---|
| 1269 | # " LIMIT $total_afficher OFFSET $debut" # PG |
---|
| 1270 | " LIMIT $debut,$total_afficher" |
---|
| 1271 | ); |
---|
| 1272 | |
---|
| 1273 | afficher_forum($result_forum, $forum_retour, $mute); |
---|
| 1274 | |
---|
| 1275 | if (!$debut) $debut = 0; |
---|
| 1276 | $total_afficher = 8; |
---|
| 1277 | if ($total > $total_afficher) { |
---|
| 1278 | echo "<div class='serif2' align='center'>"; |
---|
| 1279 | for ($i = 0; $i < $total; $i = $i + $total_afficher){ |
---|
| 1280 | $y = $i + $total_afficher - 1; |
---|
| 1281 | if ($i == $debut) |
---|
| 1282 | echo "<FONT SIZE=3><B>[$i-$y]</B></FONT> "; |
---|
| 1283 | else |
---|
| 1284 | echo "[<A href='" . generer_url_ecrire("articles","id_article=$id_article&debut=$i") . "'>$i-$y</A>] "; |
---|
| 1285 | } |
---|
| 1286 | echo "</div>"; |
---|
| 1287 | } |
---|
| 1288 | |
---|
| 1289 | echo "</div>\n"; |
---|
| 1290 | } |
---|
| 1291 | |
---|
| 1292 | function afficher_statut_articles($id_article, $rubrique_article, $statut_article) |
---|
| 1293 | { |
---|
| 1294 | global $connect_statut; |
---|
| 1295 | |
---|
| 1296 | if ($connect_statut == '0minirezo' AND acces_rubrique($rubrique_article)) { |
---|
| 1297 | |
---|
| 1298 | echo "\n<form method='post' action='", |
---|
| 1299 | generer_action_auteur("instituer", "article $id_article", generer_url_ecrire('articles', "id_article=$id_article", true)), |
---|
| 1300 | "'>", |
---|
| 1301 | debut_cadre_relief("", true), |
---|
| 1302 | "\n<center>", "<B>",_T('texte_article_statut'),"</B>", |
---|
| 1303 | "\n<SELECT NAME='statut_nouv' SIZE='1' CLASS='fondl'\n", |
---|
| 1304 | "onChange=\"document.statut.src='", |
---|
| 1305 | _DIR_IMG_PACK, |
---|
| 1306 | "' + puce_statut(options[selectedIndex].value);", |
---|
| 1307 | " setvisibility('valider_statut', 'visible');\">\n", |
---|
| 1308 | "<OPTION" , mySel("prepa", $statut_article) ," style='background-color: white'>",_T('texte_statut_en_cours_redaction'),"</OPTION>\n", |
---|
| 1309 | "<OPTION" , mySel("prop", $statut_article) , " style='background-color: #FFF1C6'>",_T('texte_statut_propose_evaluation'),"</OPTION>\n", |
---|
| 1310 | "<OPTION" , mySel("publie", $statut_article) , " style='background-color: #B4E8C5'>",_T('texte_statut_publie'),"</OPTION>\n", |
---|
| 1311 | "<OPTION" , mySel("poubelle", $statut_article), |
---|
| 1312 | http_style_background('rayures-sup.gif') , '>' ,_T('texte_statut_poubelle'),"</OPTION>\n", |
---|
| 1313 | "<OPTION" , mySel("refuse", $statut_article) , " style='background-color: #FFA4A4'>",_T('texte_statut_refuse'),"</OPTION>\n", |
---|
| 1314 | "</SELECT>", |
---|
| 1315 | " ", |
---|
| 1316 | http_img_pack("puce-".puce_statut($statut_article).'.gif', "", "border='0' NAME='statut'"), |
---|
| 1317 | " \n"; |
---|
| 1318 | |
---|
| 1319 | echo "<span class='visible_au_chargement' id='valider_statut'>"; |
---|
| 1320 | echo "<INPUT TYPE='submit' VALUE='"._T('bouton_valider')."' CLASS='fondo'>"; |
---|
| 1321 | echo "</span>"; |
---|
| 1322 | echo aide("artstatut"); |
---|
| 1323 | echo "</center>"; |
---|
| 1324 | fin_cadre_relief(); |
---|
| 1325 | echo "\n</form>"; |
---|
| 1326 | } |
---|
| 1327 | } |
---|
| 1328 | |
---|
| 1329 | // |
---|
| 1330 | // Reunit les textes decoupes parce que trop longs |
---|
| 1331 | // |
---|
| 1332 | |
---|
| 1333 | function trop_longs_articles($texte_plus) |
---|
| 1334 | { |
---|
| 1335 | $nb_texte = 0; |
---|
| 1336 | while ($nb_texte ++ < count($texte_plus)+1){ |
---|
| 1337 | $texte_ajout .= ereg_replace("<!--SPIP-->[\n\r]*","", |
---|
| 1338 | $texte_plus[$nb_texte]); |
---|
| 1339 | } |
---|
| 1340 | return $texte_ajout; |
---|
| 1341 | } |
---|
| 1342 | |
---|
| 1343 | |
---|
| 1344 | function modif_langue_articles($id_article, $id_rubrique, $changer_lang) |
---|
| 1345 | { |
---|
| 1346 | |
---|
| 1347 | // Appliquer la modification de langue |
---|
| 1348 | if ($GLOBALS['meta']['multi_articles'] == 'oui') { |
---|
| 1349 | list($langue_parent) = spip_fetch_array(spip_query("SELECT lang FROM spip_rubriques WHERE id_rubrique=" . $id_rubrique)); |
---|
| 1350 | |
---|
| 1351 | if ($changer_lang) { |
---|
| 1352 | if ($changer_lang != "herit") |
---|
| 1353 | spip_query("UPDATE spip_articles SET lang='".addslashes($changer_lang)."', langue_choisie='oui', date_modif=NOW() WHERE id_article=$id_article"); |
---|
| 1354 | else |
---|
| 1355 | spip_query("UPDATE spip_articles SET lang='".addslashes($langue_parent)."', langue_choisie='non', date_modif=NOW() WHERE id_article=$id_article"); |
---|
| 1356 | } |
---|
| 1357 | } |
---|
| 1358 | } |
---|
| 1359 | |
---|
| 1360 | // Passer les images/docs en "inclus=non" |
---|
| 1361 | |
---|
| 1362 | function inclus_non_articles($id_article) |
---|
| 1363 | { |
---|
| 1364 | $result = spip_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"); |
---|
| 1365 | |
---|
| 1366 | while($row=spip_fetch_array($result)){ |
---|
| 1367 | $ze_doc[]=$row['id_document']; |
---|
| 1368 | } |
---|
| 1369 | |
---|
| 1370 | if (count($ze_doc)>0){ |
---|
| 1371 | $ze_docs = join($ze_doc,","); |
---|
| 1372 | spip_query("UPDATE spip_documents SET inclus='non' WHERE id_document IN ($ze_docs)"); |
---|
| 1373 | } |
---|
| 1374 | |
---|
| 1375 | } |
---|
| 1376 | |
---|
| 1377 | function revisions_articles ($id_article, $id_secteur, $id_rubrique, $id_rubrique_old, $change_rubrique, $new, $champs) { |
---|
| 1378 | { |
---|
| 1379 | global $connect_id_auteur, $flag_revisions, $champs_extra; |
---|
| 1380 | |
---|
| 1381 | // Stockage des versions : creer une premier version si non-existante |
---|
| 1382 | if (($GLOBALS['meta']["articles_versions"]=='oui') && $flag_revisions) { |
---|
| 1383 | include_spip('inc/revisions'); |
---|
| 1384 | if ($new != 'oui') { |
---|
| 1385 | $query = spip_query("SELECT id_article FROM spip_versions WHERE id_article=$id_article LIMIT 1"); |
---|
| 1386 | if (!spip_num_rows($query)) { |
---|
| 1387 | $select = join(", ", array_keys($champs)); |
---|
| 1388 | $query = spip_query("SELECT $select FROM spip_articles WHERE id_article=$id_article"); |
---|
| 1389 | $champs_originaux = spip_fetch_array($query); |
---|
| 1390 | $id_version = ajouter_version($id_article, $champs_originaux, _T('version_initiale'), 0); |
---|
| 1391 | |
---|
| 1392 | // Remettre une date un peu ancienne pour la version initiale |
---|
| 1393 | if ($id_version == 1) // test inutile ? |
---|
| 1394 | spip_query("UPDATE spip_versions SET date=DATE_SUB(NOW(), INTERVAL 2 HOUR) WHERE id_article=$id_article AND id_version=1"); |
---|
| 1395 | } |
---|
| 1396 | } |
---|
| 1397 | } |
---|
| 1398 | |
---|
| 1399 | if ($champs_extra) { |
---|
| 1400 | include_spip('inc/extra'); |
---|
| 1401 | $champs_extra = ", extra = '".addslashes(extra_recup_saisie("articles", $id_secteur))."'"; |
---|
| 1402 | } |
---|
| 1403 | |
---|
| 1404 | spip_query("UPDATE spip_articles SET surtitre='" . |
---|
| 1405 | addslashes($champs['surtitre']) . |
---|
| 1406 | "', titre='" . |
---|
| 1407 | addslashes($champs['titre']) . |
---|
| 1408 | "', soustitre='" . |
---|
| 1409 | addslashes($champs['soustitre']) . |
---|
| 1410 | "', id_rubrique=" . |
---|
| 1411 | intval($id_rubrique) . |
---|
| 1412 | ", descriptif='" . |
---|
| 1413 | addslashes($champs['descriptif']) . |
---|
| 1414 | "', chapo='" . |
---|
| 1415 | addslashes($champs['chapo']) . |
---|
| 1416 | "', texte='" . |
---|
| 1417 | addslashes($champs['texte']) . |
---|
| 1418 | "', ps='" . |
---|
| 1419 | addslashes($champs['ps']) . |
---|
| 1420 | "', url_site='" . |
---|
| 1421 | addslashes($champs['url_site']) . |
---|
| 1422 | "', nom_site='" . |
---|
| 1423 | addslashes($champs['nom_site']) . |
---|
| 1424 | "', date_modif=NOW() $champs_extra WHERE id_article=$id_article"); |
---|
| 1425 | |
---|
| 1426 | // Stockage des versions |
---|
| 1427 | if (($GLOBALS['meta']["articles_versions"]=='oui') && $flag_revisions) { |
---|
| 1428 | ajouter_version($id_article, $champs, '', $connect_id_auteur); |
---|
| 1429 | } |
---|
| 1430 | |
---|
| 1431 | // Changer la langue heritee |
---|
| 1432 | if ($id_rubrique != $id_rubrique_old) { |
---|
| 1433 | propager_les_secteurs(); |
---|
| 1434 | $row = spip_fetch_array(spip_query("SELECT lang, langue_choisie FROM spip_articles WHERE id_article=$id_article")); |
---|
| 1435 | $langue_old = $row['lang']; |
---|
| 1436 | $langue_choisie_old = $row['langue_choisie']; |
---|
| 1437 | |
---|
| 1438 | if ($langue_choisie_old != "oui") { |
---|
| 1439 | $row = spip_fetch_array(spip_query("SELECT lang FROM spip_rubriques WHERE id_rubrique=$id_rubrique")); |
---|
| 1440 | $langue_new = $row['lang']; |
---|
| 1441 | if ($langue_new != $langue_old) spip_query("UPDATE spip_articles SET lang = '$langue_new', date_modif=NOW() WHERE id_article = $id_article"); |
---|
| 1442 | } |
---|
| 1443 | } |
---|
| 1444 | |
---|
| 1445 | // marquer l'article (important pour les articles nouvellement crees) |
---|
| 1446 | spip_query("UPDATE spip_articles SET date_modif=NOW(), auteur_modif=$connect_id_auteur WHERE id_article=$id_article"); |
---|
| 1447 | calculer_rubriques(); |
---|
| 1448 | } |
---|
| 1449 | } |
---|
| 1450 | |
---|
| 1451 | function insert_article($id_parent, $new) |
---|
| 1452 | { |
---|
| 1453 | if ($new!='oui') redirige_par_entete("./"); |
---|
| 1454 | // Avec l'Ajax parfois id_rubrique vaut 0... ne pas l'accepter |
---|
| 1455 | if (!$id_rubrique = intval($id_parent)) { |
---|
| 1456 | list($id_rubrique) = spip_fetch_array(spip_query("SELECT id_rubrique FROM spip_rubriques WHERE id_parent=0 ORDER by 0+titre,titre LIMIT 1")); |
---|
| 1457 | } |
---|
| 1458 | |
---|
| 1459 | $row = spip_fetch_array(spip_query("SELECT lang FROM spip_rubriques WHERE id_rubrique=$id_rubrique")); |
---|
| 1460 | |
---|
| 1461 | $id_article = spip_abstract_insert("spip_articles", |
---|
| 1462 | "(id_rubrique, statut, date, accepter_forum, lang, langue_choisie)", |
---|
| 1463 | "($id_rubrique, 'prepa', NOW(), '" . |
---|
| 1464 | substr($GLOBALS['meta']['forums_publics'],0,3) |
---|
| 1465 | . "', '" |
---|
| 1466 | . ($row["lang"] ? $row["lang"] : $GLOBALS['meta']['langue_site']) |
---|
| 1467 | . "', 'non')"); |
---|
| 1468 | return $id_article; |
---|
| 1469 | } |
---|
| 1470 | // Y a-t-il vraiment 56 variables determinant l'edition d'un article ? |
---|
| 1471 | |
---|
| 1472 | function exec_articles_dist() |
---|
| 1473 | { |
---|
| 1474 | global $ajout_auteur, $annee, $annee_redac, $avec_redac, $champs_extra, $change_accepter_forum, $change_petition, $changer_lang, $changer_virtuel, $chapo, $cherche_auteur, $cherche_mot, $connect_id_auteur, $date, $date_redac, $debut, $descriptif, $email_unique, $heure, $heure_redac, $id_article, $id_article_bloque, $id_parent, $id_rubrique_old, $id_secteur, $jour, $jour_redac, $langue_article, $lier_trad, $message, $minute, $minute_redac, $mois, $mois_redac, $new, $nom_select, $nom_site, $nouv_auteur, $nouv_mot, $ps, $row, $site_obli, $site_unique, $soustitre, $supp_auteur, $supp_mot, $surtitre, $texte, $texte_petition, $texte_plus, $titre, $titre_article, $url_site, $virtuel; |
---|
| 1475 | |
---|
| 1476 | $id_parent = intval($id_parent); |
---|
| 1477 | $nouv_auteur = intval($nouv_auteur); |
---|
| 1478 | if (!($id_article=intval($id_article))) { |
---|
| 1479 | $id_article = insert_article($id_parent, $new); |
---|
| 1480 | add_auteur_article($id_article, $connect_id_auteur); |
---|
| 1481 | } |
---|
| 1482 | |
---|
| 1483 | // aucun doc implicitement inclus au départ. |
---|
| 1484 | |
---|
| 1485 | inclus_non_articles($id_article); |
---|
| 1486 | |
---|
| 1487 | |
---|
| 1488 | if ($row = spip_fetch_array(spip_query("SELECT statut, titre, id_rubrique FROM spip_articles WHERE id_article=$id_article"))) { |
---|
| 1489 | $statut_article = $row['statut']; |
---|
| 1490 | $titre_article = $row['titre']; |
---|
| 1491 | $id_rubrique = $row['id_rubrique']; |
---|
| 1492 | $statut_rubrique = acces_rubrique($id_rubrique); |
---|
| 1493 | if ($titre_article=='') $titre_article = _T('info_sans_titre'); |
---|
| 1494 | } |
---|
| 1495 | else { |
---|
| 1496 | $statut_article = ''; |
---|
| 1497 | $statut_rubrique = false; |
---|
| 1498 | $id_rubrique = '0'; |
---|
| 1499 | if ($titre=='') $titre = _T('info_sans_titre'); |
---|
| 1500 | } |
---|
| 1501 | |
---|
| 1502 | $flag_auteur = spip_num_rows(spip_query("SELECT id_auteur FROM spip_auteurs_articles WHERE id_article=$id_article AND id_auteur=$connect_id_auteur LIMIT 1")); |
---|
| 1503 | |
---|
| 1504 | $flag_editable = ($statut_rubrique OR ($flag_auteur AND $flag_editable)); |
---|
| 1505 | |
---|
| 1506 | if ($flag_editable) { |
---|
| 1507 | |
---|
| 1508 | if ($jour) { |
---|
| 1509 | $date = format_mysql_date($annee, $mois, $jour, $heure, $minute); |
---|
| 1510 | spip_query("UPDATE spip_articles SET date='$date', date_modif=NOW() |
---|
| 1511 | WHERE id_article=$id_article"); |
---|
| 1512 | calculer_rubriques(); |
---|
| 1513 | } |
---|
| 1514 | |
---|
| 1515 | if ($jour_redac) { |
---|
| 1516 | if ($annee_redac<>'' AND $annee_redac < 1001) $annee_redac += 9000; |
---|
| 1517 | |
---|
| 1518 | if ($avec_redac == 'non') |
---|
| 1519 | $date_redac = format_mysql_date(); |
---|
| 1520 | else |
---|
| 1521 | $date_redac = format_mysql_date( |
---|
| 1522 | $annee_redac, $mois_redac, $jour_redac, |
---|
| 1523 | $heure_redac, $minute_redac); |
---|
| 1524 | |
---|
| 1525 | spip_query("UPDATE spip_articles SET date_redac='$date_redac', date_modif=NOW() WHERE id_article=$id_article"); |
---|
| 1526 | } |
---|
| 1527 | |
---|
| 1528 | |
---|
| 1529 | modif_langue_articles($id_article, $id_rubrique, $changer_lang); |
---|
| 1530 | |
---|
| 1531 | maj_documents($id_article, 'article'); |
---|
| 1532 | |
---|
| 1533 | if ($changer_virtuel) { |
---|
| 1534 | $virtuel = eregi_replace("^http://$", "", trim($virtuel)); |
---|
| 1535 | if ($virtuel) $chapo = addslashes(corriger_caracteres("=$virtuel")); |
---|
| 1536 | else $chapo = ""; |
---|
| 1537 | spip_query("UPDATE spip_articles SET chapo='$chapo', date_modif=NOW() WHERE id_article=$id_article"); |
---|
| 1538 | } |
---|
| 1539 | |
---|
| 1540 | if ($titre) { |
---|
| 1541 | |
---|
| 1542 | // prendre en compte le changement eventuel, et seulement si autorise |
---|
| 1543 | if ($id_parent AND ($flag_auteur OR acces_rubrique($id_parent))) { |
---|
| 1544 | $id_rubrique = $id_parent; |
---|
| 1545 | } |
---|
| 1546 | $champs = array( |
---|
| 1547 | 'surtitre' => corriger_caracteres($surtitre), |
---|
| 1548 | 'titre' => ($titre_article=corriger_caracteres($titre)), |
---|
| 1549 | 'soustitre' => corriger_caracteres($soustitre), |
---|
| 1550 | 'descriptif' => corriger_caracteres($descriptif), |
---|
| 1551 | 'nom_site' => corriger_caracteres($nom_site), |
---|
| 1552 | 'url_site' => corriger_caracteres($url_site), |
---|
| 1553 | 'chapo' => corriger_caracteres($chapo), |
---|
| 1554 | 'texte' => corriger_caracteres(trop_longs_articles($texte_plus) . $texte), |
---|
| 1555 | 'ps' => corriger_caracteres($ps)) ; |
---|
| 1556 | |
---|
| 1557 | revisions_articles ($id_article, $id_secteur, $id_rubrique, $id_rubrique_old, |
---|
| 1558 | ($flag_auteur||$statut_rubrique), |
---|
| 1559 | $new, $champs); |
---|
| 1560 | $id_article_bloque = $id_article; // message pour inc/presentation |
---|
| 1561 | |
---|
| 1562 | } |
---|
| 1563 | } |
---|
| 1564 | |
---|
| 1565 | exec_affiche_articles_dist($id_article, $ajout_auteur, $change_accepter_forum, $change_petition, $changer_virtuel, $cherche_auteur, $cherche_mot, $debut, $email_unique, $flag_auteur, $flag_editable, $langue_article, $message, $nom_select, $nouv_auteur, $nouv_mot, $id_rubrique, $site_obli, $site_unique, $supp_auteur, $supp_mot, $texte_petition, $titre_article, $lier_trad); |
---|
| 1566 | |
---|
| 1567 | } |
---|
| 1568 | ?> |
---|