Skip to content
Extraits de code Groupes Projets
inc_presentation.php3 87,9 ko
Newer Older
<?php

//
// Ce fichier ne sera execute qu'une fois
if (defined("_ECRIRE_INC_PRESENTATION")) return;
define("_ECRIRE_INC_PRESENTATION", "1");

include_ecrire ("inc_lang.php3");
utiliser_langue_visiteur();

Antoine Pitrou's avatar
Antoine Pitrou a validé

	global $couleur_foncee, $spip_lang, $spip_lang_rtl, $dir_ecrire;
Fil's avatar
 
Fil a validé
	if (!$aide) return;

	return "&nbsp;&nbsp;<a class='aide' href=\"".$dir_ecrire."aide_index.php3?aide=$aide&var_lang=$spip_lang\" target=\"spip_aide\" ".
Antoine Pitrou's avatar
Antoine Pitrou a validé
		"onclick=\"javascript:window.open(this.href, 'spip_aide', 'scrollbars=yes, ".
		"resizable=yes, width=740, height=580'); return false;\"><img ".
		"src=\"img_pack/aide.gif\" alt=\""._T('info_image_aide')."\" ".
		"title=\""._T('titre_image_aide')."\" width=\"12\" height=\"12\" border=\"0\" ".
		"align=\"middle\"></a>";
}


