Subversion Repositories Sites.tela-botanica.org

Rev

Details | Last modification | View Log | RSS feed

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