Skip to content
Extraits de code Groupes Projets
presentation.php 91,2 ko
Newer Older
			$texte_img .= http_img_pack("searching.gif", "*", "style='visibility: hidden; float: $spip_lang_right' id = 'img_$div_trad'");
			$texte_img .= "<div style='float: $spip_lang_right;'><a href=\"#\" onclick=\"return charger_id_url('" . generer_url_ecrire('memoriser',"id_ajax_fonc=$id_ajax_trad") . "','$div_trad');\"><img src='". _DIR_IMG_PACK . "langues-off-12.gif' /></a></div>";

			bandeau_titre_boite2($texte_img.$titre_table, "article-24.gif");

			echo "<div id='$tmp_var'>";
	//echo "<table width='100%' cellpadding='2' cellspacing='0' border='0'>";
	echo afficher_liste_debut_tableau(),  $tranches;
	$result = spip_query("SELECT " . $requete['SELECT'] . " FROM " . $requete['FROM'] . ($requete['WHERE'] ? (' WHERE ' . $requete['WHERE']) : '') . ($requete['GROUP BY'] ? (' GROUP BY ' . $requete['GROUP BY']) : '') . ($requete['ORDER BY'] ? (' ORDER BY ' . $requete['ORDER BY']) : '') . " LIMIT " . ($deb_aff >= 0 ? "$deb_aff, $nb_aff" : ($requete['LIMIT'] ? $requete['LIMIT'] : "99999")));
	while ($row = spip_fetch_array($result)) {
		$table[]=afficher_articles_trad_boucle($row, $tous_id, $afficher_langue, $langue_defaut, $langues_site);
	$largeurs = array(11, 24, '', '1');
	$styles = array('', 'arial1', 'arial1', '');
	echo afficher_liste($largeurs, $table, $styles);
	//echo "</table>";
	echo afficher_liste_fin_tableau();
	echo "</div>";
	if (!$GLOBALS[$tmp_var]) echo "</div>";
	//if ($afficher_cadre) fin_cadre_gris_clair();
// http://doc.spip.org/@afficher_articles_trad_boucle
function afficher_articles_trad_boucle($row, &$tous_id, $afficher_langue, $langue_defaut, $langues_site)
{
	global $dir_lang,  $spip_lang_right;

	$vals = '';

	$id_article = $row['id_article'];
	$tous_id[] = $id_article;
	$titre = sinon($row['titre'], _T('ecrire:info_sans_titre'));
	$id_rubrique = $row['id_rubrique'];
	$date = $row['date'];
	$statut = $row['statut'];
	$id_trad = $row['id_trad'];
	$lang = $row['lang'];


	// La petite puce de changement de statut
	$vals[] = puce_statut_article($id_article, $statut, $id_rubrique);

	// Le titre (et la langue)
	
	$langues_art = "";
	$dates_art = "";
	$l = "";
	$res_trad = spip_query("SELECT id_article, lang, date_modif  FROM spip_articles WHERE id_trad = $id_trad AND id_trad > 0");
	while ($row_trad = spip_fetch_array($res_trad)) {
		$id_article_trad = $row_trad["id_article"];
		$lang_trad = $row_trad["lang"];
		$date_trad = $row_trad["date_modif"];
		
		$dates_art[$lang_trad] = $date_trad;
		$langues_art[$lang_trad] = $id_article_trad;
		if ($id_article_trad == $id_trad) $date_ref = $date;
	}

	reset($langues_site);
	$span_lang = false;
	while (list(,$k) = each($langues_site)) {
		if ($langues_art[$k]) {
			if ($langues_art[$k] == $id_trad) {
				$span_lang = "<a href='" . generer_url_ecrire("articles","id_article=".$langues_art[$k]) . "'><span class='lang_base'>$k</a></a>";
				$l .= $span_lang;
			} else {
				$date = $dates_art[$k];
				if ($date < $date_ref) 
					$l .= "<a href='" . generer_url_ecrire("articles","id_article=".$langues_art[$k]) . "' class='claire'>$k</a>";
				else $l .= "<a href='" . generer_url_ecrire("articles","id_article=".$langues_art[$k]) . "' class='foncee'>$k</a>";
			}			
		}
#				else $l.= "<span class='creer'>$k</span>";
	}
			
	if (!$span_lang)
		$span_lang = "<a href='" . generer_url_ecrire("articles","id_article=$id_article") . "'><span class='lang_base'>$lang</a></a>";
	$vals[] = "<div style='text-align: center;'>$span_lang</div>";
			
			
	$s = "<div>";
	$s .= "<div style='float: $spip_lang_right; margin-right: -10px;'>$l</div>";
	
	if (acces_restreint_rubrique($id_rubrique))
		$s .= http_img_pack("admin-12.gif", "", "width='12' height='12'", _T('titre_image_admin_article'));

	$s .= "<a href='" . generer_url_ecrire("articles","id_article=$id_article") . "'$dir_lang style=\"display:block;\">";
			
			
	if ($id_article == $id_trad) $titre = "<b>$titre</b>";
			
	$s .= typo($titre);
	if ($afficher_langue AND $lang != $langue_defaut)
		$s .= " <font size='1' color='#666666'$dir_lang>(".traduire_nom_langue($lang).")</font>";

	$s .= "</a>";
	$s .= "</div>";
	
	$vals[] = $s;
	
	$vals[] = "";
	
	return  $vals;
}
// http://doc.spip.org/@afficher_breves
function afficher_breves($titre_table, $requete, $affrub=false) {
	global  $couleur_foncee, $options;	
	if (($GLOBALS['meta']['multi_rubriques'] == 'oui'
	     AND (!isset($GLOBALS['id_rubrique'])))
	OR $GLOBALS['meta']['multi_articles'] == 'oui') {
		$afficher_langue = true;
		if (isset($GLOBALS['langue_rubrique'])) $langue_defaut = $GLOBALS['langue_rubrique'];
esj's avatar
 
esj a validé
		else $langue_defaut = $GLOBALS['meta']['langue_site'];
	} else $afficher_langue = $langue_defaut = '';
	$tmp_var = 't_' . substr(md5(join('', $requete)), 0, 4);
	$col = ($options == "avancees") ? 4 : 3;
		if ($affrub) $largeurs = array('7', '', '188', '38');
		else $largeurs = array('7','', '100', '38');
		$styles = array('', 'arial11', 'arial1', 'arial1');
	} else {
		if ($affrub) $largeurs = array('7','', '188');
		else  $largeurs = array('7','', '100');
		$styles = array('','arial11', 'arial1');
	}
	return affiche_tranche_bandeau($requete, "breve-24.gif", count($largeurs), $couleur_foncee, "white", $tmp_var, $titre_table, false, $largeurs, $styles, 'afficher_breves_boucle', array( $afficher_langue, $affrub, $langue_defaut));
// http://doc.spip.org/@afficher_breves_boucle
function afficher_breves_boucle($row, &$tous_id,  $voir_logo, $own)
  global  $dir_lang, $options, $connect_statut, $spip_lang_right;
	$droit = ($connect_statut == '0minirezo' && $options == 'avancees');
	list($afficher_langue, $affrub, $langue_defaut) = $own;
	$vals = '';

	$id_breve = $row['id_breve'];
	$tous_id[] = $id_breve;
	$date_heure = $row['date_heure'];
	$titre = sinon($row['titre'], _T('ecrire:info_sans_titre'));
	$statut = $row['statut'];
	if (isset($row['lang']))
	  changer_typo($lang = $row['lang']);
esj's avatar
esj a validé
	else $lang = $langue_defaut;
	$id_rubrique = $row['id_rubrique'];
			
	$vals[] = puce_statut_breve($id_breve, $statut, 'breve', ($droit && acces_rubrique($id_rubrique)), $id_rubrique);

	$s = "<div>";
	$s .= "<a href='" . generer_url_ecrire("breves_voir","id_breve=$id_breve") . "' style=\"display:block;\">";

		$logo_f = charger_fonction('chercher_logo', 'inc');
esj's avatar
esj a validé
		if ($logo = $logo_f($id_breve, 'id_breve', 'on')) {
			list($fid, $dir, $nom, $format) = $logo;
			$logo = ratio_image($fid, $nom, $format, 26, 20, "alt=''");
			if ($logo)
				$s .= "<div style='float: $spip_lang_right; margin-top: -2px; margin-bottom: -2px;'>$logo</div>";
esj's avatar
esj a validé
		}
	$s .= typo($titre);
	if ($afficher_langue AND $lang != $langue_defaut)
		$s .= " <font size='1' color='#666666'$dir_lang>(".traduire_nom_langue($lang).")</font>";
	$s .= "</a>";

	$s .= "</div>";
	$vals[] = $s;

	$s = "";
	if ($affrub) {
		$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='" . generer_url_ecrire("naviguer","id_rubrique=$id_rubrique") . "' style=\"display:block;\">".typo($rub['titre'])."</a>";
	} else if ($statut != "prop")
			$s = affdate_jourcourt($date_heure);
		else
			$s .= _T('info_a_valider');
	$vals[] = $s;
			
	if ($options == "avancees") {
		$vals[] = "<b>"._T('info_numero_abbreviation')."$id_breve</b>";
	}
			
	return $vals;
}

// http://doc.spip.org/@afficher_rubriques
function afficher_rubriques($titre_table, $requete) {
	global $options;
        $tmp_var = 't_' . substr(md5(join('', $requete)), 0, 4);
	$largeurs = array('12','', '');
	$styles = array('', 'arial2', 'arial11');
	return affiche_tranche_bandeau($requete, "rubrique-24.gif", 3, "#999999", "white", $tmp_var, $titre_table, false, $largeurs, $styles, 'afficher_rubriques_boucle');
// http://doc.spip.org/@afficher_rubriques_boucle
function afficher_rubriques_boucle($row, &$tous_id)
{
	$vals = '';

	$id_rubrique = $row['id_rubrique'];
	$id_parent = $row['id_parent'];
	$tous_id[] = $id_rubrique;
	$titre = sinon($row['titre'], _T('ecrire:info_sans_titre'));
	$lang = traduire_nom_langue($row['lang']);
	$langue_choisie = $row['langue_choisie'];
	
	if ($langue_choisie == "oui") $lang = "<b>$lang</b>";
	else $lang = "($lang)";
	
	if ($id_parent == 0) $puce = "secteur-12.gif";
	else $puce = "rubrique-12.gif";
	
	$vals[] = $s;
	
	$s = "<b><a href='" . generer_url_ecrire("naviguer","id_rubrique=$id_rubrique") . "'>";
	$s .= typo($titre);
	$s .= "</A></b>";
	$vals[] = $s;
	
	$s = "<div align=\"right\">";
	if  ($GLOBALS['meta']['multi_rubriques'] == 'oui') {
				$s .= ($lang);
	}
	$s .= "</div>";
	$vals[] = $s;
	return $vals;
}

//
// Afficher des auteurs sur requete SQL
//
// http://doc.spip.org/@bonhomme_statut
function bonhomme_statut($row) {
	global $connect_statut;

Antoine Pitrou's avatar
Antoine Pitrou a validé
	switch($row['statut']) {
		case "0minirezo":
					_T('titre_image_administrateur'));
			break;
		case "1comite":
			if ($connect_statut == '0minirezo' AND ($row['source'] == 'spip' AND !($row['pass'] AND $row['login'])))
			  return http_img_pack("visit-12.gif",'', "", _T('titre_image_redacteur'));
			  return http_img_pack("redac-12.gif",'', "", _T('titre_image_redacteur_02'));
			break;
		case "5poubelle":
		  return http_img_pack("poubelle.gif", '', "",_T('titre_image_auteur_supprime'));
		case "6forum":
		  return http_img_pack("visit-12.gif", '', "",_T('titre_image_visiteur'));
		case "nouveau":
		default:
			return '';
// La couleur du statut
// http://doc.spip.org/@puce_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';
	}
}


// http://doc.spip.org/@afficher_auteurs
function afficher_auteurs ($titre_table, $requete) {
	if (!$requete['SELECT']) $requete['SELECT'] = '*' ;
	$tous_id = array();
	$cpt = spip_fetch_array(spip_query("SELECT COUNT(*) AS n FROM " . $requete['FROM'] . ($requete['WHERE'] ? (' WHERE ' . $requete['WHERE']) : '') . ($requete['GROUP BY'] ? (' GROUP BY ' . $requete['GROUP BY']) : '')));
	if (! ($cpt = $cpt['n'])) return $tous_id ;
	if ($requete['LIMIT']) $cpt = min($requete['LIMIT'], $cpt);
	$tmp_var = 't_' . substr(md5(join('', $requete)), 0, 4);
	$nb_aff = floor(1.5 * _TRANCHES);
	$deb_aff = intval(_request($tmp_var));
	if ($cpt > $nb_aff) {
		$nb_aff = (_TRANCHES); 
		$tranches = afficher_tranches_requete($cpt,  ($options == "avancees") ? 4 : 3, $tmp_var, '', $nb_aff);
	}

	debut_cadre_relief("auteur-24.gif");
			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='5'><font face='Verdana,Arial,Sans,sans-serif' size=3 color='#FFFFFF'>";
			echo "<b>$titre_table</b></font></td></tr>";
		}
			echo "<p><table width='100%' cellpadding='3' cellspacing='0' border='0' background=''>";
	$result = spip_query("SELECT " . $requete['SELECT'] . " FROM " . $requete['FROM'] . ($requete['WHERE'] ? (' WHERE ' . $requete['WHERE']) : '') . ($requete['GROUP BY'] ? (' GROUP BY ' . $requete['GROUP BY']) : '') . ($requete['ORDER BY'] ? (' ORDER BY ' . $requete['ORDER BY']) : '') . " LIMIT " . ($deb_aff >= 0 ? "$deb_aff, $nb_aff" : ($requete['LIMIT'] ? $requete['LIMIT'] : "99999")));
	while ($row = spip_fetch_array($result)) {
		$tous_id[] = $row['id_auteur'];
		$bouton_auteur = charger_fonction('bouton_auteur', 'inc');
		$table[]= $bouton_auteur($row['id_auteur']);
	$largeurs = array(20, 20, 200, 20, 50);
	$styles = array('','','arial2','arial1','arial1');
	echo afficher_liste($largeurs, $table, $styles);

	if ($titre_table) echo "</table></td></tr>";
	echo "</table>";
// http://doc.spip.org/@afficher_forum
function afficher_forum($request, $retour, $arg, $controle_id_article = false) {
esj's avatar
esj a validé
	global $spip_display;
	static $compteur_forum = 0;
	static $nb_forum = array();
	$compteur_forum++;
	$nb_forum[$compteur_forum] = spip_num_rows($request);
	$res = '';

	if ($spip_display == 4) $res .= "<ul>";
 	while($row = spip_fetch_array($request)) {
		if ($compteur_forum==1) $res .= "\n<br />";
		if (($controle_id_article) ? ($statut!="perso") :
			(($statut=="prive" OR $statut=="privrac" OR $statut=="privadm" OR $statut=="perso")
			 OR ($statut=="publie" AND $id_parent > 0))) {
			$res .= afficher_forum_thread($row, $controle_id_article, $compteur_forum, $nb_forum, $thread, $retour, $arg)
			. afficher_forum(spip_query("SELECT * FROM spip_forum WHERE id_parent='" . $row['id_forum'] . "'" . ($controle_id_article ? " AND statut<>'off'" : '') . " ORDER BY date_heure"), $retour, $arg, $controle_id_article);
esj's avatar
esj a validé
		}
esj's avatar
esj a validé
	}
	if ($spip_display == 4) $res .= "</ul>";
esj's avatar
esj a validé
	spip_free_result($request);
	$compteur_forum--;
esj's avatar
esj a validé
}

// http://doc.spip.org/@afficher_forum_thread
function afficher_forum_thread($row, $controle_id_article, $compteur_forum, $nb_forum, $i, $retour, $arg) {
esj's avatar
esj a validé
	global $spip_lang_rtl, $spip_lang_left, $spip_lang_right, $spip_display;
	static $voir_logo = array(); // pour ne calculer qu'une fois

	if (is_array($voir_logo)) {
		$voir_logo = (($spip_display != 1 AND $spip_display != 4 AND $GLOBALS['meta']['image_process'] != "non") ? 
		      "position: absolute; $spip_lang_right: 0px; margin: 0px; margin-top: -3px; margin-$spip_lang_right: 0px;" 
		      : '');
	}

	$id_forum=$row['id_forum'];
	$id_parent=$row['id_parent'];
	$id_rubrique=$row['id_rubrique'];
	$id_article=$row['id_article'];
	$id_breve=$row['id_breve'];
	$id_message=$row['id_message'];
	$id_syndic=$row['id_syndic'];
	$date_heure=$row['date_heure'];
	$titre=$row['titre'];
	$texte=$row['texte'];
esj's avatar
esj a validé
	$auteur= extraire_multi($row['auteur']);
esj's avatar
esj a validé
	$email_auteur=$row['email_auteur'];
	$nom_site=$row['nom_site'];
	$url_site=$row['url_site'];
	$statut=$row['statut'];
	$ip=$row["ip"];
	$id_auteur=$row["id_auteur"];
	
	$res = "<a id='$id_forum'></a>";
esj's avatar
esj a validé
	if ($spip_display == 4) {
		$res .= "<li>".typo($titre)."<br />";
esj's avatar
esj a validé
	} else {

		$titre_boite = '';
		if ($id_auteur AND $voir_logo) {
			$logo_f = charger_fonction('chercher_logo', 'inc');
esj's avatar
esj a validé
			if ($logo = $logo_f($id_auteur, 'id_auteur', 'on')) {
				list($fid, $dir, $nom, $format) = $logo;
				$logo = ratio_image($fid, $nom, $format, 48, 48, "alt=''");
				if ($logo)
					$titre_boite = "<div style='$voir_logo'>$logo</div>" ;
esj's avatar
esj a validé
			}
		} 

		$titre_boite .= typo($titre);

		$res .= "<table width='100%' cellpadding='0' cellspacing='0' border='0'><tr>";
		$res .= afficher_forum_4($compteur_forum, $nb_forum, $i);

esj's avatar
esj a validé
		if ($compteur_forum == 1) 
			$res .= afficher_forum_logo($statut, $titre_boite);
		else $res .= debut_cadre_thread_forum("", true, "", $titre_boite);
esj's avatar
esj a validé
	}
esj's avatar
esj a validé
	// Si refuse, cadre rouge
	if ($statut=="off") {
		$res .= "<div style='border: 2px dashed red; padding: 5px;'>";
esj's avatar
esj a validé
	}
	// Si propose, cadre jaune
	else if ($statut=="prop") {
		$res .= "<div style='border: 1px solid yellow; padding: 5px;'>";
esj's avatar
esj a validé
	}
	$res .= "<span class='arial2'>". date_interface($date_heure) . "</span>&nbsp;&nbsp;";
esj's avatar
esj a validé

	if ($id_auteur) {
		$bouton_auteur = charger_fonction('bouton_auteur', 'inc');
		$res .= join(' ',$bouton_auteur($id_auteur));
	} else if ($email_auteur)
		$res .= "<a href='mailto:$email_auteur'>".typo($auteur)."</a>";
	else	$res .= typo($auteur);
esj's avatar
esj a validé
	// boutons de moderation
	if ($controle_id_article)
		$res .= boutons_controle_forum($id_forum, $statut, $id_auteur, "id_article=$id_article", $ip);
Fil's avatar
Fil a validé

	$res .= safehtml(justifier(propre($texte)));
esj's avatar
esj a validé
	if ($nom_site) {
		if (strlen($url_site) > 10)
			$res .= "<div align='left' class='verdana2'><b><a href='$url_site'>$nom_site</a></b></div>";
		else $res .= "<b>$nom_site</b>";
esj's avatar
esj a validé
	}
esj's avatar
esj a validé
	if (!$controle_id_article) {
		$res .= "<div align='right' class='verdana1'>"
		. "<b><a href='"
		. generer_url_ecrire("forum_envoi","id_parent=$id_forum&titre_message=$tm&url=" . generer_url_retour($retour, $arg)  .'#formulaire')
		. "'>"
		. _T('lien_repondre_message')
		. "</a></b></div>";
esj's avatar
esj a validé
	}
esj's avatar
esj a validé
	if ($GLOBALS['meta']["mots_cles_forums"] == "oui")
		$res .= afficher_forum_mots($id_forum);
	if ($statut == "off" OR $statut == "prop") $res .= "</div>";
esj's avatar
esj a validé
	if ($spip_display != 4) {
		if ($compteur_forum == 1) $res .= fin_cadre_forum(true);
		else $res .= fin_cadre_thread_forum(true);
		$res .= "</td></tr></table>\n";
esj's avatar
esj a validé

// http://doc.spip.org/@afficher_forum_logo
function afficher_forum_logo($statut, $titre_boite)
{
	if ($statut == "prive") $logo = "forum-interne-24.gif";
	else if ($statut == "privadm") $logo = "forum-admin-24.gif";
	else if ($statut == "privrac") $logo = "forum-interne-24.gif";
	else $logo = "forum-public-24.gif";
	return debut_cadre_forum($logo, true, "", $titre_boite);
// http://doc.spip.org/@afficher_forum_mots
function afficher_forum_mots($id_forum)
{
	$result = spip_query("SELECT * FROM spip_mots AS mots, spip_mots_forum AS lien WHERE lien.id_forum = '$id_forum' AND lien.id_mot = mots.id_mot");

	$res = '<ul>';
	while ($row = spip_fetch_array($result)) {
		$res .= "<li> <b>"
		. propre($row['titre'])
		. " :</b> "
		.  propre($row['type'])
		.  "<li>";
}

// affiche les traits de liaisons entre les reponses

// http://doc.spip.org/@afficher_forum_4
function afficher_forum_4($compteur_forum, $nb_forum, $thread)
esj's avatar
esj a validé
	global $spip_lang_rtl;
	$fleche='rien.gif';
	$res = '';
	for ($j=2;$j<=$compteur_forum AND $j<20;$j++){
		$fond[$j]=_DIR_IMG_PACK . 'rien.gif';
		if ($thread[$j]!=$nb_forum[$j]){
			$fond[$j]=_DIR_IMG_PACK . 'forum-vert.gif';
			$fleche="forum-droite$spip_lang_rtl.gif";
		}
		$res .= "<td width='10' valign='top' background=$fond[$j]>"
		. http_img_pack($fleche, " ", "width='10' height='13'")
		. "</td>\n";
	return $res . "\n<td width=100% valign='top'>";
// http://doc.spip.org/@envoi_link
function envoi_link($nom_site_spip) {
	global $connect_statut, $connect_toutes_rubriques, $spip_display;
	global $spip_lang, $couleur_claire, $couleur_foncee;
Fil's avatar
Fil a validé

Fil's avatar
Fil a validé
	$args = "couleur_claire=" .
		substr($couleur_claire,1) .
		'&couleur_foncee=' .
		substr($couleur_foncee,1) .
		'&ltr=' . 
	// CSS de secours en cas de non fonct de la suivante
	$res = '<link rel="stylesheet" type="text/css" href="'
	. find_in_path('style_prive_defaut.css')
	// CSS espace prive : la vraie
	. '<link rel="stylesheet" type="text/css" href="'
	. generer_url_public('style_prive', $args) .'" />' . "\n"
Fil's avatar
Fil a validé
	. '<link rel="stylesheet" type="text/css" href="'
	. find_in_path('agenda.css') .'" />' . "\n"

	// CSS imprimante (masque des trucs, a completer)
	. '<link rel="stylesheet" type="text/css" href="'
	. find_in_path('spip_style_print.css')
	. '" media="print" />' . "\n"
	// CSS "visible au chargement" differente selon js actif ou non
	. '<link rel="stylesheet" type="text/css" href="'
	. find_in_path('spip_style_'
		. (($_COOKIE['spip_accepte_ajax'] != -1) ? 'invisible' : 'visible')
		. '.css')
Fil's avatar
Fil a validé
	. '<link rel="shortcut icon" href="'
	. url_absolue(find_in_path('favicon.ico'))
	$js = debut_javascript($connect_toutes_rubriques,
			($GLOBALS['meta']["activer_statistiques"] != 'non'));

	if ($spip_display == 4) return $res . $js;

	$nom = entites_html($nom_site_spip);

	$res .= "<link rel='alternate' type='application/rss+xml' title=\"$nom\" href='"
			. generer_url_public('backend') . "' />\n";
	$res .= "<link rel='help' type='text/html' title=\""._T('icone_aide_ligne') . 
			"\" href='"
			. generer_url_ecrire('aide_index',"var_lang=$spip_lang")
	if ($GLOBALS['meta']["activer_breves"] != "non")
		$res .= "<link rel='alternate' type='application/rss+xml' title=\""
			. $nom
			. ")\" href='" . generer_url_public('backend-breves') . "' />\n";
// http://doc.spip.org/@debut_javascript
function debut_javascript($admin, $stat)
{
	global $spip_lang_left, $browser_name, $browser_version;
Fil's avatar
Fil a validé
	include_spip('inc/charsets');
	// tester les capacites JS :

	// On envoie un script ajah ; si le script reussit le cookie passera a +1
	// on installe egalement un <noscript></noscript> qui charge une image qui
	// pose un cookie valant -1
	$tester_javascript =  ($_COOKIE['spip_accepte_ajax'] >= 1) ? '' : (
 "if (a = createXmlHttp()) {
Fil's avatar
Fil a validé
	a.open('GET', '" . generer_url_ecrire('test_ajax', 'js=1', '&') .
	if ($_COOKIE['spip_accepte_ajax'] != -1) {
		define('_TESTER_NOSCRIPT',
			"<noscript><div style='display:none;'><img src='".generer_url_ecrire('test_ajax', 'js=-1')."' width='1' height='1' alt='' /></div></noscript>\n"); // pour le pied de page
	}
	// envoi le fichier JS de config si browser ok.
		$GLOBALS['browser_layer'] .
			"\nvar ajax_image_searching = '<div style=\"float: ".$GLOBALS['spip_lang_right'].";\"><img src=\"".url_absolue(_DIR_IMG_PACK."searching.gif")."\" /></div>';" .
			"\nvar admin = " . ($admin ? 1 : 0) .
			"\nvar stat = " . ($stat ? 1 : 0) .
			"\nvar largeur_icone = " .
			largeur_icone_bandeau_principal(_T('icone_a_suivre')) .
			"\nvar  bug_offsetwidth = " .
// uniquement affichage ltr: bug Mozilla dans offsetWidth quand ecran inverse!
			((($spip_lang_left == "left") &&
			  (($browser_name != "MSIE") ||
			   ($browser_version >= 6))) ? 1 : 0) .
			"\nvar confirm_changer_statut = '" .
			unicode_to_javascript(addslashes(html2unicode(_T("confirm_changer_statut")))) . 
			"';\n") .
		http_script('',_DIR_JAVASCRIPT . 'presentation.js');
Antoine Pitrou's avatar
 
Antoine Pitrou a validé

// http://doc.spip.org/@onglet_relief_inter
function onglet_relief_inter(){
ARNO*'s avatar
ARNO* a validé
	
	echo "<td>&nbsp;</td>";
	
// http://doc.spip.org/@debut_onglet
ARNO*'s avatar
ARNO* a validé

	echo "\n\n";
	echo "<div style='padding: 7px;'><table cellpadding='0' cellspacing='0' border='0' align='center'>";
	echo "<tr>";
// http://doc.spip.org/@fin_onglet
ARNO*'s avatar
ARNO* a validé
	echo "</tr>";
	echo "</table></div>\n\n";
// http://doc.spip.org/@onglet
function onglet($texte, $lien, $onglet_ref, $onglet, $icone=""){
ARNO*'s avatar
ARNO* a validé
	global $spip_display, $spip_lang_left ;


	echo "<td>";
	
	if ($onglet != $onglet_ref) {
		echo "<div style='position: relative;'>";
		if ($spip_display != 1) {
			if (strlen($icone) > 0) {
				echo "<div style='z-index: 2; position: absolute; top: 0px; $spip_lang_left: 5px;'>" .
				  http_img_pack("$icone", "", "") . "</div>";
ARNO*'s avatar
ARNO* a validé
				$style = " top: 7px; padding-$spip_lang_left: 32px; z-index: 1;";
			} else {
				$style = " top: 7px;";
		echo "<div onmouseover=\"changeclass(this, 'onglet_on');\" onmouseout=\"changeclass(this, 'onglet');\" class='onglet' style='position: relative;$style'><a href='$lien'>$texte</a></div>";
ARNO*'s avatar
ARNO* a validé
		
		
		echo "</div>";
	} else {
		echo "<div style='position: relative;'>";
		if ($spip_display != 1) {
			if (strlen($icone) > 0) {
				echo "<div style='z-index: 2; position: absolute; top: 0px; $spip_lang_left: 5px;'>" .
				  http_img_pack("$icone", "", "") . "</div>";
ARNO*'s avatar
ARNO* a validé
				$style = " top: 7px; padding-$spip_lang_left: 32px; z-index: 1;";
			} else {
				$style = " top: 7px;";
ARNO*'s avatar
ARNO* a validé
		
		echo "<div class='onglet_off' style='position: relative;$style'>$texte</div>";
		
		
		echo "</div>";
ARNO*'s avatar
ARNO* a validé
	echo "</td>";
// http://doc.spip.org/@barre_onglets
Fil's avatar
 
Fil a validé
function barre_onglets($rubrique, $ongletCourant){
	$onglets= definir_barre_onglets($rubrique);
	if(count($onglets)==0) return;
Fil's avatar
 
Fil a validé
	foreach($onglets as $exec => $onglet) {
		$url= $onglet->url ? $onglet->url : generer_url_ecrire($exec);
		onglet(_T($onglet->libelle), $url,
 			$exec, $ongletCourant, $onglet->icone);
	fin_onglet();
// http://doc.spip.org/@largeur_icone_bandeau_principal
ARNO*'s avatar
ARNO* a validé
function largeur_icone_bandeau_principal($texte) {
	global $spip_display, $spip_ecran ;
ARNO*'s avatar
ARNO* a validé
	global $connect_statut, $connect_toutes_rubriques;
	if ($spip_display == 1){
		$largeur = 80;
	else if ($spip_display == 3){
Antoine Pitrou's avatar
Antoine Pitrou a validé
		$largeur = 60;
Antoine Pitrou's avatar
Antoine Pitrou a validé
		if (count(explode(" ", $texte)) > 1) $largeur = 84;
Antoine Pitrou's avatar
Antoine Pitrou a validé
		else $largeur = 80;
ARNO*'s avatar
ARNO* a validé
	if ($spip_ecran == "large") $largeur = $largeur + 30;

esj's avatar
esj a validé
	if (!$connect_toutes_rubriques) {
ARNO*'s avatar
ARNO* a validé
		$largeur = $largeur + 30;
	}


	return $largeur;
}

// http://doc.spip.org/@bandeau_principal
esj's avatar
esj a validé
function bandeau_principal($rubrique, $sous_rubrique, $largeur)
{
	$res = '';
	foreach($GLOBALS['boutons_admin'] as $page => $detail) {
		if ($page=='espacement') {
			$res .= "<td> &nbsp; </td>";
		} else {
			if ($detail->url)
				$lien_noscript = $detail->url;
			else
				$lien_noscript = generer_url_ecrire($page);

			if ($detail->url2)
				$lien = $detail->url2;
			else
				$lien = $lien_noscript;

			$res .= icone_bandeau_principal(
					_T($detail->libelle),
					$lien,
					$detail->icone,
					$page,
					$rubrique,
					$lien_noscript,
					$page,
					$sous_rubrique);
		}
	}

	return "<div class='bandeau-icones'>\n<table width='$largeur' cellpadding='0' cellspacing='0' border='0' align='center'><tr>\n$res</tr></table></div>\n";
}


// http://doc.spip.org/@icone_bandeau_principal
ARNO*'s avatar
ARNO* a validé
function icone_bandeau_principal($texte, $lien, $fond, $rubrique_icone = "vide", $rubrique = "", $lien_noscript = "", $sous_rubrique_icone = "", $sous_rubrique = ""){
esj's avatar
esj a validé
	global $spip_display, $menu_accesskey, $compteur_survol;
ARNO*'s avatar
ARNO* a validé
	$largeur = largeur_icone_bandeau_principal($texte);

ARNO*'s avatar
ARNO* a validé
	if ($spip_display == 1){
	}
	else if ($spip_display == 3){
ARNO*'s avatar
ARNO* a validé
	}
	else {
esj's avatar
esj a validé
	if (!$menu_accesskey = intval($menu_accesskey)) $menu_accesskey = 1;
Antoine Pitrou's avatar
Antoine Pitrou a validé
	if ($menu_accesskey < 10) {
		$accesskey = " accesskey='$menu_accesskey'";
		$menu_accesskey++;
	}
	else if ($menu_accesskey == 10) {
		$accesskey = " accesskey='0'";
		$menu_accesskey++;
	}
Antoine Pitrou's avatar
Antoine Pitrou a validé

	$class_select = ($sous_rubrique_icone == $sous_rubrique) ? " class='selection'" : '';
Antoine Pitrou's avatar
Antoine Pitrou a validé

	if (eregi("^javascript:",$lien)) {
		$a_href = "\nonclick=\"$lien; return false;\" href='$lien_noscript' target='spip_aide'$class_select";
esj's avatar
esj a validé
		$a_href = "\nhref=\"$lien\"$class_select";
Antoine Pitrou's avatar
Antoine Pitrou a validé

	if ($spip_display != 1 AND $spip_display != 4) {
esj's avatar
esj a validé
		$class ='cellule48';
		$texte = http_img_pack($fond, $alt, "$title width='48' height='48'")
		. ($spip_display == 3 ? '' :  "<span>$texte</span>");
	} else {
		$class = 'cellule-texte';
	}  
		
	return "<td class='$class' onmouseover=\"changestyle('bandeau$rubrique_icone', 'visibility', 'visible');\" width='$largeur'><a$accesskey$a_href>$texte</a></td>\n";
// http://doc.spip.org/@icone_bandeau_secondaire
Fil's avatar
Fil a validé
function icone_bandeau_secondaire($texte, $lien, $fond, $rubrique_icone = "vide", $rubrique, $aide=""){
	global $menu_accesskey, $compteur_survol;
Antoine Pitrou's avatar
Antoine Pitrou a validé
	if ($spip_display == 1) {
Antoine Pitrou's avatar
Antoine Pitrou a validé
		//$hauteur = 20;
		$largeur = 80;
	}
	else if ($spip_display == 3){
Antoine Pitrou's avatar
Antoine Pitrou a validé
		//$hauteur = 26;
Antoine Pitrou's avatar
Antoine Pitrou a validé
		$largeur = 40;
Antoine Pitrou's avatar
Antoine Pitrou a validé
		//$hauteur = 68;
Antoine Pitrou's avatar
Antoine Pitrou a validé
		if (count(explode(" ", $texte)) > 1) $largeur = 80;
		else $largeur = 70;
Antoine Pitrou's avatar
Antoine Pitrou a validé
	if ($aide AND $spip_display != 3) {
		$largeur += 50;
ARNO*'s avatar
ARNO* a validé
		//$texte .= aide($aide);
Antoine Pitrou's avatar
Antoine Pitrou a validé
	}
ARNO*'s avatar
ARNO* a validé
	if ($spip_display != 3 AND strlen($texte)>16) $largeur += 20;
	
esj's avatar
esj a validé
	if (!$menu_accesskey = intval($menu_accesskey)) $menu_accesskey = 1;
Antoine Pitrou's avatar
Antoine Pitrou a validé
	if ($menu_accesskey < 10) {
		$accesskey = " accesskey='$menu_accesskey'";
		$menu_accesskey++;
	}
	else if ($menu_accesskey == 10) {
		$accesskey = " accesskey='0'";
		$menu_accesskey++;
	}
Antoine Pitrou's avatar
Antoine Pitrou a validé
	if ($spip_display == 3) $accesskey_icone = $accesskey;
	$class_select =  ($rubrique_icone != $rubrique) ? '' : " class='selection'";
Antoine Pitrou's avatar
Antoine Pitrou a validé

Antoine Pitrou's avatar
Antoine Pitrou a validé
	$a_href = "<a$accesskey href=\"$lien\"$class_select>";

	if ($spip_display != 1) {
ARNO*'s avatar
ARNO* a validé
		echo "<td class='cellule36' style='width: ".$largeur."px;'>";
		echo "$a_href" .
		  http_img_pack("$fond", $alt, "$title");
		if ($aide AND $spip_display != 3) echo aide($aide)." ";
Antoine Pitrou's avatar
Antoine Pitrou a validé
		if ($spip_display != 3) {
			echo "<span>$texte</span>";
Antoine Pitrou's avatar
Antoine Pitrou a validé
	}
Antoine Pitrou's avatar
Antoine Pitrou a validé
	else echo "<td class='cellule-texte' width='$largeur'>$a_href".$texte;
ARNO*'s avatar
ARNO* a validé
	echo "</a>";	
	echo "</td>\n";
// http://doc.spip.org/@icone
Fil's avatar
 
Fil a validé
function icone($texte, $lien, $fond, $fonction="", $align="", $afficher='oui'){
Antoine Pitrou's avatar
Antoine Pitrou a validé

	if ($fonction == "supprimer.gif") {
		$style = '-danger';
	} else {
		$style = '';
		if (strlen($fonction) < 3) $fonction = "rien.gif";
	}

	if ($spip_display == 1){
		$hauteur = 20;
ARNO*'s avatar
ARNO* a validé
		$largeur = 100;
	}
	else if ($spip_display == 3){
		$hauteur = 30;
		$largeur = 30;
ARNO*'s avatar
ARNO* a validé
		$largeur = 100;
Antoine Pitrou's avatar
Antoine Pitrou a validé

	if ($spip_display != 1 AND $spip_display != 4){
		  $icone = http_img_pack($fonction, $alt, "$title width='24' height='24'" .
					  http_style_background($fond, "no-repeat center center"));
			$icone = http_img_pack($fond, $alt, "$title width='24' height='24'");
		$icone .= "<span>$texte</span>";
Fil's avatar
 
Fil a validé

	// cas d'ajax_action_auteur: faut defaire le boulot 
	// (il faudrait fusionner avec le cas $javascript)
	if (preg_match(",^<a\shref='([^']*)'([^>]*)>(.*)</a>$,i",$lien,$r))
	  list($x,$lien,$atts,$texte)= $r;
	else $atts = '';
	$lien = "\nhref='$lien'$atts";

	$icone = "\n<table cellpadding='0' class='pointeur' cellspacing='0' border='0' width='$largeur'"
	. ((strlen($align) > 2) ? " align='$align' " : '')
	. ">\n<tr><td class='icone36$style' style='text-align:center;'><a"
	. $lien
	. '>'
	. $icone
	. "</a></td></tr></table>\n";

	if ($afficher == 'oui')	echo $icone; else return $icone;
// http://doc.spip.org/@icone_horizontale
function icone_horizontale($texte, $lien, $fond = "", $fonction = "", $echo = true, $javascript='') {
Antoine Pitrou's avatar
Antoine Pitrou a validé

	// cas d'ajax_action_auteur: faut defaire le boulot 
	// (il faudrait fusionner avec le cas $javascript)
	if (preg_match(",^<a href='([^']*)'([^>]*)>(.*)</a>$,i",$lien,$r))
	  list($x,$lien,$atts,$texte)= $r;