//
// affiche un bouton imessage
//
function bouton_imessage($destinataire, $row = '') {
	// si on passe "force" au lieu de $row, on affiche l'icone sans verification
	global $connect_id_auteur;
Fil's avatar
Fil a validé
	global $spip_lang_rtl;
ARNO*'s avatar
ARNO* a validé
	global $couche_invisible;
	$couche_invisible ++;
	$url = new Link("message_edit.php3");

	// verifier que ce n'est pas un auto-message
	if ($destinataire == $connect_id_auteur)
		return;
	// verifier que le destinataire a un login
	if ($row != "force") {
		$login_req = "select login, messagerie from spip_auteurs where id_auteur=$destinataire AND en_ligne>DATE_SUB(NOW(),INTERVAL 15 DAY)";
		$row = spip_fetch_array(spip_query($login_req));
		if (($row['login'] == "") OR ($row['messagerie'] == "non")) {
			return;
		}
	}
	$url->addVar('dest',$destinataire);
	$url->addVar('new','oui');
	$url->addVar('type','normal');
	if ($destinataire) $title = _T('info_envoyer_message_prive');
	else $title = _T('info_ecire_message_prive');
Fil's avatar
Fil a validé
	$texte_bouton = "<img src='img_pack/m_envoi$spip_lang_rtl.gif' width='14' height='7' border='0'>";
ARNO*'s avatar
ARNO* a validé
		
	
	$ret .= "<a href='". $url->getUrl() ."' title=\"$title\">";
	$ret .= "$texte_bouton</a>";

	return $ret;
	

ARNO*'s avatar
ARNO* a validé

Antoine Pitrou's avatar
Antoine Pitrou a validé
// Cadres
ARNO*'s avatar
ARNO* a validé
function debut_cadre($style, $icone = "", $fonction = "", $titre = "") {
	global $spip_display, $spip_lang_left;
	static $accesskey = 97; // a
Fil's avatar
Fil a validé

	// accesskey pour accessibilite espace prive
	$accesskey_c = chr($accesskey++);
ARNO*'s avatar
ARNO* a validé
	$ret = "<a name='access-$accesskey_c' href='#access-$accesskey_c' accesskey='$accesskey_c'></a>";
ARNO*'s avatar
ARNO* a validé

	$ret .= "<div style='position: relative; z-index: 1;'>";
	if ($spip_display != 1 AND strlen($icone) > 1) {
		$style_gauche = " style='padding-$spip_lang_left: 38px;'";
		$ret .= "<div style='position: absolute; top: 0px; $spip_lang_left: 10px; z-index: 2;'>";
ARNO*'s avatar
ARNO* a validé
			$ret .= "<div style='$bgright"."background: url(img_pack/$icone) no-repeat; padding: 0px; margin: 0px;'>";
			$ret .= "<img src='img_pack/$fonction'>";
			$ret .= "</div>";
ARNO*'s avatar
ARNO* a validé
		else $ret .= "<img src='img_pack/$icone'>";
		$ret .= "</div>";
Antoine Pitrou's avatar
Antoine Pitrou a validé

ARNO*'s avatar
ARNO* a validé
		$style_cadre = " style='position: relative; top: 15px; margin-bottom: 15px; z-index: 1;'";
Fil's avatar
Fil a validé
	}

ARNO*'s avatar
ARNO* a validé
	if ($style == "e") {
		$ret .= "<div class='cadre-e-noir'$style_cadre><div class='cadre-$style'>";
ARNO*'s avatar
ARNO* a validé
		$ret .= "<div class='cadre-$style'$style_cadre>";
ARNO*'s avatar
ARNO* a validé
	
	if (strlen($titre) > 0) {
		$ret .= "<div class='cadre-titre'$style_gauche>$titre</div>";
	}
	
	
	$ret .= "<div class='cadre-padding'>";
	
	
	return $ret;
}


function fin_cadre($style="") {
	if ($style == "e") $ret = "</div>";
	$ret .= "</div></div></div>\n";
	$ret .= "<div style='height: 5px;'></div>";
	
	return $ret;
}




function debut_cadre_relief($icone='', $return = false, $fonction='', $titre = ''){
	$retour_aff = debut_cadre('r', $icone, $fonction, $titre);
	if ($return) return $retour_aff;
	else echo $retour_aff;
function fin_cadre_relief($return = false){
ARNO*'s avatar
ARNO* a validé
	$retour_aff = fin_cadre('r');

	if ($return) return $retour_aff;
	else echo $retour_aff;
ARNO*'s avatar
ARNO* a validé
function debut_cadre_enfonce($icone='', $return = false, $fonction='', $titre = ''){
	$retour_aff = debut_cadre('e', $icone, $fonction, $titre);
Antoine Pitrou's avatar
Antoine Pitrou a validé

	if ($return) return $retour_aff;
	else echo $retour_aff;
}

function fin_cadre_enfonce($return = false){
ARNO*'s avatar
ARNO* a validé
	$retour_aff = fin_cadre('e');

	if ($return) return $retour_aff;
	else echo $retour_aff;
}


function debut_cadre_gris_clair($icone='', $return = false, $fonction='', $titre = ''){
	$retour_aff = debut_cadre('gris-clair', $icone, $fonction, $titre);

	if ($return) return $retour_aff;
	else echo $retour_aff;
}

function fin_cadre_gris_clair($return = false){
	$retour_aff = fin_cadre('gris-clair');

	if ($return) return $retour_aff;
	else echo $retour_aff;
}


function debut_cadre_couleur($icone='', $return = false, $fonction='', $titre=''){
	$retour_aff = debut_cadre('couleur', $icone, $fonction, $titre);

	if ($return) return $retour_aff;
	else echo $retour_aff;
}

function fin_cadre_couleur($return = false){
	$retour_aff = fin_cadre('couleur');

	if ($return) return $retour_aff;
	else echo $retour_aff;
}

function debut_cadre_trait_couleur($icone='', $return = false, $fonction='', $titre=''){
	$retour_aff = debut_cadre('trait-couleur', $icone, $fonction, $titre);

	if ($return) return $retour_aff;
	else echo $retour_aff;
}

function fin_cadre_trait_couleur($return = false){
	$retour_aff = fin_cadre('trait-couleur');

	if ($return) return $retour_aff;
	else echo $retour_aff;
//
// une boite alerte
//
function debut_boite_alerte() {
Antoine Pitrou's avatar
 
Antoine Pitrou a validé
	echo "<p><table cellpadding='6' border='0'><tr><td width='100%' bgcolor='red'>";
	echo "<table width='100%' cellpadding='12' border='0'><tr><td width='100%' bgcolor='white'>";
Antoine Pitrou's avatar
 
Antoine Pitrou a validé
	echo "</td></tr></table>";
	echo "</td></tr></table>";
ARNO*'s avatar
ARNO* a validé
/*	global $couleur_claire,  $couleur_foncee;
	echo "&nbsp;<p><div style='border: 1px dashed #666666;'><table cellpadding='5' cellspacing='0' border='0' width='100%' style='border-left: 1px solid $couleur_foncee; border-top: 1px solid $couleur_foncee; border-bottom: 1px solid white; border-bottom: 1px solid white' background=''>";
	echo "<tr><td bgcolor='$couleur_claire' width='100%'>";
	echo "<font face='Verdana,Arial,Sans,sans-serif' size='2' color='#333333'>";
ARNO*'s avatar
ARNO* a validé
	*/
	
	echo "<div class='cadre-info'>";
ARNO*'s avatar
ARNO* a validé
	//echo "</font></td></tr></table></div>\n\n";
	echo "</div>";
}

//
// une autre boite
//
function bandeau_titre_boite($titre, $afficher_auteurs, $boite_importante = true) {
	global $couleur_foncee;
	if ($boite_importante) {
		$couleur_fond = $couleur_foncee;
		$couleur_texte = '#FFFFFF';
	}
	else {
		$couleur_fond = '#EEEECC';
		$couleur_texte = '#000000';
	}
	echo "<tr bgcolor='$couleur_fond'><td width=\"100%\"><FONT FACE='Verdana,Arial,Sans,sans-serif' SIZE=3 COLOR='$couleur_texte'>";
	echo "<B>$titre</B></FONT></TD>";
	if ($afficher_auteurs){
		echo "<TD WIDTH='100'>";
ARNO*'s avatar
ARNO* a validé
		echo "<img src='img_pack/rien.gif' alt='' width='100' height='12' border='0'>";
ARNO*'s avatar
ARNO* a validé
	echo "<img src='img_pack/rien.gif' alt='' width='90' height='12' border='0'>";
ARNO*'s avatar
ARNO* a validé
//
// une autre boite
//
function bandeau_titre_boite2($titre, $logo="", $fond="white", $texte="black") {
	global $spip_lang_left, $spip_display;
	
	if (strlen($logo) > 0 AND $spip_display != 1) {
		echo "<div style='position: relative;'>";
		echo "<div style='position: absolute; top: -12px; $spip_lang_left: 3px;'><img src='img_pack/$logo'></div>";
		echo "<div style='background-color: $fond; color: $texte; padding: 3px; padding-$spip_lang_left: 30px; border-bottom: 1px solid #444444;' class='verdana2'><b>$titre</b></div>";
	
		echo "</div>";
	} else {
		echo "<div style='background-color: $fond; color: $texte; padding: 3px; border-bottom: 1px solid #444444;' class='verdana2'><b>$titre</b></div>";
	}

}
//
// La boite raccourcis
//

function debut_raccourcis() {
	creer_colonne_droite();

	echo "<font face='Verdana,Arial,Sans,sans-serif' size=1>";
ARNO*'s avatar
ARNO* a validé
	echo "<b>"._T('titre_cadre_raccourcis')."</b><p />";
}

function fin_raccourcis() {
	echo "</font>";
	fin_cadre_enfonce();
}

//
// Fonctions d'affichage
//

function afficher_liste($largeurs, $table, $styles = '') {
	global $couleur_claire;

	if (!is_array($table)) return;
	reset($table);
	echo "\n";
	while (list(, $t) = each($table)) {
ARNO*'s avatar
ARNO* a validé
		// $couleur_fond = ($ifond ^= 1) ? '#FFFFFF' : $couleur_claire;
		//echo "<tr bgcolor=\"$couleur_fond\">";
		echo "<tr class='tr_liste' onMouseOver=\"changeclass(this,'tr_liste_over');\" onMouseOut=\"changeclass(this,'tr_liste');\">";
		reset($largeurs);
		if ($styles) reset($styles);
		while (list(, $texte) = each($t)) {
			$style = $largeur = "";
			list(, $largeur) = each($largeurs);
			if ($styles) list(, $style) = each($styles);
			if (!trim($texte)) $texte .= "&nbsp;";
			echo "<td";
			if ($largeur) echo " width=\"$largeur\"";
			if ($style) echo " class=\"$style\"";
			echo ">$texte</td>";
		}
		echo "</tr>\n";
	}
	echo "\n";
}

function afficher_tranches_requete(&$query, $colspan) {
Antoine Pitrou's avatar
Antoine Pitrou a validé
	static $ancre = 0;
ARNO*'s avatar
ARNO* a validé
	global $spip_lang_right;
Antoine Pitrou's avatar
Antoine Pitrou a validé

	$query = trim($query);
	$query_count = eregi_replace('^(SELECT)[[:space:]].*[[:space:]](FROM)[[:space:]]', '\\1 COUNT(*) \\2 ', $query);
Fil's avatar
Fil a validé

	list($num_rows) = spip_fetch_row(spip_query($query_count));
	if (!$num_rows) return;

	$nb_aff = 10;
	// Ne pas couper pour trop peu
	if ($num_rows <= 1.5 * $nb_aff) $nb_aff = $num_rows;
	if (ereg('LIMIT .*,([0-9]+)', $query, $regs)) {
		if ($num_rows > $regs[1]) $num_rows = $regs[1];
	}

	$texte = "\n";

	if ($num_rows > $nb_aff) {
		$tmp_var = $query;
		$deb_aff = intval(getTmpVar($tmp_var));
Antoine Pitrou's avatar
Antoine Pitrou a validé
		$ancre++;
Antoine Pitrou's avatar
Antoine Pitrou a validé
		$texte .= "<a name='a$ancre'></a>";
ARNO*'s avatar
ARNO* a validé
		$texte .= "<tr style='background-color: #dddddd;'><td class=\"arial2\" style='border-bottom: 1px solid #444444;' colspan=\"".($colspan - 1)."\">";

		for ($i = 0; $i < $num_rows; $i += $nb_aff){
			$deb = $i + 1;
			$fin = $i + $nb_aff;
			if ($fin > $num_rows) $fin = $num_rows;
Fil's avatar
Fil a validé
			if ($deb > 1) $texte .= " | ";
			if ($deb_aff + 1 >= $deb AND $deb_aff + 1 <= $fin) {
Fil's avatar
Fil a validé
				$texte .= "<B>$deb</B>";
			}
			else {
				$link = new Link;
				$link->addTmpVar($tmp_var, strval($deb - 1));
Antoine Pitrou's avatar
Antoine Pitrou a validé
				$texte .= "<A HREF=\"".$link->getUrl()."#a$ancre\">$deb</A>";
ARNO*'s avatar
ARNO* a validé
		$texte .= "<td class=\"arial2\" style='border-bottom: 1px solid #444444; text-align: $spip_lang_right;' colspan=\"1\" align=\"right\" valign=\"top\">";
			$texte .= "<B>"._T('info_tout_afficher')."</B>";
		} else {
			$link = new Link;
			$link->addTmpVar($tmp_var, -1);
Antoine Pitrou's avatar
Antoine Pitrou a validé
			$texte .= "<A HREF=\"".$link->getUrl()."#a$ancre\">"._T('lien_tout_afficher')."</A>";
Antoine Pitrou's avatar
Antoine Pitrou a validé

		$texte .= "</td>\n";
		$texte .= "</tr>\n";
		if ($deb_aff != -1) {
			$query = eregi_replace('LIMIT[[:space:]].*$', '', $query);
			$query .= " LIMIT $deb_aff, $nb_aff";
		}
	}

	return $texte;
}


ARNO*'s avatar
ARNO* a validé

Antoine Pitrou's avatar
Antoine Pitrou a validé
function afficher_articles($titre_table, $requete, $afficher_visites = false, $afficher_auteurs = true,
		$toujours_afficher = false, $afficher_cadre = true, $afficher_descriptif = true) {

	global $connect_id_auteur, $connect_statut, $dir_lang;
	global $spip_lang_left;
Antoine Pitrou's avatar
Antoine Pitrou a validé
	$activer_messagerie = lire_meta("activer_messagerie");
	$activer_statistiques = lire_meta("activer_statistiques");
Antoine Pitrou's avatar
Antoine Pitrou a validé
	$afficher_visites = ($afficher_visites AND $connect_statut == "0minirezo" AND $activer_statistiques != "non");
Antoine Pitrou's avatar
Antoine Pitrou a validé
	if (!ereg("^SELECT", $requete)) {
		$select = "SELECT articles.id_article, articles.titre, articles.id_rubrique, articles.statut, articles.date";

		if ((lire_meta('multi_rubriques') == 'oui' AND $GLOBALS['coll'] == 0) OR lire_meta('multi_articles') == 'oui') {
			$afficher_langue = true;
			if ($GLOBALS['langue_rubrique']) $langue_defaut = $GLOBALS['langue_rubrique'];
			else $langue_defaut = lire_meta('langue_site');
			$select .= ", articles.lang";
		}
		if ($afficher_visites)
			$select .= ", articles.visites, articles.popularite";
		if ($afficher_descriptif)
			$select .= ", articles.descriptif";
		$select .= ", petitions.id_article AS petition ";
		$requete = $select . "FROM spip_articles AS articles " . $requete;
	if ($options == "avancees")  $ajout_col = 1;
	else $ajout_col = 0;

	$tranches = afficher_tranches_requete($requete, $afficher_auteurs ? 3 + $ajout_col : 2 + $ajout_col);
Antoine Pitrou's avatar
Antoine Pitrou a validé
	$requete = str_replace("FROM spip_articles AS articles ", "FROM spip_articles AS articles LEFT JOIN spip_petitions AS petitions USING (id_article)", $requete);

	if (strlen($tranches) OR $toujours_afficher) {
	 	$result = spip_query($requete);
ARNO*'s avatar
ARNO* a validé
		// if ($afficher_cadre) debut_cadre_gris_clair("article-24.gif");


		echo "<div style='height: 12px;'></div>";
		echo "<div class='liste'>";
		bandeau_titre_boite2($titre_table, "article-24.gif");

		echo "<table width='100%' cellpadding='2' cellspacing='0' border='0'>";
		while ($row = spip_fetch_array($result)) {
			$vals = '';

			$id_article = $row['id_article'];
			$titre = $row['titre'];
			$id_rubrique = $row['id_rubrique'];
			$date = $row['date'];
			$statut = $row['statut'];
			$visites = $row['visites'];
			if ($lang = $row['lang']) changer_typo($lang);
			$popularite = ceil(min(100,100 * $row['popularite'] / max(1, 0 + lire_meta('popularite_max'))));
			$descriptif = $row['descriptif'];
Fil's avatar
Fil a validé
			if ($descriptif) $descriptif = ' title="'.attribut_html(typo($descriptif)).'"';
Antoine Pitrou's avatar
Antoine Pitrou a validé
			$petition = $row['petition'];

			if ($afficher_auteurs) {
				$les_auteurs = "";
Antoine Pitrou's avatar
Antoine Pitrou a validé
			 	$query2 = "SELECT auteurs.id_auteur, nom, messagerie, login, en_ligne ".
			 		"FROM spip_auteurs AS auteurs, spip_auteurs_articles AS lien ".
			 		"WHERE lien.id_article=$id_article AND auteurs.id_auteur=lien.id_auteur";
				$result_auteurs = spip_query($query2);
				while ($row = spip_fetch_array($result_auteurs)) {
					$id_auteur = $row['id_auteur'];
					$nom_auteur = typo($row['nom']);
					$auteur_messagerie = $row['messagerie'];
					$les_auteurs .= ", <a href='auteurs_edit.php3?id_auteur=$id_auteur'>$nom_auteur</a>";
					if ($id_auteur != $connect_id_auteur AND $auteur_messagerie != "non" AND $activer_messagerie != "non") {
						$les_auteurs .= "&nbsp;".bouton_imessage($id_auteur, $row);
					}
				}
				$les_auteurs = substr($les_auteurs, 2);
			}
ARNO*'s avatar
ARNO* a validé
			
			
			$les_auteurs = "<div class='liste_clip' style='width: 100px;'>$les_auteurs</div>";
Antoine Pitrou's avatar
Antoine Pitrou a validé
			switch ($statut) {
			case 'publie':
				$puce = 'verte';
				$title = _T('info_article_publie');
Antoine Pitrou's avatar
Antoine Pitrou a validé
				break;
			case 'prepa':
				$puce = 'blanche';
				$title = _T('info_article_redaction');
Antoine Pitrou's avatar
Antoine Pitrou a validé
				break;
			case 'prop':
				$puce = 'orange';
				$title = _T('info_article_propose');
Antoine Pitrou's avatar
Antoine Pitrou a validé
				break;
			case 'refuse':
				$puce = 'rouge';
				$title = _T('info_article_refuse');
Antoine Pitrou's avatar
Antoine Pitrou a validé
				break;
			case 'poubelle':
				$puce = 'poubelle';
				$title = _T('info_article_supprime');
Antoine Pitrou's avatar
Antoine Pitrou a validé
				break;
			}
			$puce = "puce-$puce.gif";
ARNO*'s avatar
ARNO* a validé
			$s = "<div style='background: url(img_pack/$puce) $spip_lang_left center no-repeat; margin-$spip_lang_left: 3px; padding-$spip_lang_left: 14px;'>";

			//$s. = "<a href=\"articles.php3?id_article=$id_article\" title=\"$title\">";

			//$s .= "<img src=\"img_pack/$puce\" alt='' width=\"13\" height=\"14\" border=\"0\"></a>&nbsp;&nbsp;";
			if (acces_restreint_rubrique($id_rubrique))
				$s .= "<img src='img_pack/admin-12.gif' alt='' width='12' height='12' title='"._T('titre_image_admin_article')."'>&nbsp;";
Antoine Pitrou's avatar
Antoine Pitrou a validé
			$s .= "<a href=\"articles.php3?id_article=$id_article\"$descriptif$dir_lang>".typo($titre)."</a>";
			if ($afficher_langue AND $lang != $langue_defaut)
Antoine Pitrou's avatar
Antoine Pitrou a validé
				$s .= " <font size='1' color='#666666'$dir_lang>(".traduire_nom_langue($lang).")</font>";
			if ($petition) $s .= " <Font size=1 color='red'>"._T('lien_petitions')."</font>";
			if ($afficher_auteurs) $vals[] = $les_auteurs;

Fil's avatar
Fil a validé
			$s = affdate_jourcourt($date);
Antoine Pitrou's avatar
Antoine Pitrou a validé
			if ($afficher_visites AND $visites > 0) {
				$s .= "<br><font size=\"1\"><a href='statistiques_visites.php3?id_article=$id_article'>"._T('lien_visites', array('visites' => $visites))."</a></font>";
				if ($popularite > 0) $s .= "<br><font size=\"1\"><a href='statistiques_visites.php3?id_article=$id_article'>"._T('lien_popularite', array('popularite' => $popularite))."</a></font>";
ARNO*'s avatar
ARNO* a validé
			
			$s = "<div class='liste_clip' style='width: 100px;'>$s</div>";
			
			
			if ($options == "avancees") {
				$vals[] = "<b>"._T('info_numero_abbreviation')."$id_article</b>";
			}
			
		spip_free_result($result);
		if ($options == "avancees") { // Afficher le numero (JMB)
			if ($afficher_auteurs) {
				$largeurs = array('', 80, 100, 30);
				$styles = array('arial2', 'arial1', 'arial1', 'arial1');
			} else {
				$largeurs = array('', 100, 30);
				$styles = array('arial2', 'arial1', 'arial1');
			}
		} else {
			if ($afficher_auteurs) {
				$largeurs = array('', 100, 100);
				$styles = array('arial2', 'arial1', 'arial1');
			} else {
				$largeurs = array('', 100);
				$styles = array('arial2', 'arial1');
			}
		}
		afficher_liste($largeurs, $table, $styles);
ARNO*'s avatar
ARNO* a validé
		echo "</table>";
		echo "</div>";
		//if ($afficher_cadre) fin_cadre_gris_clair();
ARNO*'s avatar
ARNO* a validé

function afficher_breves($titre_table, $requete, $affrub=false) {
ARNO*'s avatar
ARNO* a validé
	global $connect_id_auteur, $spip_lang_right, $spip_lang_left, $dir_lang, $couleur_claire, $couleur_foncee;
ARNO*'s avatar
ARNO* a validé

	if ((lire_meta('multi_rubriques') == 'oui' AND $GLOBALS['coll'] == 0) OR lire_meta('multi_articles') == 'oui') {
		$afficher_langue = true;
		$requete = ereg_replace(" FROM", ", lang FROM", $requete);
Antoine Pitrou's avatar
Antoine Pitrou a validé
		if ($GLOBALS['langue_rubrique']) $langue_defaut = $GLOBALS['langue_rubrique'];
		else $langue_defaut = lire_meta('langue_site');
	
	if ($options == "avancees") $tranches = afficher_tranches_requete($requete, 3);
	else  $tranches = afficher_tranches_requete($requete, 2);
Antoine Pitrou's avatar
Antoine Pitrou a validé

ARNO*'s avatar
ARNO* a validé
		//debut_cadre_relief("breve-24.gif");

		if ($titre_table) echo "<div style='height: 12px;'></div>";
		echo "<div class='liste'>";
ARNO*'s avatar
ARNO* a validé
			bandeau_titre_boite2($titre_table, "breve-24.gif", $couleur_foncee, "white");
ARNO*'s avatar
ARNO* a validé
		echo "<table width='100%' cellpadding='3' cellspacing='0' border='0' background=''>";

		$result = spip_query($requete);
		while ($row = spip_fetch_array($result)) {
			$vals = '';

			$id_breve = $row['id_breve'];
			$date_heure = $row['date_heure'];
			$titre = $row['titre'];
			$statut = $row['statut'];
			if ($lang = $row['lang']) changer_typo($lang);
			$id_rubrique = $row['id_rubrique'];
Antoine Pitrou's avatar
Antoine Pitrou a validé
			switch ($statut) {
			case 'prop':
ARNO*'s avatar
ARNO* a validé
				$puce = "puce-orange-breve";
				$title = _T('titre_breve_proposee');
Antoine Pitrou's avatar
Antoine Pitrou a validé
				break;
			case 'publie':
				$title = _T('titre_breve_publiee');
Antoine Pitrou's avatar
Antoine Pitrou a validé
				break;
Antoine Pitrou's avatar
Antoine Pitrou a validé
			case 'refuse':
				$title = _T('titre_breve_refusee');
Antoine Pitrou's avatar
Antoine Pitrou a validé
				break;
			}
ARNO*'s avatar
ARNO* a validé
			$s = "<div style='background: url(img_pack/$puce.gif) $spip_lang_left center no-repeat; margin-$spip_lang_left: 3px; padding-$spip_lang_left: 12px;'>";
Antoine Pitrou's avatar
Antoine Pitrou a validé
			$s .= "<a href='breves_voir.php3?id_breve=$id_breve'$dir_lang>";
Fil's avatar
Fil a validé
			$s .= "</a>";
Antoine Pitrou's avatar
Antoine Pitrou a validé
			if ($afficher_langue AND $lang != $langue_defaut)
				$s .= " <font size='1' color='#666666'$dir_lang>(".traduire_nom_langue($lang).")</font>";
ARNO*'s avatar
ARNO* a validé
			$s .= "</div>";
ARNO*'s avatar
ARNO* a validé
			$s = "";
			if ($affrub) {
ARNO*'s avatar
ARNO* a validé
				$rub = spip_fetch_array(spip_query("SELECT id_rubrique, titre FROM spip_rubriques WHERE id_rubrique=$id_rubrique"));
				$id_rubrique = $rub['id_rubrique'];
				$s .= "<a href='naviguer.php3?coll=$id_rubrique'>".typo($rub['titre'])."</a>";
Fil's avatar
Fil a validé
			} else if ($statut != "prop")
Fil's avatar
Fil a validé
				$s = affdate_jourcourt($date_heure);
Fil's avatar
Fil a validé
			else
				$s .= _T('info_a_valider');
			
			if ($options == "avancees") {
				$vals[] = "<b>"._T('info_numero_abbreviation')."$id_breve</b>";
			}
			
		spip_free_result($result);
		if ($options == "avancees") {
			if ($affrub) $largeurs = array('', '170', '30');
			else  $largeurs = array('', '100', '30');
			$styles = array('arial11', 'arial1', 'arial1');
		} else {
			if ($affrub) $largeurs = array('', '170');
			else  $largeurs = array('', '100');
			$styles = array('arial11', 'arial1');
		}

		afficher_liste($largeurs, $table, $styles);

ARNO*'s avatar
ARNO* a validé
		echo "</table></div>";
		//fin_cadre_relief();
}


//
// Afficher tableau de rubriques
//

function afficher_rubriques($titre_table, $requete) {
	global $connect_id_auteur;
Fil's avatar
Fil a validé
	global $spip_lang_rtl;

	$tranches = afficher_tranches_requete($requete, 2);

	if (strlen($tranches)) {

ARNO*'s avatar
ARNO* a validé
		if ($titre_table) echo "<div style='height: 12px;'></div>";
		echo "<div class='liste'>";
		//debut_cadre_relief("rubrique-24.gif");
ARNO*'s avatar
ARNO* a validé
			bandeau_titre_boite2($titre_table, "rubrique-24.gif", "#999999", "white");
ARNO*'s avatar
ARNO* a validé
		echo "<table width=100% cellpadding=3 cellspacing=0 border=0 background=''>";
		$result = spip_query($requete);
		while ($row = spip_fetch_array($result)) {
			$vals = '';

			$id_rubrique = $row['id_rubrique'];
ARNO*'s avatar
ARNO* a validé
			$id_parent = $row['id_parent'];
ARNO*'s avatar
ARNO* a validé
			
			if ($id_parent == 0) $puce = "img_pack/secteur-12.gif";
			else $puce = "img_pack/rubrique-12.gif";

			$s = "<b><a href=\"naviguer.php3?coll=$id_rubrique\">";
Antoine Pitrou's avatar
Antoine Pitrou a validé
			$s .= "<img src=\"$puce\" alt=\"- \" border=\"0\"> ";
			$s .= typo($titre);
			$s .= "</A></b>";
			$vals[] = $s;

			$s = "<div align=\"right\">";
			$s .= "</div>";
			$vals[] = $s;
			$table[] = $vals;
		}
		spip_free_result($result);

		$largeurs = array('', '');
		$styles = array('arial2', 'arial2');
		afficher_liste($largeurs, $table, $styles);

		echo "</TABLE>";
ARNO*'s avatar
ARNO* a validé
		//fin_cadre_relief();
		echo "</div>";

//
// Afficher des auteurs sur requete SQL
//
function bonhomme_statut($row) {
	global $connect_statut;

Antoine Pitrou's avatar
Antoine Pitrou a validé
	switch($row['statut']) {
		case "0minirezo":
			$image = "<img src='img_pack/admin-12.gif' alt='' title='"._T('titre_image_administrateur')."' border='0'>";
			break;
		case "1comite":
			if ($connect_statut == '0minirezo' AND ($row['source'] == 'spip' AND !($row['pass'] AND $row['login'])))
				$image = "<img src='img_pack/visit-12.gif' alt='' title='"._T('titre_image_redacteur')."' border='0'>";
				$image = "<img src='img_pack/redac-12.gif' alt='' title='"._T('titre_image_redacteur_02')."' border='0'>";
			break;
		case "5poubelle":
			$image = "<img src='img_pack/poubelle.gif' alt='' title='"._T('titre_image_auteur_supprime')."' border='0'>";
		case "6forum":
			$image = "<img src='img_pack/visit-12.gif' alt='' title='"._T('titre_image_visiteur')."' border='0'>";
		case "nouveau":
		default:
			$image = '';
			break;
	}

	return $image;
}

// La couleur du statut
function puce_statut($statut, $type='article') {
	switch ($statut) {
		case 'publie':
			return 'verte';
		case 'prepa':
			return 'blanche';
		case 'prop':
			return 'orange';
		case 'refuse':
			return 'rouge';
		case 'poubelle':
			return 'poubelle';
	}
}


function afficher_auteurs ($titre_table, $requete) {
	$tranches = afficher_tranches_requete($requete, 2);

	if (strlen($tranches)) {

		debut_cadre_relief("redacteurs-24.gif");

		if ($titre_table) {
			echo "<p><table width=100% cellpadding=0 cellspacing=0 border=0 background=''>";
			echo "<tr><td width=100% background=''>";
			echo "<table width=100% cellpadding=3 cellspacing=0 border=0>";
			echo "<tr bgcolor='#333333'><td width=100% colspan=2><font face='Verdana,Arial,Sans,sans-serif' size=3 color='#FFFFFF'>";
			echo "<b>$titre_table</b></font></td></tr>";
		}
		else {
			echo "<p><table width=100% cellpadding=3 cellspacing=0 border=0 background=''>";
		}

		echo $tranches;

		$result = spip_query($requete);

		$table = '';
		while ($row = spip_fetch_array($result)) {
			$vals = '';

			$id_auteur = $row['id_auteur'];
			$tous_id[] = $id_auteur;
			$nom = $row['nom'];

			$s = bonhomme_statut($row);
			$s .= "<a href=\"auteurs_edit.php3?id_auteur=$id_auteur\">";
			$s .= typo($nom);
			$s .= "</a>";
			$vals[] = $s;
			$table[] = $vals;
		}
		spip_free_result($result);

		$largeurs = array('');
		$styles = array('arial2');
		afficher_liste($largeurs, $table, $styles);

		if ($titre_table) echo "</TABLE></TD></TR>";
		echo "</TABLE>";
		fin_cadre_relief();
	}
	return $tous_id;
}

ARNO*'s avatar
ARNO* a validé
/*
 * Afficher liste de messages
 */

function afficher_messages($titre_table, $query_message, $afficher_auteurs = true, $important = false, $boite_importante = true, $obligatoire = false) {
	global $messages_vus;
	global $connect_id_auteur;
	global $couleur_claire, $couleur_foncee;
	global $spip_lang_rtl, $spip_lang_left;

	// Interdire l'affichage de message en double
	if ($messages_vus) {
		$query_message .= ' AND messages.id_message NOT IN ('.join(',', $messages_vus).')';
	}


	if ($afficher_auteurs) $cols = 3;
	else $cols = 2;
	$query_message .= ' ORDER BY date_heure DESC';
	$tranches = afficher_tranches_requete($query_message, $cols);

	if ($tranches OR $obligatoire) {
		if ($important) debut_cadre_couleur();

		echo "<div style='height: 12px;'></div>";
		echo "<div class='liste'>";
	//	bandeau_titre_boite($titre_table, $afficher_auteurs, $boite_importante);
		bandeau_titre_boite2($titre_table, "messagerie-24.gif", $couleur_foncee, "white");
		echo "<TABLE WIDTH='100%' CELLPADDING='2' CELLSPACING='0' BORDER='0'>";


		echo $tranches;

		$result_message = spip_query($query_message);
		$num_rows = spip_num_rows($result_message);

		while($row = spip_fetch_array($result_message)) {
			$vals = '';

			$id_message = $row['id_message'];
			$date = $row["date_heure"];
			$date_fin = $row["date_fin"];
			$titre = $row["titre"];
			$type = $row["type"];
			$statut = $row["statut"];
			$page = $row["page"];
			$rv = $row["rv"];
			$vu = $row["vu"];
			$messages_vus[$id_message] = $id_message;

			//
			// Titre
			//

			$s = "<A HREF='message.php3?id_message=$id_message'>";

			switch ($type) {
			case 'pb' :
				$puce = "m_envoi_bleu$spip_lang_rtl.gif";
				break;
			case 'memo' :
				$puce = "m_envoi_jaune$spip_lang_rtl.gif";
				break;
			case 'affich' :
				$puce = "m_envoi_jaune$spip_lang_rtl.gif";
				break;
			case 'normal':
			default:
				$puce = "m_envoi$spip_lang_rtl.gif";
				break;
			}
				
			$s .= "<img src='img_pack/$puce' width='14' height='7' border='0'>";
			$s .= "&nbsp;&nbsp;".typo($titre)."</A>";
			$vals[] = $s;

			//
			// Auteurs

			if ($afficher_auteurs) {
				$query_auteurs = "SELECT auteurs.id_auteur, auteurs.nom FROM spip_auteurs AS auteurs, spip_auteurs_messages AS lien WHERE lien.id_message=$id_message AND lien.id_auteur!=$connect_id_auteur AND lien.id_auteur=auteurs.id_auteur";
				$result_auteurs = spip_query($query_auteurs);
				$auteurs = '';
				while ($row_auteurs = spip_fetch_array($result_auteurs)) {
					$id_auteur = $row_auteurs['id_auteur'];
					$auteurs[] = "<a href='auteurs_edit.php3?id_auteur=$id_auteur'>".typo($row_auteurs['nom'])."</a>";
				}

				if ($auteurs AND $type == 'normal') {
					$s = "<FONT FACE='Arial,Sans,sans-serif' SIZE=1>";
					$s .= join(', ', $auteurs);
					$s .= "</FONT>";
				}
				else $s = "&nbsp;";
				$vals[] = $s;
			}
			
			//
			// Date
			//
			
			$s = affdate($date);
			if ($rv == 'oui') {
				$jour=journum($date);
				$mois=mois($date);
				$annee=annee($date);
				
				$heure = heures($date).":".minutes($date);
				$heure_fin = heures($date_fin).":".minutes($date_fin);

				$s = "<div style='background: url(img_pack/rv-12.gif) $spip_lang_left center no-repeat; padding-$spip_lang_left: 15px;'><a href='calendrier_jour.php3?jour=$jour&mois=$mois&annee=$annee'><b style='color: black;'>$s</b><br />$heure-$heure_fin</a></div>";
			} else {
				$s = "<font color='#999999'>$s</font>";
			}
			
			$vals[] = $s;

			$table[] = $vals;
		}

		if ($afficher_auteurs) {
			$largeurs = array('', 130, 120);
			$styles = array('arial2', 'arial1', 'arial1');
		}
		else {
			$largeurs = array('', 120);
			$styles = array('arial2', 'arial1');
		}
		afficher_liste($largeurs, $table, $styles);

		echo "</TABLE>";
		echo "</div>\n\n";
		spip_free_result($result_message);
		if ($important) fin_cadre_couleur();
	}
}



function afficher_forum($request, $adresse_retour, $controle = "non", $recurrence = "oui") {
	global $debut;
	static $compteur_forum;
	static $nb_forum;
	static $i;
	global $couleur_foncee;
	global $connect_id_auteur, $connect_activer_messagerie;
Fil's avatar
Fil a validé
	global $spip_lang_rtl;