From 021845f64f55525325db7260a11b24e725d5595d Mon Sep 17 00:00:00 2001 From: Cerdic <cedric@yterium.com> Date: Tue, 23 May 2006 08:52:41 +0000 Subject: [PATCH] permettre de passer l'id en argument statique sur les balises #URL_xx : #URL_ARTICLE{5},#URL_RUBRIQUE{5},#URL_BREVE{5},#URL_MOT{5},#URL_FORUM{5},#URL_DOCUMENT{5},#URL_AUTEUR{5} --- ecrire/public/balises.php | 74 ++++++++++++++++++++++++++++++--------- 1 file changed, 58 insertions(+), 16 deletions(-) diff --git a/ecrire/public/balises.php b/ecrire/public/balises.php index ced4c0aad6..bfa2669b93 100644 --- a/ecrire/public/balises.php +++ b/ecrire/public/balises.php @@ -141,7 +141,13 @@ function balise_URL_ARTICLE_dist($p) { // Cas general : chercher un id_article dans la pile else { - $_id_article = champ_sql('id_article', $p); + $_id_article = 0; + if ($p->param && !$p->param[0][0]){ + $quoi = $p->param[0][1]; + $_id_article = ($quoi[0]->type=='texte') ? intval($quoi[0]->texte) : 0; + } + if (!$_id_article) + $_id_article = champ_sql('id_article', $p); $p->code = "generer_url_article($_id_article)"; if ($p->boucles[$p->nom_boucle ? $p->nom_boucle : $p->id_boucle]->hash) @@ -153,9 +159,15 @@ function balise_URL_ARTICLE_dist($p) { } function balise_URL_RUBRIQUE_dist($p) { - $p->code = "generer_url_rubrique(" . - champ_sql('id_rubrique',$p) . - ")" ; + $_id_rubrique = 0; + if ($p->param && !$p->param[0][0]){ + $quoi = $p->param[0][1]; + $_id_rubrique = ($quoi[0]->type=='texte') ? intval($quoi[0]->texte) : 0; + } + if (!$_id_rubrique) + $_id_rubrique = champ_sql('id_rubrique',$p); + $p->code = "generer_url_rubrique($_id_rubrique)" ; + if ($p->boucles[$p->nom_boucle ? $p->nom_boucle : $p->id_boucle]->hash) $p->code = "url_var_recherche(" . $p->code . ")"; @@ -164,9 +176,15 @@ function balise_URL_RUBRIQUE_dist($p) { } function balise_URL_BREVE_dist($p) { - $p->code = "generer_url_breve(" . - champ_sql('id_breve',$p) . - ")"; + $_id_breve = 0; + if ($p->param && !$p->param[0][0]){ + $quoi = $p->param[0][1]; + $_id_breve = ($quoi[0]->type=='texte') ? intval($quoi[0]->texte) : 0; + } + if (!$_id_breve) + $_id_breve = champ_sql('id_breve',$p); + $p->code = "generer_url_breve($_id_breve)"; + if ($p->boucles[$p->nom_boucle ? $p->nom_boucle : $p->id_boucle]->hash) $p->code = "url_var_recherche(" . $p->code . ")"; @@ -175,9 +193,14 @@ function balise_URL_BREVE_dist($p) { } function balise_URL_MOT_dist($p) { - $p->code = "generer_url_mot(" . - champ_sql('id_mot',$p) . - ")"; + $_id_mot = 0; + if ($p->param && !$p->param[0][0]){ + $quoi = $p->param[0][1]; + $_id_mot = ($quoi[0]->type=='texte') ? intval($quoi[0]->texte) : 0; + } + if (!$_id_mot) + $_id_mot = champ_sql('id_mot',$p); + $p->code = "generer_url_mot($_id_mot)"; if ($p->boucles[$p->nom_boucle ? $p->nom_boucle : $p->id_boucle]->hash) $p->code = "url_var_recherche(" . $p->code . ")"; @@ -206,8 +229,14 @@ function balise_NOM_SITE_dist($p) { # a part [(#ID_SYNDIC|generer_url_site)] function balise_URL_FORUM_dist($p) { - $p->code = "generer_url_forum(" . - champ_sql('id_forum',$p) .")"; + $_id_forum = 0; + if ($p->param && !$p->param[0][0]){ + $quoi = $p->param[0][1]; + $_id_forum = ($quoi[0]->type=='texte') ? intval($quoi[0]->texte) : 0; + } + if (!$_id_forum) + $_id_forum = champ_sql('id_forum',$p); + $p->code = "generer_url_forum($_id_forum)"; if ($p->boucles[$p->nom_boucle ? $p->nom_boucle : $p->id_boucle]->hash) $p->code = "url_var_recherche(" . $p->code . ")"; @@ -217,16 +246,29 @@ function balise_URL_FORUM_dist($p) { } function balise_URL_DOCUMENT_dist($p) { - $p->code = "generer_url_document(" . - champ_sql('id_document',$p) . ")"; + $_id_document = 0; + if ($p->param && !$p->param[0][0]){ + $quoi = $p->param[0][1]; + $_id_document = ($quoi[0]->type=='texte') ? intval($quoi[0]->texte) : 0; + } + if (!$_id_document) + $_id_document = champ_sql('id_document',$p); + $p->code = "generer_url_document($_id_document)"; $p->interdire_scripts = false; return $p; } function balise_URL_AUTEUR_dist($p) { - $p->code = "generer_url_auteur(" . - champ_sql('id_auteur',$p) .")"; + $_id_auteur = 0; + if ($p->param && !$p->param[0][0]){ + $quoi = $p->param[0][1]; + $_id_auteur = ($quoi[0]->type=='texte') ? intval($quoi[0]->texte) : 0; + } + if (!$_id_auteur) + $_id_auteur = champ_sql('id_auteur',$p); + $p->code = "generer_url_auteur($_id_auteur)"; + if ($p->boucles[$p->nom_boucle ? $p->nom_boucle : $p->id_boucle]->hash) $p->code = "url_var_recherche(" . $p->code . ")"; -- GitLab