Skip to content
Extraits de code Groupes Projets
Valider 08a0af34 rédigé par Fil's avatar Fil
Parcourir les fichiers

balises définies de manière new style (Pierre Andrews)

parent fb46196a
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -61,9 +61,11 @@ class ParamChamp {
var $boucles;
var $id_mere;
var $code;
var $entete;
function retour() {
return applique_filtres($this->fonctions, $this->code, $this->id_boucle, $this->boucles, $this->id_mere);
list($code_filtre,$entete_filtre) = applique_filtres($this->fonctions, $this->code, $this->id_boucle, $this->boucles, $this->id_mere);
return array($code_filtre,$this->entete.$entete_filtre);
}
}
......
......@@ -121,7 +121,8 @@ function calculer_champ($fonctions, $nom_champ, $id_boucle, &$boucles, $id_mere)
// si index_pile a ramene le choix par defaut,
// ca doit plutot etre un champ SPIP non SQL,
// ou ni l'un ni l'autre
return calculer_champ_divers($fonctions, $nom_champ, $id_boucle, $boucles, $id_mere);
$code = "'#$nom_champ'";
return applique_filtres($fonctions, $code, $id_boucle, $boucles, $id_mere);
}
......
......@@ -98,15 +98,15 @@ function balise_DATE_dist ($p) {
# Fonction commune aux logos (rubriques, articles...)
function calculer_champ_LOGO($fonctions, $nom_champ, $id_boucle, &$boucles, $id_mere)
function calculer_champ_LOGO($params)
{
ereg("^LOGO_(([a-zA-Z]+).*)$", $nom_champ, $regs);
ereg("^LOGO_(([a-zA-Z]+).*)$", $params->nom_champ, $regs);
$type_logo = $regs[1];
$type_objet = strtolower($regs[2]);
$flag_fichier = 0; // compatibilite ascendante
$filtres = '';
if ($fonctions) {
while (list(, $nom) = each($fonctions)) {
if (is_array($params->fonctions)) {
foreach($params->fonctions as $nom) {
if (ereg('^(left|right|center|top|bottom)$', $nom))
$align = $nom;
else if ($nom == 'lien') {
......@@ -129,137 +129,137 @@ function calculer_champ_LOGO($fonctions, $nom_champ, $id_boucle, &$boucles, $id_
}
}
// recuperer les filtres s'il y en a
$fonctions = $filtres;
$params->fonctions = $filtres;
}
if ($flag_lien_auto && !$lien) {
$milieu .= "\n\t\$lien = generer_url_$type_objet(" .
index_pile($id_boucle, 'id_$type_objet', $boucles) .
$params->entete .= "\n\t\$lien = generer_url_$type_objet(" .
champ_sql("id_$type_objet", $params) .
");\n";
}
else
{
$milieu .= "\n\t\$lien = ";
$params->entete .= "\n\t\$lien = ";
$a = $lien;
while (ereg("^([^#]*)#([A-Za-z_]+)(.*)$", $a, $match))
{
list($c,$m) = calculer_champ(array(), $match[2], $id_boucle, $boucles, $id_mere);
list($c,$m) = calculer_champ(array(), $match[2], $params->id_boucle, $params->boucles, $params->id_mere);
// $m est nul dans les cas pre'vus
$milieu .= ((!$match[1]) ? "" :"'$match[1]' .") . " $c .";
$params->entete .= ((!$match[1]) ? "" :"'$match[1]' .") . " $c .";
$a = $match[3];
}
if ($a) $milieu .= "'$lien';";
if ($a) $params->entete .= "'$lien';";
else
{
if ($lien) $milieu = substr($milieu,1,-1) .";";
else $milieu .= "'';";
if ($lien) $params->entete = substr($params->entete,1,-1) .";";
else $params->entete .= "'';";
}
}
if ($type_logo == 'RUBRIQUE') {
$milieu .= '
$params->entete .= '
list($logon, $logoff) = image_rubrique(' .
index_pile($id_boucle, "id_rubrique", $boucles) . ", $flag_fichier);
champ_sql('id_rubrique', $params) . ", $flag_fichier);
";
}
else if ($type_logo == 'RUBRIQUE_NORMAL') {
$milieu .= '
$params->entete .= '
list($logon,) = image_rubrique(' .
index_pile($id_boucle, "id_rubrique", $boucles) . ", $flag_fichier); ". '
champ_sql('id_rubrique', $params) . ", $flag_fichier); ". '
$logoff = "";
';
}
else if ($type_logo == 'RUBRIQUE_SURVOL') {
$milieu .= '
$params->entete .= '
list(,$logon) = image_rubrique(' .
index_pile($id_boucle, "id_rubrique", $boucles) . ", $flag_fichier); ". '
champ_sql('id_rubrique', $params) . ", $flag_fichier); ". '
$logoff = "";
';
}
else if ($type_logo == 'DOCUMENT'){
// Recours a une globale pour compatibilite avec l'ancien code.
// Il faudra reprendre inc_documents entierement (tu parles !)
$milieu .= '
$params->entete .= '
$logoff = ' .
index_pile($id_boucle, "id_document", $boucles) .
champ_sql('id_document', $params) .
';
$logon = integre_image($logoff,"","fichier_vignette");
$logoff = "";
';
}
else if ($type_logo == 'AUTEUR') {
$milieu .= '
$params->entete .= '
list($logon, $logoff) = image_auteur(' .
index_pile($id_boucle, "id_auteur", $boucles) . ", $flag_fichier);
champ_sql('id_auteur', $params) . ", $flag_fichier);
";
}
else if ($type_logo == 'AUTEUR_NORMAL') {
$milieu .= '
$params->entete .= '
list($logon,) = image_auteur(' .
index_pile($id_boucle, "id_auteur", $boucles) . ", $flag_fichier);".'
champ_sql('id_auteur', $params) . ", $flag_fichier);".'
$logoff = "";
';
}
else if ($type_logo == 'AUTEUR_SURVOL') {
$milieu .= '
$params->entete .= '
list(,$logon) = image_auteur(' .
index_pile($id_boucle, "id_auteur", $boucles) . ", $flag_fichier);".'
champ_sql('id_auteur', $params) . ", $flag_fichier);".'
$logoff = "";
';
}
else if ($type_logo == 'BREVE') {
$milieu .= '
$params->entete .= '
list($logon, $logoff) = image_breve(' .
index_pile($id_boucle, "id_breve", $boucles) . ", $flag_fichier);
champ_sql('id_breve', $params) . ", $flag_fichier);
";
}
else if ($type_logo == 'BREVE_RUBRIQUE') {
$milieu .= '
$params->entete .= '
list($logon, $logoff) = image_breve(' .
index_pile($id_boucle, "id_breve", $boucles) . ", $flag_fichier);".'
champ_sql('id_breve', $params) . ", $flag_fichier);".'
if (!$logon)
list($logon, $logoff) = image_rubrique(' .
index_pile($id_boucle, "id_rubrique", $boucles) . ", $flag_fichier);
champ_sql('id_rubrique', $params) . ", $flag_fichier);
";
}
else if ($type_logo == 'SITE') {
$milieu .= '
$params->entete .= '
list($logon, $logoff) = image_site(' .
index_pile($id_boucle, "id_syndic", $boucles) . ", $flag_fichier);
champ_sql('id_syndic', $params) . ", $flag_fichier);
";
}
else if ($type_logo == 'MOT') {
$milieu .= '
$params->entete .= '
list($logon, $logoff) = image_mot(' .
index_pile($id_boucle, "id_mot", $boucles) . ", $flag_fichier);
champ_sql('id_mot', $params) . ", $flag_fichier);
";
}
else if ($type_logo == 'ARTICLE') {
$milieu .= '
$params->entete .= '
list($logon, $logoff) = image_article(' .
index_pile($id_boucle, "id_article", $boucles) . ", $flag_fichier);
champ_sql('id_article', $params) . ", $flag_fichier);
";
}
else if ($type_logo == 'ARTICLE_NORMAL') {
$milieu .= '
$params->entete .= '
list($logon,) = image_article(' .
index_pile($id_boucle, "id_article", $boucles) . ", $flag_fichier);".'
champ_sql('id_article', $params) . ", $flag_fichier);".'
$logoff = "";
';
}
else if ($type_logo == 'ARTICLE_SURVOL') {
$milieu .= '
$params->entete .= '
list(,$logon) = image_article(' .
index_pile($id_boucle, "id_article", $boucles) . ", $flag_fichier);".'
champ_sql('id_article', $params) . ", $flag_fichier);".'
$logoff = "";
';
}
else if ($type_logo == 'ARTICLE_RUBRIQUE') {
$milieu .= '
$params->entete .= '
list($logon, $logoff) = image_article(' .
index_pile($id_boucle, "id_article", $boucles) . ", $flag_fichier);".'
champ_sql('id_article', $params) . ", $flag_fichier);".'
if (!$logon)
list($logon, $logoff) = image_rubrique(' .
index_pile($id_boucle, "id_rubrique", $boucles) . ", $flag_fichier);
champ_sql('id_rubrique', $params) . ", $flag_fichier);
";
}
......@@ -268,13 +268,12 @@ function calculer_champ_LOGO($fonctions, $nom_champ, $id_boucle, &$boucles, $id_
// remarquable, mais a conserver pour compatibilite ascendante.
// -> http://www.spip.net/fr_article901.html
if ($flag_fichier)
$code = 'ereg_replace("^IMG/","",$logon)';
$params->code = 'ereg_replace("^IMG/","",$logon)';
else
$code = "affiche_logos(\$logon, \$logoff, \$lien, '".
$params->code = "affiche_logos(\$logon, \$logoff, \$lien, '".
addslashes($align) . "')";
list($c,$m) = applique_filtres($fonctions, $code, $id_boucle, $boucles, $id_mere);
return array($c,$milieu . $m);
return $params;
}
?>
<?php
//
// Fonction de traduction des champs Spip basiques
// A terme, elle devrait etre remplace'e par autant de fonctions que de 'case'
// Fonctions new style
//
function calculer_champ_divers($fonctions, $nom_champ, $id_boucle, &$boucles, $id_mere) {
global $flag_pcre, $table_primary;
switch($nom_champ) {
// Introduction (d'un article, d'une breve ou d'un message de forum)
case 'NOM_SITE_SPIP':
$code = "lire_meta('nom_site')";
break;
case 'EMAIL_WEBMASTER':
$code = "lire_meta('email_webmaster')";
break;
case 'CHARSET':
$code = "lire_meta('charset')";
break;
case 'LANG_LEFT':
$code = "lang_dir(\$GLOBALS['spip_lang'],'left','right')";
break;
case 'LANG_RIGHT':
$code = "lang_dir(\$GLOBALS['spip_lang'],'right','left')";
break;
case 'LANG_DIR':
$code = "lang_dir(\$GLOBALS['spip_lang'],'ltr','rtl')";
break;
case 'PUCE':
$code = "propre('- ')";
break;
case 'DATE_NOUVEAUTES':
$code = "((lire_meta('quoi_de_neuf') == 'oui' AND lire_meta('majnouv')) ? normaliser_date(lire_meta('majnouv')) : \"'0000-00-00'\")";
break;
case 'URL_SITE_SPIP':
$code = "lire_meta('adresse_site')";
break;
case 'URL_ARTICLE':
$code = "generer_url_article(" .
index_pile($id_boucle, 'id_article', $boucles) .
")" ;
if ($boucles[$id_boucle]->hash)
$code = "url_var_recherche(" . $code . ")";
break;
case 'URL_RUBRIQUE':
$code = "generer_url_rubrique(" .
index_pile($id_boucle, 'id_rubrique', $boucles) .
")" ;
if ($boucles[$id_boucle]->hash)
$code = "url_var_recherche(" . $code . ")";
break;
case 'URL_BREVE':
$code = "generer_url_breve(" .
index_pile($id_boucle, 'id_breve', $boucles) .
")";
if ($boucles[$id_boucle]->hash)
$code = "url_var_recherche(" . $code . ")";
break;
case 'URL_MOT':
$code = "generer_url_mot(" .
index_pile($id_boucle, 'id_mot', $boucles) .
")";
$code = "url_var_recherche(" . $code . ")";
break;
case 'URL_FORUM':
$code = "generer_url_forum(" .
index_pile($id_boucle, 'id_forum', $boucles) .")";
break;
case 'URL_DOCUMENT':
$code = "generer_url_document(" .
index_pile($id_boucle, 'id_document', $boucles) . ")";
break;
case 'URL_AUTEUR': # 1.7.2
$code = "generer_url_auteur(" .
index_pile($id_boucle, 'id_auteur', $boucles) .")";
if ($boucles[$id_boucle]->hash)
$code = "url_var_recherche(" . $code . ")";
break;
case 'NOTES':
$milieu = '$lacible = $GLOBALS["les_notes"];
$GLOBALS["les_notes"] = "";
$GLOBALS["compt_note"] = 0;
$GLOBALS["marqueur_notes"] ++;
';
$code = '$lacible';
break;
case 'RECHERCHE':
$code = 'htmlspecialchars($GLOBALS["recherche"])';
break;
case 'COMPTEUR_BOUCLE':
$code = '$compteur_boucle';
break;
case 'TOTAL_BOUCLE':
if ($id_mere === '') {
include_local("inc-debug-squel.php3");
erreur_squelette(_L("Champ #TOTAL_BOUCLE hors boucle"), '', $id_boucle);
}
$code = "\$Numrows['$id_mere']";
$boucles[$id_mere]->numrows = true;
break;
case 'POINTS':
$n = 0;
$b = $id_boucle;
$code = '';
while ($b != '') {
if ($s = $boucles[$b]->param) {
foreach($s as $v) {
if (strpos($v,'recherche') !== false) {
$code = '$Pile[$SP' . (($n==0) ? "" : "-$n") .
'][points]';
$b = '';
break;
}
}
}
$n++;
$b = $boucles[$b]->id_parent;
}
if (!$code) {
include_local("inc-debug-squel.php3");
erreur_squelette(_L("Champ #POINTS hors d'une recherche"), '', $idb);
}
break;
case 'POPULARITE_ABSOLUE':
$code = 'ceil(' .
index_pile($id_boucle, "popularite", $boucles) .
')';
break;
case 'POPULARITE_SITE':
$code = 'ceil(lire_meta(\'popularite_total\'))';
break;
case 'POPULARITE_MAX':
$code = 'ceil(lire_meta(\'popularite_max\'))';
break;
case 'EXPOSER':
$on = 'on';
$off= '';
if ($fonctions) {
// Gerer la notation [(#EXPOSER|on,off)]
reset($fonctions);
list(, $onoff) = each($fonctions);
ereg("([^,]*)(,(.*))?", $onoff, $regs);
$on = addslashes($regs[1]);
$off = addslashes($regs[3]);
// autres filtres
$filtres=Array();
while (list(, $nom) = each($fonctions))
$filtres[] = $nom;
$fonctions = $filtres;
}
function balise_NOM_SITE_SPIP_dist($params) {
$params->code = "lire_meta('nom_site')";
return $params;
}
function balise_EMAIL_WEBMASTER_dist($params) {
$params->code = "lire_meta('email_webmaster')";
return $params;
}
function balise_CHARSET_dist($params) {
$params->code = "lire_meta('charset')";
return $params;
}
function balise_LANG_LEFT_dist($params) {
$params->code = "lang_dir(\$GLOBALS['spip_lang'],'left','right')";
return $params;
}
function balise_LANG_RIGHT_dist($params) {
$params->code = "lang_dir(\$GLOBALS['spip_lang'],'right','left')";
return $params;
}
function balise_LANG_DIR_dist($params) {
$params->code = "lang_dir(\$GLOBALS['spip_lang'],'ltr','rtl')";
return $params;
}
function balise_PUCE_dist($params) {
$params->code = "propre('- ')";
return $params;
}
function balise_DATE_NOUVEAUTES_dist($params) {
$params->code = "((lire_meta('quoi_de_neuf') == 'oui' AND lire_meta('majnouv')) ? normaliser_date(lire_meta('majnouv')) : \"'0000-00-00'\")";
return $params;
}
function balise_URL_SITE_SPIP_dist($params) {
$params->code = "lire_meta('adresse_site')";
return $params;
}
function balise_URL_ARTICLE_dist($params) {
$_type = $params->boucles[$params->id_boucle]->type_requete;
if ($_type == 'articles') {
$_id_article = champ_sql('id_article', $params);
$params->code = "generer_url_article($_id_article)";
} else if ($_type == 'syndic_articles') {
$params->code = champ_sql('url', $params);
}
if ($params->boucles[$params->id_boucle]->hash)
$params->code = "url_var_recherche(" . $params->code . ")";
$type_boucle = $boucles[$id_boucle]->type_requete;
$primary_key = $table_primary[$type_boucle];
$code = '(calcul_exposer('
.index_pile($id_boucle, $primary_key, $boucles)
.', "'.$primary_key.'", $Pile[0]) ?'." '$on': '$off')";
break;
//
// Inserer directement un document dans le squelette
//
case 'EMBED_DOCUMENT':
$milieu = '
$lacible = '
. index_pile($id_boucle, 'id_document', $boucles)
. ';
$lacible = embed_document($lacible, \'' .
($fonctions ? join($fonctions, "|") : "") .
'\', false);';
$fonctions = "";
$code = '$lacible';
break;
// Debut et fin de surlignage auto des mots de la recherche
// on insere une balise Span avec une classe sans spec:
// c'est transparent s'il n'y a pas de recherche,
// sinon elles seront remplacees par les fontions de inc_surligne
// flag_pcre est juste une flag signalant que preg_match est dispo.
case 'DEBUT_SURLIGNE':
$code = ($flag_pcre ? ('\'<span class="spip_surligneconditionnel">\'') : '');
break;
case 'FIN_SURLIGNE':
$code = ($flag_pcre ? ('\'</span class="spip_surligneconditionnel">\'') : '');
break;
// Formulaire de changement de langue
case 'MENU_LANG':
$code = '"<"."?php
include_ecrire(\"inc_lang.php3\");
echo menu_langues(\"var_lang\", \$menu_lang);
?".">"';
break;
// Formulaire de changement de langue / page de login
case 'MENU_LANG_ECRIRE':
$code = '"<"."?php
include_ecrire(\"inc_lang.php3\");
echo menu_langues(\"var_lang_ecrire\", \$menu_lang);
?".">"';
break;
//
// Formulaires de login
//
case 'LOGIN_PRIVE':
$code = '"<"."?php include(\'inc-login.php3\'); login(\'\', \'prive\'); ?".">"';
break;
case 'LOGIN_PUBLIC':
if ($nom = $fonctions[0])
$lacible = "new Link('".$nom."')";
else
$lacible = '\$GLOBALS[\'clean_link\']';
$code = '"<"."?php include(\'inc-login.php3\'); login(' . $lacible . ', false); ?".">"';
$fonctions = array();
break;
case 'URL_LOGOUT':
if ($fonctions) {
$url = "&url=".$fonctions[0];
$fonctions = array();
} else {
$url = '&url=\'.urlencode(\$clean_link->getUrl()).\'';
return $params;
}
function balise_URL_RUBRIQUE_dist($params) {
$params->code = "generer_url_rubrique(" .
champ_sql('id_rubrique',$params) .
")" ;
if ($params->boucles[$params->id_boucle]->hash)
$params->code = "url_var_recherche(" . $params->code . ")";
return $params;
}
function balise_URL_BREVE_dist($params) {
$params->code = "generer_url_breve(" .
champ_sql('id_breve',$params) .
")";
if ($params->boucles[$params->id_boucle]->hash)
$params->code = "url_var_recherche(" . $params->code . ")";
return $params;
}
function balise_URL_MOT_dist($params) {
$params->code = "generer_url_mot(" .
champ_sql('id_mot',$params) .
")";
$params->code = "url_var_recherche(" . $params->code . ")";
return $params;
}
function balise_URL_FORUM_dist($params) {
$params->code = "generer_url_forum(" .
champ_sql('id_forum',$params) .")";
return $params;
}
function balise_URL_DOCUMENT_dist($params) {
$params->code = "generer_url_document(" .
champ_sql('id_document',$params) . ")";
return $params;
}
function balise_URL_AUTEUR_dist($params) {
$params->code = "generer_url_auteur(" .
champ_sql('id_auteur',$params) .")";
if ($params->boucles[$params->id_boucle]->hash)
$params->code = "url_var_recherche(" . $params->code . ")";
return $params;
}
function balise_NOTES_dist($params) {
$params->entete = '$lacible = $GLOBALS["les_notes"];
$GLOBALS["les_notes"] = "";
$GLOBALS["compt_note"] = 0;
$GLOBALS["marqueur_notes"] ++;
';
$params->code = '$lacible';
return $params;
}
function balise_RECHERCHE_dist($params) {
$params->code = 'htmlspecialchars($GLOBALS["recherche"])';
return $params;
}
function balise_COMPTEUR_BOUCLE_dist($params) {
$params->code = '$compteur_boucle';
return $params;
}
function balise_TOTAL_BOUCLE_dist($params) {
if ($params->id_mere === '') {
include_local("inc-debug-squel.php3");
erreur_squelette(_L("Champ #TOTAL_BOUCLE hors boucle"), '', $params->id_boucle);
}
$params->code = "\$Numrows['$params->id_mere']";
$params->boucles[$params->id_mere]->numrows = true;
return $params;
}
function balise_POINTS_dist($params) {
$n = 0;
$b = $params->id_boucle;
$params->code = '';
while ($b != '') {
if ($s = $params->boucles[$b]->param) {
foreach($s as $v) {
if (strpos($v,'recherche') !== false) {
$params->code = '$Pile[$SP' . (($n==0) ? "" : "-$n") .
'][points]';
$b = '';
break;
}
$code = '"<"."?php if (\$GLOBALS[\'auteur_session\'][\'login\'])
{ echo \'spip_cookie.php3?logout_public=\'.\$GLOBALS[\'auteur_session\'][\'login\'].\'' . $url . '\'; } ?".">"';
break;
case 'LOGO_ARTICLE':
case 'LOGO_ARTICLE_NORMAL':
case 'LOGO_ARTICLE_RUBRIQUE':
case 'LOGO_ARTICLE_SURVOL':
case 'LOGO_AUTEUR':
case 'LOGO_AUTEUR_NORMAL':
case 'LOGO_AUTEUR_SURVOL':
case 'LOGO_SITE':
case 'LOGO_BREVE':
case 'LOGO_BREVE_RUBRIQUE':
case 'LOGO_MOT':
case 'LOGO_RUBRIQUE':
case 'LOGO_RUBRIQUE_NORMAL':
case 'LOGO_RUBRIQUE_SURVOL':
case 'LOGO_DOCUMENT' :
// retour immediat: filtres derogatoires traites dans la fonction
return calculer_champ_LOGO($fonctions, $nom_champ, $id_boucle, $boucles, $id_mere);
break;
default:
// champ inconnu. Il s'autodenote.
$code = "'#$nom_champ'";
break;
} // switch
list($c,$m) = applique_filtres($fonctions, $code, $id_boucle, $boucles, $id_mere);
return array($c,$milieu . $m);
}
}
$n++;
$b = $params->boucles[$b]->id_parent;
}
if (!$params->code) {
include_local("inc-debug-squel.php3");
erreur_squelette(_L("Champ #POINTS hors d'une recherche"), '', $params->id_boucle);
}
return $params;
}
function balise_POPULARITE_ABSOLUE_dist($params) {
$params->code = 'ceil(' .
champ_sql('popularite', $params) .
')';
return $params;
}
function balise_POPULARITE_SITE_dist($params) {
$params->code = 'ceil(lire_meta(\'popularite_total\'))';
return $params;
}
function balise_POPULARITE_MAX_dist($params) {
$params->code = 'ceil(lire_meta(\'popularite_max\'))';
return $params;
}
function balise_EXPOSER_dist($params) {
global $table_primary;
$on = 'on';
$off= '';
if ($params->fonctions) {
// Gerer la notation [(#EXPOSER|on,off)]
reset($params->fonctions);
list(, $onoff) = each($params->fonctions);
ereg("([^,]*)(,(.*))?", $onoff, $regs);
$on = addslashes($regs[1]);
$off = addslashes($regs[3]);
// autres filtres
$filtres=Array();
while (list(, $nom) = each($params->fonctions))
$filtres[] = $nom;
$params->fonctions = $filtres;
}
$type_boucle = $params->boucles[$params->id_boucle]->type_requete;
$primary_key = $table_primary[$type_boucle];
$params->code = '(calcul_exposer('
.champ_sql($primary_key, $params)
.', "'.$primary_key.'", $Pile[0]) ?'." '$on': '$off')";
return $params;
}
//
// Inserer directement un document dans le squelette
//
function balise_EMBED_DOCUMENT_dist($params) {
$params->entete = '
$lacible = '
. champ_sql('id_document',$params)
. ';
$lacible = embed_document($lacible, \'' .
($fonctions ? join($fonctions, "|") : "") .
'\', false);';
$fonctions = "";
$params->code = '$lacible';
return $params;
}
// Debut et fin de surlignage auto des mots de la recherche
// on insere une balise Span avec une classe sans spec:
// c'est transparent s'il n'y a pas de recherche,
// sinon elles seront remplacees par les fontions de inc_surligne
// flag_pcre est juste une flag signalant que preg_match est dispo.
function balise_DEBUT_SURLIGNE_dist($params) {
global $flag_pcre;
$params->code = ($flag_pcre ? ('\'<span class="spip_surligneconditionnel">\'') : "''");
return $params;
}
function balise_FIN_SURLIGNE_dist($params) {
global $flag_pcre;
$params->code = ($flag_pcre ? ('\'</span class="spip_surligneconditionnel">\'') : "''");
return $params;
}
// Formulaire de changement de langue
function balise_MENU_LANG_dist($params) {
$params->code = '"<"."?php
include_ecrire(\"inc_lang.php3\");
echo menu_langues(\"var_lang\", \$menu_lang);
?".">"';
return $params;
}
// Formulaire de changement de langue / page de login
function balise_MENU_LANG_ECRIRE_dist($params) {
$params->code = '"<"."?php
include_ecrire(\"inc_lang.php3\");
echo menu_langues(\"var_lang_ecrire\", \$menu_lang);
?".">"';
return $params;
}
//
// Fonctions OK
// Formulaires de login
//
function balise_LOGIN_PRIVE_dist($params) {
$params->code = '"<"."?php include(\'inc-login.php3\'); login(\'\', \'prive\'); ?".">"';
return $params;
}
function balise_LOGIN_PUBLIC_dist($params) {
if ($nom = $params->fonctions[0])
$lacible = "new Link('".$nom."')";
else
$lacible = '\$GLOBALS[\'clean_link\']';
$params->code = '"<"."?php include(\'inc-login.php3\'); login(' . $lacible . ', false); ?".">"';
$params->fonctions = array();
return $params;
}
function balise_URL_LOGOUT_dist($params) {
if ($params->fonctions) {
$url = "&url=".$params->fonctions[0];
$params->fonctions = array();
} else {
$url = '&url=\'.urlencode(\$clean_link->getUrl()).\'';
}
$params->code = '"<"."?php if (\$GLOBALS[\'auteur_session\'][\'login\'])
{ echo \'spip_cookie.php3?logout_public=\'.\$GLOBALS[\'auteur_session\'][\'login\'].\'' . $url . '\'; } ?".">"';
return $params;
}
function balise_LOGO_ARTICLE_dist($params) {
// retour immediat: filtres derogatoires traites dans la fonction
return calculer_champ_LOGO($params);
}
function balise_LOGO_ARTICLE_NORMAL_dist($params) {
// retour immediat: filtres derogatoires traites dans la fonction
return calculer_champ_LOGO($params);
}
function balise_LOGO_ARTICLE_RUBRIQUE_dist($params) {
// retour immediat: filtres derogatoires traites dans la fonction
return calculer_champ_LOGO($params);
}
function balise_LOGO_ARTICLE_SURVOL_dist($params) {
// retour immediat: filtres derogatoires traites dans la fonction
return calculer_champ_LOGO($params);
}
function balise_LOGO_AUTEUR_dist($params) {
// retour immediat: filtres derogatoires traites dans la fonction
return calculer_champ_LOGO($params);
}
function balise_LOGO_AUTEUR_NORMAL_dist($params) {
// retour immediat: filtres derogatoires traites dans la fonction
return calculer_champ_LOGO($params);
}
function balise_LOGO_AUTEUR_SURVOL_dist($params) {
// retour immediat: filtres derogatoires traites dans la fonction
return calculer_champ_LOGO($params);
}
function balise_LOGO_SITE_dist($params) {
// retour immediat: filtres derogatoires traites dans la fonction
return calculer_champ_LOGO($params);
}
function balise_LOGO_BREVE_dist($params) {
// retour immediat: filtres derogatoires traites dans la fonction
return calculer_champ_LOGO($params);
}
function balise_LOGO_BREVE_RUBRIQUE_dist($params) {
// retour immediat: filtres derogatoires traites dans la fonction
return calculer_champ_LOGO($params);
}
function balise_LOGO_MOT_dist($params) {
// retour immediat: filtres derogatoires traites dans la fonction
return calculer_champ_LOGO($params);
}
function balise_LOGO_RUBRIQUE_dist($params) {
// retour immediat: filtres derogatoires traites dans la fonction
return calculer_champ_LOGO($params);
}
function balise_LOGO_RUBRIQUE_NORMAL_dist($params) {
// retour immediat: filtres derogatoires traites dans la fonction
return calculer_champ_LOGO($params);
}
function balise_LOGO_RUBRIQUE_SURVOL_dist($params) {
// retour immediat: filtres derogatoires traites dans la fonction
return calculer_champ_LOGO($params);
}
function balise_LOGO_DOCUMENT_dist($params) {
// retour immediat: filtres derogatoires traites dans la fonction
return calculer_champ_LOGO($params);
}
function balise_INTRODUCTION_dist ($p) {
$_type = $p->boucles[$p->id_boucle]->type_requete;
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter