Skip to content
Extraits de code Groupes Projets
Valider 9c0bfd17 rédigé par esj's avatar esj
Parcourir les fichiers

C'est encore un peu le bazar le retour du forum

- oubli de la reponse quand on vient de l'espace privé valider
parent c3c6deb6
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -85,7 +85,7 @@ function boutons_controle_forum($id_forum, $forum_stat, $forum_id_auteur=0, $ref
}
$link = new Link();
$link = str_replace('&', '&', _DIR_RESTREINT_ABS . $link->geturl() . "#id$id_forum");
$link = _DIR_RESTREINT_ABS . $link->geturl() . "#id$id_forum";
if ($supprimer)
$controle .= icone(_T('icone_supprimer_message'), generer_action_auteur('instituer', "forum $id_forum $supprimer", $link),
......@@ -99,7 +99,7 @@ function boutons_controle_forum($id_forum, $forum_stat, $forum_id_auteur=0, $ref
if ($valider_repondre) {
$controle .= icone(_T('icone_valider_message') . " & " . _T('lien_repondre_message'), generer_action_auteur('instituer', "forum $id_forum $valider", generer_url_public('forum', "$ref&id_forum=$id_forum&retour=" . urlencode($link), true)),
$controle .= icone(_T('icone_valider_message') . " & " . _T('lien_repondre_message'), generer_action_auteur('instituer', "forum $id_forum $valider", generer_url_public('forum', "$ref&id_forum=$id_forum&retour=" . rawurlencode(str_replace('&', '&', $link)), true)),
$logo,
"creer.gif", 'right', 'non');
}
......
......@@ -130,7 +130,6 @@ function inc_forum_insert_dist() {
$alea = _request('alea');
$hash = _request('hash');
$auteur = _request('auteur');
$confirmer_forum = _request('confirmer_forum');
$email_auteur = _request('email_auteur');
$id_auteur = _request('id_auteur');
$nom_site_forum = _request('nom_site_forum');
......@@ -155,11 +154,11 @@ function inc_forum_insert_dist() {
include_spip('inc/session');
// Recalcule la signature faite dans formulaires/inc-formulaire-forum
// en fonction des input du formulaire
// en fonction des input POST du formulaire (gaffe a ce qui passe par l'URL)
$ids = array();
foreach (array('id_article', 'id_breve', 'id_forum', 'id_rubrique', 'id_syndic') as $o) {
$ids[$o] = ($x = intval($$o)) ? $x : '';
$ids[$o] = ($x = intval($_POST[$o])) ? $x : '';
}
if (!verifier_action_auteur('ajout_forum'.join(' ', $ids).' '.$alea,
......@@ -255,11 +254,6 @@ function inc_forum_insert_dist() {
if ($GLOBALS['meta']["prevenir_auteurs"] == "oui" AND ($afficher_texte != "non"))
prevenir_auteurs($auteur, $email_auteur, $id_message, $id_article, $texte, $titre, $statut);
// Poser un cookie pour ne pas retaper le nom / email
include_spip('inc/cookie');
spip_setcookie('spip_forum_user',
serialize(array('nom' => $auteur, 'email' => $email_auteur)));
if ($statut == 'publie') {
//
// INVALIDATION DES CACHES LIES AUX FORUMS
......
......@@ -82,12 +82,17 @@ $id_rubrique, $id_forum, $id_article, $id_breve, $id_syndic,
$ajouter_mot, $ajouter_groupe, $afficher_texte, $url_param_retour)
{
// verifier l'identite des posteurs pour les forums sur abo
if (($type == "abo") && (!$GLOBALS["auteur_session"])) {
return array('formulaire_login_forum', 0,
array('inscription' => generer_url_public('spip_inscription'),
'oubli' => generer_url_public('spip_pass')));
if ($type == "abo") {
if (!$GLOBALS["auteur_session"]) {
return array('formulaire_login_forum', 0,
array('inscription' => generer_url_public('spip_inscription'),
'oubli' => generer_url_public('spip_pass')));
} else {
// forcer ces valeur
$auteur = $GLOBALS['auteur_session']['nom'];
$email_auteur = $GLOBALS['auteur_session']['email'];
}
}
// Tableau des valeurs servant au calcul d'une signature de securite.
// Elles seront placees en Input Hidden pour que inc/forum_insert
// recalcule la meme chose et verifie l'identit des resultats.
......@@ -103,6 +108,7 @@ $ajouter_mot, $ajouter_groupe, $afficher_texte, $url_param_retour)
$ids[$o] = ($x = intval($$o)) ? $x : '';
}
// ne pas mettre '', sinon le squelette n'affichera rien.
$previsu = ' ';
......@@ -118,16 +124,13 @@ $ajouter_mot, $ajouter_groupe, $afficher_texte, $url_param_retour)
// qu'en sortie, on inscrit donc une valeur absurde ("!")
$retour_forum = "!";
// sauf si on a passe un parametre en argument (exemple : {#SELF})
if ($url_param_retour) {
$retour_forum = $url_param_retour;
$script = $retour_forum;
}
}
if (isset($_COOKIE['spip_forum_user'])
AND is_array($cookie_user = unserialize($_COOKIE['spip_forum_user']))) {
$auteur = $cookie_user['nom'];
$email_auteur = $cookie_user['email'];
$nom_site_forum = $cookie_user['nom_site_forum'];
$url_site = $cookie_user['url_site'];
} else {
$auteur = $GLOBALS['auteur_session']['nom'];
$email_auteur = $GLOBALS['auteur_session']['email'];
......@@ -143,9 +146,6 @@ $ajouter_mot, $ajouter_groupe, $afficher_texte, $url_param_retour)
$nom_site_forum = _request('nom_site_forum');
$url_site = _request('url_site');
// cas du #FORMULAIRE_FORUM{#SELF} (??)
if ($retour_forum != "!") $script = $retour_forum;
if ($afficher_texte != 'non')
$previsu = inclure_previsu($texte, $titre, $email_auteur, $auteur, $url_site, $nom_site_forum, $ajouter_mot);
......@@ -154,6 +154,19 @@ $ajouter_mot, $ajouter_groupe, $afficher_texte, $url_param_retour)
$hash = calculer_action_auteur('ajout_forum'.join(' ', $ids).' '.$alea);
}
// Poser un cookie pour ne pas retaper les infos invariables
include_spip('inc/cookie');
spip_setcookie('spip_forum_user',
serialize(array('nom' => $auteur,
'email' => $email_auteur,
'nom_site_forum' => $nom_site_forum,
'url_site' => $url_site)));
// sauf si on a passe un parametre en argument (exemple : {#SELF})
if ($url_param_retour) {
$script = $url_param_retour;
}
// pour la chaine de hidden
$script_hidden = $script = str_replace('&', '&', $script);
foreach ($ids as $id => $v)
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter