Your IP : 216.73.217.174


Current Path : /home/checkyd/www/squelettes/
Upload File :
Current File : /home/checkyd/www/squelettes/mes_fonctions.php

<?php

/*
 * Fonction qui rectifie alignement images pour squelettes newsletter, met les titres h3 et les liens a en style
 * #TEXTE|filtrenewsletter{style h3, style a}
 * 
 */
function filtrenewsletter($chn,$h3_style='',$a_style='') {
   $chn = str_replace('style=\'float:left;', 'style=\'float:left; margin:2px 20px 5px 0;', $chn);
   $chn = str_replace('style=\'float:right;', 'style=\'float:right; margin:2px 0 5px 20px;', $chn);
   $chn = str_replace('<h3 class="spip">', '<h3 class="spip" style="'.$h3_style.'">', $chn);
   $chn = str_replace('class=\'spip_out\'', 'class="spip_out" style="'.$a_style.'"', $chn);
   $chn = str_replace('class=\'spip_in\'', 'class="spip_in" style="'.$a_style.'"', $chn);
   return $chn;
}


function inc_lien($lien, $texte='', $class='', $title='', $hlang='', $rel='', $connect='')
{
	// Si une langue est demandee sur un raccourci d'article, chercher
	// la traduction ;
	// - [{en}->art2] => traduction anglaise de l'article 2, sinon art 2
	// - [{}->art2] => traduction en langue courante de l'art 2, sinon art 2
	if ($hlang
	AND $match = typer_raccourci($lien)) { 
		@list($type,,$id,,$args,,$ancre) = $match; 
		if ($id_trad = sql_getfetsel('id_trad', 'spip_articles', "id_article=$id")
		AND $id_dest = sql_getfetsel('id_article', 'spip_articles',
			"id_trad=$id_trad  AND statut<>'refuse' AND lang=" . sql_quote($hlang))
		)
			$lien = "$type$id_dest";
		else
			$hlang = '';
	}

	$mode = ($texte AND $class) ? 'url' : 'tout';
	$lien = calculer_url($lien, $texte, $mode, $connect);
	if ($mode === 'tout') {
		$texte = $lien['titre'];
		if (!$class AND isset($lien['class'])) $class = $lien['class'];
		$lang = isset($lien['lang']) ?$lien['lang'] : '';
		$mime = isset($lien['mime']) ? " type='".$lien['mime']."'" : "";
		$lien = $lien['url'];
	}
	if (substr($lien,0,1) == '#')  # ancres pures (internes a la page)
		$class = 'spip_ancre';
	elseif (preg_match('/^\s*mailto:/',$lien)) # pseudo URL de mail
		$class = "spip_mail";
	elseif (preg_match('/^<html>/',$texte)) # cf traiter_lien_explicite
		$class = "spip_url spip_out";
	elseif (!$class) $class = "spip_out"; # si pas spip_in|spip_glossaire

	// Si l'objet n'est pas de la langue courante, on ajoute hreflang
	if (!$hlang AND $lang!==$GLOBALS['spip_lang'])
		$hlang = $lang;

	$lang = ($hlang ? " hreflang='$hlang'" : '');

	if ($title) $title = ' title="'.texte_backend($title).'"';

	// rel=external pour les liens externes
	if (preg_match(',^https?://,S', $lien)
	AND false === strpos("$lien/", url_de_base()))
		$rel = trim("$rel external");
	if ($rel) $rel = " rel='$rel'";
  
  
// ajout JP  - on ajoute au lien le contexte langue si il existe, site fonctionne pas sans contexte lang, sauf pour les liens externes
  if(_request('lang') &&  !preg_match("*spip_out*", $class) && !preg_match("*pdf*", $mime) && (( _request('lang') == 'fr') OR (_request('lang') == 'nl'))){
    $lien .= "&lang="._request('lang');
  }
// fin ajout JP
  
  
	$lien = "<a href=\"".str_replace('"', '&quot;', $lien)."\" class='$class'$lang$title$rel$mime>$texte</a>";

	# ceci s'execute heureusement avant les tableaux et leur "|".
	# Attention, le texte initial est deja echappe mais pas forcement
	# celui retourne par calculer_url.
	# Penser au cas [<imgXX|right>->URL], qui exige typo('<a>...</a>')
	return typo($lien, true, $connect);
}
?>