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

urls des forums et modification de #PARAMETRES_FORUM

parent 280d0b1d
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -250,7 +250,7 @@ ...@@ -250,7 +250,7 @@
<!-- Forums --> <!-- Forums -->
[<div class="forum-repondre"><B><A HREF="forum.php3?(#PARAMETRES_FORUM)"><:repondre_article:></A></B></div>] [<div class="forum-repondre"><B><A HREF="forum.php3?(#PARAMETRES_FORUM*)"><:repondre_article:></A></B></div>]
<br /> <br />
<B_forums> <B_forums>
...@@ -271,7 +271,7 @@ ...@@ -271,7 +271,7 @@
<div class="forum-item"> <div class="forum-item">
#TEXTE #TEXTE
[<div class="forum-titre"><a href="(#URL_SITE)" class="spip_out">#NOM_SITE</a></div>] [<div class="forum-titre"><a href="(#URL_SITE)" class="spip_out">#NOM_SITE</a></div>]
[<div class="forum-repondre-message"><a href="forum.php3?(#PARAMETRES_FORUM)"><:repondre_message:></a></div>] [<div class="forum-repondre-message"><a href="forum.php3?(#PARAMETRES_FORUM*)"><:repondre_message:></a></div>]
</div> </div>
</div> </div>
...@@ -288,7 +288,7 @@ ...@@ -288,7 +288,7 @@
<div class="forum-item"> <div class="forum-item">
#TEXTE #TEXTE
[<div class="forum-titre"><a href="(#URL_SITE)" class="spip_out">#NOM_SITE</a></div>] [<div class="forum-titre"><a href="(#URL_SITE)" class="spip_out">#NOM_SITE</a></div>]
[<div class="forum-repondre-message"><a href="forum.php3?(#PARAMETRES_FORUM)"><:repondre_message:></a></div>] [<div class="forum-repondre-message"><a href="forum.php3?(#PARAMETRES_FORUM*)"><:repondre_message:></a></div>]
</div> </div>
</div> </div>
......
...@@ -156,7 +156,7 @@ ...@@ -156,7 +156,7 @@
<!-- Forums --> <!-- Forums -->
[<div class="forum-repondre"><B><A HREF="forum.php3?(#PARAMETRES_FORUM)"><:repondre_breve:></A></B></div>] [<div class="forum-repondre"><B><A HREF="forum.php3?(#PARAMETRES_FORUM*)"><:repondre_breve:></A></B></div>]
<br /> <br />
<h1 class="structure"><:forum:></h1> <h1 class="structure"><:forum:></h1>
...@@ -177,7 +177,7 @@ ...@@ -177,7 +177,7 @@
<div class="forum-item"> <div class="forum-item">
#TEXTE #TEXTE
[<div class="forum-titre"><a href="(#URL_SITE)" class="spip_out">#NOM_SITE</a></div>] [<div class="forum-titre"><a href="(#URL_SITE)" class="spip_out">#NOM_SITE</a></div>]
[<div class="forum-repondre-message"><a href="forum.php3?(#PARAMETRES_FORUM)"><:repondre_message:></a></div>] [<div class="forum-repondre-message"><a href="forum.php3?(#PARAMETRES_FORUM*)"><:repondre_message:></a></div>]
</div> </div>
</div> </div>
...@@ -195,7 +195,7 @@ ...@@ -195,7 +195,7 @@
<div class="forum-item"> <div class="forum-item">
#TEXTE #TEXTE
[<div class="forum-titre"><a href="(#URL_SITE)" class="spip_out">#NOM_SITE</a></div>] [<div class="forum-titre"><a href="(#URL_SITE)" class="spip_out">#NOM_SITE</a></div>]
[<div class="forum-repondre-message"><a href="forum.php3?(#PARAMETRES_FORUM)"><:repondre_message:></a></div>] [<div class="forum-repondre-message"><a href="forum.php3?(#PARAMETRES_FORUM*)"><:repondre_message:></a></div>]
</div> </div>
</div> </div>
......
...@@ -216,5 +216,41 @@ function calculer_threads() { ...@@ -216,5 +216,41 @@ function calculer_threads() {
} while ($discussion != "0"); } while ($discussion != "0");
} }
// Calculs des URLs des forums (pour l'espace public)
function racine_forum($id_forum){
if (!$id_forum = intval($id_forum)) return;
$query = "SELECT id_parent, id_rubrique, id_article, id_breve FROM spip_forum WHERE id_forum=".$id_forum;
$result = spip_query($query);
if($row = spip_fetch_array($result)){
if($row['id_parent']) {
return racine_forum($row['id_parent']);
}
else {
if($row['id_rubrique']) return array('rubrique',$row['id_rubrique'], $id_forum);
if($row['id_article']) return array('article',$row['id_article'], $id_forum);
if($row['id_breve']) return array('breve',$row['id_breve'], $id_forum);
}
}
}
function generer_url_forum_dist($id_forum, $show_thread=false) {
list($type, $id, $id_thread) = racine_forum($id_forum);
if ($id_thread>0 AND $show_thread)
$id_forum = $id_thread;
switch($type) {
case 'article':
return generer_url_article($id)."#forum$id_forum";
break;
case 'breve':
return generer_url_breve($id)."#forum$id_forum";
break;
case 'rubrique':
return generer_url_rubrique($id)."#forum$id_forum";
break;
default:
return "forum.php3?id_forum=".$id_forum;
}
}
?> ?>
...@@ -91,16 +91,16 @@ function balise_FORMULAIRE_FORUM_dyn($titre, $table, $forums_publics, $id_rubriq ...@@ -91,16 +91,16 @@ function balise_FORMULAIRE_FORUM_dyn($titre, $table, $forums_publics, $id_rubriq
$previsu = ' '; $previsu = ' ';
// au premier appel (pas de Post-var nommee "retour_forum") // au premier appel (pas de Post-var nommee "retour_forum")
// memoriser l'URL courante pour y revenir apres envoi du message // memoriser evntuellement l'URL de retour pour y revenir apres
// aux appels suivants, reconduire la valeur. // envoi du message ; aux appels suivants, reconduire la valeur.
// Initialiser aussi l'auteur // Initialiser aussi l'auteur
if (!$retour_forum = rawurldecode(_request('retour_forum'))) { if (!$retour_forum = rawurldecode(_request('retour_forum'))) {
if ($retour_forum = rawurldecode(_request('retour'))) if ($retour_forum = rawurldecode(_request('retour')))
$retour_forum = str_replace('&var_mode=recalcul','',$retour_forum); $retour_forum = str_replace('&var_mode=recalcul','',$retour_forum);
else { else {
$retour_forum = new Link(); // par defaut, on veut prendre url_forum(), mais elle ne sera connue
$retour_forum = $retour_forum->getUrl(); // qu'en sortie, on inscrit donc une valeur absurde ("!")
$retour_forum = "!";
} }
if (isset($_COOKIE['spip_forum_user']) if (isset($_COOKIE['spip_forum_user'])
......
...@@ -686,7 +686,9 @@ function balise_PARAMETRES_FORUM_dist($p) { ...@@ -686,7 +686,9 @@ function balise_PARAMETRES_FORUM_dist($p) {
} }
$c .= '. $c .= '.
"&retour=".rawurlencode($lien=_request("retour") ? $lien : nettoyer_uri())'; (($lien = (_request("retour") ? _request("retour") : ('.
($p->etoile ? "''" : 'nettoyer_uri()')
.'))) ? "&retour=".rawurlencode($lien) : "")';
$p->code .= code_invalideur_forums($p, "(".$c.")"); $p->code .= code_invalideur_forums($p, "(".$c.")");
......
...@@ -120,11 +120,19 @@ function mots_du_forum($ajouter_mot, $id_message) ...@@ -120,11 +120,19 @@ function mots_du_forum($ajouter_mot, $id_message)
function enregistre_forum() { function enregistre_forum() {
global $REMOTE_ADDR, $auteur_session, global $REMOTE_ADDR, $auteur_session,
$afficher_texte, $ajouter_mot, $alea, $hash, $afficher_texte, $ajouter_mot, $alea, $hash,
$auteur, $confirmer_forum, $email_auteur, $id_auteur, $auteur, $confirmer_forum, $email_auteur, $id_auteur,
$nom_site_forum, $retour_forum, $texte, $titre, $url_site; $nom_site_forum, $retour_forum, $texte, $titre, $url_site;
$retour_forum = rawurldecode($retour_forum); $retour_forum = rawurldecode($retour_forum);
# retour a calculer (cf. inc-formulaire_forum)
if ($retour_forum == '!') {
$retour_forum = new Link();
$retour_forum = $retour_forum->getUrl(); # en cas d'echec du post
$calculer_retour = true;
}
// Recuperer les donnees postees du formulaire ou stocker '0' // Recuperer les donnees postees du formulaire ou stocker '0'
foreach (array('id_article', 'id_breve', 'id_syndic', foreach (array('id_article', 'id_breve', 'id_syndic',
'id_rubrique', 'id_forum') as $id) 'id_rubrique', 'id_forum') as $id)
...@@ -181,7 +189,8 @@ function enregistre_forum() { ...@@ -181,7 +189,8 @@ function enregistre_forum() {
$statut = ($statut == 'non') ? 'off' : (($statut == 'pri') ? 'prop' : $statut = ($statut == 'non') ? 'off' : (($statut == 'pri') ? 'prop' :
'publie'); 'publie');
spip_query("UPDATE spip_forum SET id_parent = $id_forum, spip_query("UPDATE spip_forum
SET id_parent = $id_forum,
id_rubrique = $id_rubrique, id_rubrique = $id_rubrique,
id_article = $id_article, id_article = $id_article,
id_breve = $id_breve, id_breve = $id_breve,
...@@ -200,7 +209,19 @@ function enregistre_forum() { ...@@ -200,7 +209,19 @@ function enregistre_forum() {
WHERE id_forum = $id_message WHERE id_forum = $id_message
"); ");
// calculer_threads(); // Le cas echeant, calculer le retour
if ($calculer_retour) {
// Gestionnaire d'URLs
if (@file_exists("inc-urls.php3"))
include_local("inc-urls.php3");
else
include_local("inc-urls-".$GLOBALS['type_urls'].".php3");
if ($statut == 'publie')
$retour_forum = generer_url_forum($id_message);
else
$retour_forum = generer_url_forum($id_parent);
}
// Entrer les mots-cles associes // Entrer les mots-cles associes
if (is_array($ajouter_mot)) mots_du_forum($ajouter_mot, $id_message); if (is_array($ajouter_mot)) mots_du_forum($ajouter_mot, $id_message);
......
...@@ -55,40 +55,9 @@ function recuperer_parametres_url($fond, $url) { ...@@ -55,40 +55,9 @@ function recuperer_parametres_url($fond, $url) {
// URLs des forums // URLs des forums
// //
// a mettre dans ecrire/inc_threads.php3 avec les autres trucs de forum
function racine_forum($id_forum){
if (!$id_forum = intval($id_forum)) return;
$query = "SELECT id_parent, id_rubrique, id_article, id_breve FROM spip_forum WHERE id_forum=".$id_forum;
$result = spip_query($query);
if($row = spip_fetch_array($result)){
if($row['id_parent']) {
return racine_forum($row['id_parent']);
}
else {
if($row['id_rubrique']) return array('rubrique',$row['id_rubrique'], $id_forum);
if($row['id_article']) return array('article',$row['id_article'], $id_forum);
if($row['id_breve']) return array('breve',$row['id_breve'], $id_forum);
}
}
}
function generer_url_forum($id_forum, $show_thread=false) { function generer_url_forum($id_forum, $show_thread=false) {
list($type, $id, $id_thread) = racine_forum($id_forum); include_ecrire('inc_forum.php3');
if ($id_thread>0 AND $show_thread) return generer_url_forum_dist($id_forum, $show_thread);
$id_forum = $id_thread;
switch($type) {
case 'article':
return generer_url_article($id)."#forum$id_forum";
break;
case 'breve':
return generer_url_breve($id)."#forum$id_forum";
break;
case 'rubrique':
return generer_url_rubrique($id)."#forum$id_forum";
break;
default:
return "forum$id_forum.html";
}
} }
?> ?>
...@@ -99,8 +99,9 @@ function generer_url_breve($id_breve) { ...@@ -99,8 +99,9 @@ function generer_url_breve($id_breve) {
return $url; return $url;
} }
function generer_url_forum($id_forum) { function generer_url_forum($id_forum, $show_thread=false) {
return "forum.php3?id_forum=$id_forum"; include_ecrire('inc_forum.php3');
return generer_url_forum_dist($id_forum, $show_thread);
} }
function generer_url_mot($id_mot) { function generer_url_mot($id_mot) {
......
...@@ -54,40 +54,9 @@ function recuperer_parametres_url($fond, $url) { ...@@ -54,40 +54,9 @@ function recuperer_parametres_url($fond, $url) {
// URLs des forums // URLs des forums
// //
// a mettre dans ecrire/inc_threads.php3 avec les autres trucs de forum
function racine_forum($id_forum){
if (!$id_forum = intval($id_forum)) return;
$query = "SELECT id_parent, id_rubrique, id_article, id_breve FROM spip_forum WHERE id_forum=".$id_forum;
$result = spip_query($query);
if($row = spip_fetch_array($result)){
if($row['id_parent']) {
return racine_forum($row['id_parent']);
}
else {
if($row['id_rubrique']) return array('rubrique',$row['id_rubrique'], $id_forum);
if($row['id_article']) return array('article',$row['id_article'], $id_forum);
if($row['id_breve']) return array('breve',$row['id_breve'], $id_forum);
}
}
}
function generer_url_forum($id_forum, $show_thread=false) { function generer_url_forum($id_forum, $show_thread=false) {
list($type, $id, $id_thread) = racine_forum($id_forum); include_ecrire('inc_forum.php3');
if ($id_thread>0 AND $show_thread) return generer_url_forum_dist($id_forum, $show_thread);
$id_forum = $id_thread;
switch($type) {
case 'article':
return generer_url_article($id)."#forum$id_forum";
break;
case 'breve':
return generer_url_breve($id)."#forum$id_forum";
break;
case 'rubrique':
return generer_url_rubrique($id)."#forum$id_forum";
break;
default:
return "forum.php3?id_forum=".$id_forum;
}
} }
?> ?>
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