diff --git a/.gitattributes b/.gitattributes index 6aa9571a27facf646ed70f8e0238b835fe938876..8a58abc576c285e92be33e80d34727ebe64d9357 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,5 +1,6 @@ * text=auto !eol IMG/logo_spip.jpg -text +dist/choix_mots.html -text dist/style.html -text ecrire/charsets/cp1251.php -text ecrire/charsets/cp1256.php -text diff --git a/dist/choix_mots.html b/dist/choix_mots.html new file mode 100644 index 0000000000000000000000000000000000000000..4888c01bba02b4f3fd8565e5159858da3612d8d3 --- /dev/null +++ b/dist/choix_mots.html @@ -0,0 +1,15 @@ +<B_M> + <table cellpadding='0' cellspacing='0' border='0' width='100%'> + <tr><td width='47%' valign='top'> + <BOUCLE_M(MOTS){id_groupe}> + <input type='[(#ENV{unseul}|choixsiegal{oui,radio,checkbox})]' + name='ajouter_mot[]' + value='#ID_MOT' + id='mot#ID_MOT' + [(#ID_MOT|in_any{#ENV*{ajouter_mot}, ''}|? + {'checked="checked"',''})] /> + #LOGO_MOT + <b><label for='mot#ID_MOT'>#TITRE</label></b><br /> + </BOUCLE_M> + </td></tr></table> +</B_M> diff --git a/formulaires/formulaire_forum.html b/formulaires/formulaire_forum.html index cdc3852586a5854bbb1df0b7faf75843acd7baf2..75b50703b029c91861c51fe1e52f7d075fd186f0 100644 --- a/formulaires/formulaire_forum.html +++ b/formulaires/formulaire_forum.html @@ -1,10 +1,37 @@ <a id="formulaire"></a> -<form action="[(#ENV{url})][(#ENV*{previsu}|?{'#formulaire',''})]" method="post">[ -(#ENV*{parametres_forum}) -][<p>(#ENV*{modere})</p> -][(#ENV*{afficher_texte_hidden}) -][(#ENV*{afficher_texte_input}) - [(#ENV*{previsu}) +<form action="[(#ENV{url})][(#ENV**{previsu}|?{'#formulaire',''})]" method="post">[ +<input type='hidden' name='id_article' value='(#ENV{id_article})' />][ +<input type='hidden' name='id_breve' value='(#ENV{id_breve})' />][ +<input type='hidden' name='id_forum' value='(#ENV{id_forum})' />][ +<input type='hidden' name='id_rubrique' value='(#ENV{id_rubrique})' />][ +<input type='hidden' name='id_syndic' value='(#ENV{id_syndic})' />][ +<input type='hidden' name='alea' value='(#ENV{alea})' />][ +<input type='hidden' name='hash' value='(#ENV{hash})' />][ +<input type='hidden' name='afficher_texte' value='(#ENV{afficher_texte})' />][ +<input type='hidden' name='retour_forum' value='(#ENV{retour_forum}|urlencode)' />][ +<p>(#ENV{modere})<:forum_info_modere:></p> +][(#ENV*{previsu})] +<p> +<BOUCLE_G(GROUPES_MOTS){forum=oui} + {articles==(#ENV{table}|choixsiegal{articles,'oui','.*'})} + {breves==(#ENV{table}|choixsiegal{breves,'oui','.*'})} + {rubriques==(#ENV{table}|choixsiegal{rubriques,'oui','.*'})} + {syndic==(#ENV{table}|choixsiegal{syndic,'oui','.*'})} +>[(#ID_GROUPE|in_any{#ENV**{ajouter_groupe},' '}) + <div class='spip_encadrer' style='font-size: 80%;'> + <b>#TITRE</b> + <INCLURE(page.php3){fond=choix_mots} + {id_groupe} + {ajouter_mot} + {unseul}> + </div> +]</BOUCLE_G>[ +(#ENV**{afficher_texte}|choixsiegal{'non', ' ',''}) +<br /><div align='right'>[ +<input type='hidden' name='titre' value='(#ENV{titre})' />] +<input type='submit' class='spip_bouton' value="<:forum_valider:>" /> +</div>][ +(#ENV**{afficher_texte}|choixsiegal{'non', '',' '}) <fieldset class="spip_encadrer"> <legend><b><:forum_titre:></b></legend> <label><input type="text" name="titre" @@ -18,7 +45,6 @@ [(#ENV{texte}|barre_forum)] </fieldset> <br /> - [<p>(#ENV*{table})</p>] <fieldset class="spip_encadrer"> <legend><:forum_lien_hyper:></legend> <p><:forum_page_url:></p> @@ -36,17 +62,18 @@ <legend><:forum_qui_etes_vous:></legend> <p><label><:forum_votre_nom:> <input type="text" name="auteur" value="[(#ENV{auteur})]" - class="forml" size="40" [(#ENV{disabled})] /> + class="forml" size="40"[ + disabled='(#ENV{disabled})'] /> </label></p> <p><label><:forum_votre_email:> <input type="text" name="email_auteur" value="[(#ENV{email_auteur})]" - class="forml" size="40" [(#ENV{disabled})] /> + class="forml" size="40" [ + disabled='(#ENV{disabled})'] /> </label></p> </fieldset> - <br /> + <div align="#LANG_RIGHT"> <input type="submit" value="<:forum_voir_avant:>" class="spip_bouton" /></div> - ] ]</form> diff --git a/formulaires/inc-formulaire_forum.php3 b/formulaires/inc-formulaire_forum.php3 index 1c559a759e8a87ba59a96542dbcb2ae517ff07d2..f1d51d5d5159803868328329d56ca55e6d42a679 100644 --- a/formulaires/inc-formulaire_forum.php3 +++ b/formulaires/inc-formulaire_forum.php3 @@ -29,8 +29,13 @@ charger_generer_url(); /*******************************/ // Contexte du formulaire +// Mots-cles dans les forums : +// Si la variable de personnalisation $afficher_groupe[] est definie +// dans le fichier d'appel, et si la table de reference est OK, proposer +// la liste des mots-cles + global $balise_FORMULAIRE_FORUM_collecte; -$balise_FORMULAIRE_FORUM_collecte = array('id_rubrique', 'id_forum', 'id_article', 'id_breve', 'id_syndic'); +$balise_FORMULAIRE_FORUM_collecte = array('id_rubrique', 'id_forum', 'id_article', 'id_breve', 'id_syndic', 'ajouter_mot', 'ajouter_groupe', 'afficher_texte'); // verification des droits a faire du forum @@ -40,11 +45,11 @@ function balise_FORMULAIRE_FORUM_stat($args, $filtres) { // $filtres[0] peut contenir l'url sur lequel faire tourner le formulaire // exemple dans un squelette article.html : [(#FORMULAIRE_FORUM|forum.php)] - // $args[5] peut contenir l'url sur lequel faire le retour + // le denier arg peut contenir l'url sur lequel faire le retour // exemple dans un squelette article.html : [(#FORMULAIRE_FORUM{#SELF})] // recuperer les donnees du forum auquel on repond, false = forum interdit - list ($idr, $idf, $ida, $idb, $ids) = $args; + list ($idr, $idf, $ida, $idb, $ids, $am, $ag, $af, $url) = $args; $idr = intval($idr); $idf = intval($idf); $ida = intval($ida); @@ -59,21 +64,35 @@ function balise_FORMULAIRE_FORUM_stat($args, $filtres) { if ($idr > 0 AND ($ida OR $idb OR $ids)) $idr = 0; + if (($GLOBALS['meta']["mots_cles_forums"] != "oui")) + $table = ''; + return - array($titre, $table, $forums_publics, $idr, $idf, $ida, $idb, $ids, - $filtres[0], $args[5]); + array($titre, $table, $forums_publics, $filtres[0], + $idr, $idf, $ida, $idb, $ids, $am, $ag, $af, $url); } -function balise_FORMULAIRE_FORUM_dyn($titre, $table, $forums_publics, $id_rubrique, $id_forum, $id_article, $id_breve, $id_syndic, $url, $url_param_retour) { - global $REMOTE_ADDR, $afficher_texte, $_COOKIE, $_POST; +function balise_FORMULAIRE_FORUM_dyn( +$titre, $table, $type, $url, +$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'))); + } + +// exclure des id_* postees du formulaire tout ce qui n'est pas nombre > 0. +// y aura plein de input hidden value=0 dans le squelette mais il faut +// que le calcul du hachage soit le meme ici et dans inc-messforum - // Recuperer les donnees postees du formulaire ou, a defaut, du contexte - foreach (array('id_article', 'id_breve', 'id_syndic', - 'id_rubrique', 'id_forum') as $id) - if (isset($_POST['forum_'.$id])) - $$id = intval($_POST['forum_'.$id]); - else - $$id = intval($$id); + $ids = array('id_article' => intval($id_article), + 'id_breve'=> intval($id_breve), + 'id_forum'=> intval($id_forum), + 'id_rubrique'=> intval($id_rubrique), + 'id_syndic'=> intval($id_syndic)); // url de reference if (!$url) { @@ -81,27 +100,17 @@ function balise_FORMULAIRE_FORUM_dyn($titre, $table, $forums_publics, $id_rubriq $url = $url->getUrl(); } else { // identifiants des parents - $args = array(); - if ($id_rubrique) $args[] = "id_rubrique=$id_rubrique"; - if ($id_forum) $args[] = "id_forum=$id_forum"; - if ($id_article) $args[] = "id_article=$id_article"; - if ($id_breve) $args[] = "id_breve=$id_breve"; - if ($id_syndic) $args[] = "id_syndic=$id_syndic"; - if (count($args)) - $url .= (strpos($url,'?') ? '&' : '?'). join('&',$args); + $args = ""; + foreach ($ids as $id => $v) $args .= "&$id=$v"; + if (strpos($url,'?')) + $url .= $args; + else $url .= '?' . substr($args,1); } $url = ereg_replace("[?&]var_erreur=[^&]*", '', $url); $url = ereg_replace("[?&]var_login=[^&]*", '', $url); $url = ereg_replace("[?&]url=[^&]*", '', $url); - // verifier l'identite des posteurs pour les forums sur abo - if (($forums_publics == "abo") && (!$GLOBALS["auteur_session"])) { - return array('formulaire_login_forum', 0, - array('inscription' => generer_url_public('spip_inscription'), - 'oubli' => generer_url_public('spip_pass'))); - } - // ne pas mettre '', sinon le squelette n'affichera rien. $previsu = ' '; @@ -131,7 +140,7 @@ function balise_FORMULAIRE_FORUM_dyn($titre, $table, $forums_publics, $id_rubriq $email_auteur = $GLOBALS['auteur_session']['email']; } - } else { + } else { // appels ulterieurs // Recuperer le message a previsualiser $titre = _request('titre'); @@ -140,142 +149,125 @@ function balise_FORMULAIRE_FORUM_dyn($titre, $table, $forums_publics, $id_rubriq $email_auteur = _request('email_auteur'); $nom_site_forum = _request('nom_site_forum'); $url_site = _request('url_site'); - $ajouter_mot = _request('ajouter_mot'); // array - - // Verifier mots associes au message - if (is_array($ajouter_mot)) - $mots = preg_replace('/[^0-9,]/', '', join(',',$ajouter_mot)); - else $mots = '0'; - - // affichage {par num type, type, num titre,titre} - $result_mots = spip_query("SELECT id_mot, titre, type - FROM spip_mots - WHERE id_mot IN ($mots) - ORDER BY 0+type,type,0+titre,titre"); - if (spip_num_rows($result_mots)>0) { - $mots_forums = "<p>"._T('forum_avez_selectionne')."</p><ul>"; - while ($row = spip_fetch_array($result_mots)) { - $les_mots[$row['id_mot']] = "checked='checked'"; - $presence_mots = true; - $mots_forums .= "<li style='font-size: 80%;'> " - . typo($row['type']) . " : <b>" - . typo($row['titre']) ."</b></li>"; - } - $mots_forums .= '</ul>'; - } - // - // Preparer la previsualisation - // - if ($afficher_texte != 'non') { - if (strlen($texte) < 10 AND !$presence_mots) - $erreur = _T('forum_attention_dix_caracteres'); - else if (strlen($titre) < 3 AND $afficher_texte <> "non") - $erreur = _T('forum_attention_trois_caracteres'); - else - $bouton = _T('forum_message_definitif'); - - $previsu = inclure_balise_dynamique( - array( - 'formulaire_forum_previsu', - 0, - array( - 'titre' => safehtml(typo($titre)), - 'email_auteur' => safehtml($email_auteur), - 'auteur' => safehtml(typo($auteur)), - 'texte' => safehtml(propre($texte)), - 'url_site' => safehtml($url_site), - 'nom_site_forum' => - safehtml(typo($nom_site_forum)), - 'mots_forum' => $mots_forum, - 'erreur' => $erreur, - 'bouton' => $bouton - ) - ), false); - - // supprimer les <form> de la previsualisation - // (sinon on ne peut pas faire <cadre>...</cadre> dans les forums) - $previsu = preg_replace("@<(/?)f(orm[>[:space:]])@ism", - "<\\1no-f\\2", $previsu); - } - // Une securite qui nous protege contre : - // - les doubles validations de forums (derapages humains ou des brouteurs) - // - les abus visant a mettre des forums malgre nous sur un article (??) - // On installe un fichier temporaire dans _DIR_SESSIONS (et pas _DIR_CACHE - // afin de ne pas bugguer quand on vide le cache) - // Le lock est leve au moment de l'insertion en base (inc-messforum) - // Ce systeme n'est pas fonctionnel pour les forums sans previsu (notamment - // si $afficher_texte = 'non') - - $alea = preg_replace('/[^0-9]/', '', $alea); - if(!$alea OR !@file_exists(_DIR_SESSIONS."forum_$alea.lck")) { - while ( - # astuce : mt_rand pour autoriser les hits simultanes - $alea = time() + @mt_rand() - AND @file_exists($f = _DIR_SESSIONS."forum_$alea.lck")) {}; - spip_touch ($f); - } + if ($afficher_texte != 'non') + $previsu = inclure_previsu($texte, $titre, $email_auteur, $auteur, $url_site, $nom_site_forum, $ajouter_mot); - # et maintenant on purge les locks de forums ouverts depuis > 4 h - if ($dh = @opendir(_DIR_SESSIONS)) - while (($file = @readdir($dh)) !== false) - if (preg_match('/^forum_([0-9]+)\.lck$/', $file) - AND (time()-@filemtime(_DIR_SESSIONS.$file) > 4*3600)) - @unlink(_DIR_SESSIONS.$file); - - $hash = calculer_action_auteur("ajout_forum $id_rubrique $id_forum $id_article $id_breve $id_syndic $alea"); + $alea = forum_fichier_tmp(); + $hash = calculer_action_auteur("ajout_forum " . + $ids['id_rubrique'] ." " . + $ids['id_forum'] ." " . + $ids['id_article'] ." " . + $ids['id_breve'] ." " . + $ids['id_syndic'] ." " . + $alea); } - // Faut-il ajouter des propositions de mots-cles - if ($table AND ($GLOBALS['meta']["mots_cles_forums"] == "oui")) - $table = table_des_mots($table, $les_mots); - else - $table = ''; - - // preparer les parametres du forum en input hidden - $parametres_forum = ''; - foreach (array('alea', 'hash', 'retour_forum') as $var) - if ($val = entites_html($$var)) - $parametres_forum .= - "<input type='hidden' name='$var' value=\"$val\" />\n"; - foreach (array( - 'id_article', 'id_breve', 'id_syndic', 'id_rubrique', 'id_forum') - as $var) - if ($val = $$var) - $parametres_forum .= - "<input type='hidden' name='forum_$var' value='$val' />\n"; - return array('formulaire_forum', 0, array( 'auteur' => $auteur, - 'disabled' => ($forums_publics == "abo")? " disabled='disabled'" : '', + 'disabled' => ($type == "abo")? "disabled" : '', 'email_auteur' => $email_auteur, - 'modere' => (($forums_publics != 'pri') ? '' : _T('forum_info_modere')), + 'modere' => (($type != 'pri') ? '' : ' '), 'nom_site_forum' => $nom_site_forum, + 'retour_forum' => $retour_forum, + 'afficher_texte' => $afficher_texte, 'previsu' => $previsu, 'table' => $table, 'texte' => $texte, 'titre' => extraire_multi($titre), 'url' => $url, 'url_site' => ($url_site ? $url_site : "http://"), - 'parametres_forum' => $parametres_forum, - - ## gestion des la variable de personnalisation $afficher_texte - # mode normal : afficher le texte en < input text >, cf. squelette - 'afficher_texte_input' => (($afficher_texte <> 'non') ? ' ' : ''), - # mode 'non' : afficher les elements en < input hidden > - 'afficher_texte_hidden' => (($afficher_texte <> 'non') ? '' : - (boutonne('hidden', 'titre', htmlspecialchars($titre)) . - $table . - "\n<br /><div align='right'>" . - boutonne('submit', '', _T('forum_valider'), - "class='spip_bouton'") . - "</div>")) + 'id_article' => $ids['id_article'], + 'id_breve' => $ids['id_breve'], + 'id_forum' => $ids['id_forum'], + 'id_rubrique' => $ids['id_rubrique'], + 'id_syndic' => $ids['id_syndic'], + 'alea' => $alea, + 'hash' => $hash, + 'ajouter_groupe' => $ajouter_groupe, + 'ajouter_mot' => (is_array($ajouter_mot) ? $ajouter_mot : array()), )); } +function inclure_previsu($texte,$titre, $email_auteur, $auteur, $url_site, $nom_site_forum, $ajouter_mot) +{ + $mots_forum = $erreur = $bouton = ''; + if (is_array($ajouter_mot)) { + $result_mots = spip_query("SELECT id_mot, titre, type + FROM spip_mots + WHERE id_mot IN (" #securite XSS + . preg_replace('/[^0-9,]/', '', join(',',$ajouter_mot)) + . ") ORDER BY 0+type,type,0+titre,titre"); + if (spip_num_rows($result_mots)>0) { + $mots_forum = "<p>"._T('forum_avez_selectionne')."</p><ul>"; + while ($row = spip_fetch_array($result_mots)) { + $mots_forum .= "<li style='font-size: 80%;'> " + . typo($row['type']) . " : <b>" + . typo($row['titre']) ."</b></li>"; + } + $mots_forum .= '</ul>'; + } + } + + if (strlen($texte) < 10 AND !$mots_forum) + $erreur = _T('forum_attention_dix_caracteres'); + else if (strlen($titre) < 3) + $erreur = _T('forum_attention_trois_caracteres'); + else + $bouton = _T('forum_message_definitif'); + + // supprimer les <form> de la previsualisation + // (sinon on ne peut pas faire <cadre>...</cadre> dans les forums) + return preg_replace("@<(/?)f(orm[>[:space:]])@ism", + "<\\1no-f\\2", + inclure_balise_dynamique(array('formulaire_forum_previsu', + 0, + array( + 'titre' => safehtml(typo($titre)), + 'email_auteur' => safehtml($email_auteur), + 'auteur' => safehtml(typo($auteur)), + 'texte' => safehtml(propre($texte)), + 'url_site' => safehtml($url_site), + 'nom_site_forum' => safehtml(typo($nom_site_forum)), + 'mots_forum' => $mots_forum, + 'erreur' => $erreur, + 'bouton' => $bouton + ) + ), + false)); +} + +// Une securite qui nous protege contre : +// - les doubles validations de forums (derapages humains ou des brouteurs) +// - les abus visant a mettre des forums malgre nous sur un article (??) +// On installe un fichier temporaire dans _DIR_SESSIONS (et pas _DIR_CACHE +// afin de ne pas bugguer quand on vide le cache) +// Le lock est leve au moment de l'insertion en base (inc-messforum) +// Ce systeme n'est pas fonctionnel pour les forums sans previsu (notamment +// si $afficher_texte = 'non') + +function forum_fichier_tmp() +{ +# astuce : mt_rand pour autoriser les hits simultanes + while (($alea = time() + @mt_rand()) + AND @file_exists($f = _DIR_SESSIONS."forum_$alea.lck")) + {}; + spip_touch ($f); + +# et maintenant on purge les locks de forums ouverts depuis > 4 h + + if ($dh = @opendir(_DIR_SESSIONS)) + while (($file = @readdir($dh)) !== false) + if (preg_match('/^forum_([0-9]+)\.lck$/', $file) + AND (time()-@filemtime(_DIR_SESSIONS.$file) > 4*3600)) + @unlink(_DIR_SESSIONS.$file); + return $alea; +} + +// filtres pour le squelette function barre_forum($texte) { include_ecrire('inc_layer'); @@ -295,84 +287,10 @@ onkeyup='storeCaret(this);' ondbclick='storeCaret(this);'>$texte</textarea>"; } -// Mots-cles dans les forums : -// Si la variable de personnalisation $afficher_groupe[] est definie -// dans le fichier d'appel, et si la table de reference est OK, proposer -// la liste des mots-cles -function table_des_mots($table, $les_mots) { - global $afficher_groupe; - - if (is_array($afficher_groupe)) - $in_group = " AND id_groupe IN (" . join($afficher_groupe, ", ") .")"; - else - $in_group = ''; - - $result_groupe = spip_query("SELECT * FROM spip_groupes_mots - WHERE forum = 'oui' AND $table = 'oui'". $in_group); - - $ret = ''; - while ($row_groupe = spip_fetch_array($result_groupe)) { - $id_groupe = $row_groupe['id_groupe']; - $titre_groupe = propre($row_groupe['titre']); - $unseul = ($row_groupe['unseul']== 'oui') ? 'radio' : 'checkbox'; - $result =spip_query("SELECT * FROM spip_mots - WHERE id_groupe='$id_groupe'"); - $total_rows = spip_num_rows($result); - - if ($total_rows > 0) { - $ret .= "\n<p />" - . "<div class='spip_encadrer' style='font-size: 80%;'>" - . "<b>$titre_groupe :</b>" - . "<table cellpadding='0' cellspacing='0' border='0' width='100%'>\n" - ."<tr><td width='47%' valign='top'>"; - $i = 0; - - while ($row = spip_fetch_array($result)) { - $id_mot = $row['id_mot']; - $titre_mot = propre($row['titre']); - $descriptif_mot = propre($row['descriptif']); - - if ($i >= ($total_rows/2) AND $i < $total_rows) { - $i = $total_rows + 1; - $ret .= "</td><td width='6%'> </td> - <td width='47%' valign='top'>"; - } - - $ret .= boutonne($unseul, "ajouter_mot[]", $id_mot, "id='mot$id_mot' " . $les_mots[$id_mot]) . - afficher_petits_logos_mots($id_mot) - . "<b><label for='mot$id_mot'>$titre_mot</label></b><br />"; - - if ($descriptif_mot) - $ret .= "$descriptif_mot<br />"; - $i++; - } - - $ret .= "</td></tr></table>"; - $ret .= "</div>"; - } - } - - return $ret; -} - - -function afficher_petits_logos_mots($id_mot) { - include_ecrire('inc_logos'); - $on = cherche_image_nommee("moton$id_mot"); - if ($on) { - $image = ("$on[0]$on[1].$on[2]"); - $taille = @getimagesize($image); - $largeur = $taille[0]; - $hauteur = $taille[1]; - if ($largeur < 100 AND $hauteur < 100) - return "<img src='$image' align='middle' width='$largeur' - height='$hauteur' hspace='1' vspace='1' alt=' ' border='0' - class='spip_image' /> "; - } +function in_any($val, $vals, $def) { + return (!is_array($vals) ? $def : (in_array($val, $vals) ? ' ' : '')); } - - /*******************************************************/ /* FONCTIONS DE CALCUL DES DONNEES DU FORMULAIRE FORUM */ /*******************************************************/ diff --git a/inc-balises.php3 b/inc-balises.php3 index 6c7d018ee43021270a3ee9fb964d114f783c6e2a..22ded49f7ff22d37d38d29e0ace6e1de34a4688a 100644 --- a/inc-balises.php3 +++ b/inc-balises.php3 @@ -642,7 +642,6 @@ function balise_EXTRA_dist ($p) { // function balise_PARAMETRES_FORUM_dist($p) { - include_local(find_in_path('inc-formulaire_forum' . _EXTENSION_PHP)); $_id_article = champ_sql('id_article', $p); $p->code = ' // refus des forums ? diff --git a/inc-messforum.php3 b/inc-messforum.php3 index 6eca24e94bda43d265364566870ab0137d1b6c16..f3486008a52a5d3dadfe24e85cc505032e5603ac 100644 --- a/inc-messforum.php3 +++ b/inc-messforum.php3 @@ -122,7 +122,8 @@ function enregistre_forum() { global $REMOTE_ADDR, $auteur_session, $afficher_texte, $ajouter_mot, $alea, $hash, $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, + $id_rubrique, $id_forum, $id_article, $id_breve, $id_syndic; $retour_forum = rawurldecode($retour_forum); @@ -133,14 +134,6 @@ function enregistre_forum() { $calculer_retour = true; } - // Recuperer les donnees postees du formulaire ou stocker '0' - foreach (array('id_article', 'id_breve', 'id_syndic', - 'id_rubrique', 'id_forum') as $id) - if (isset($_POST['forum_'.$id])) - $$id = intval($_POST['forum_'.$id]); - else - $$id = 0; - // initialisation de l'eventuel visiteur connecte if (!$id_auteur) $id_auteur = intval($auteur_session['id_auteur']); diff --git a/page.php3 b/page.php3 index 0718c5c1f1dcf00e22fa8ae86c10dad2c436e7a5..c55abd8d5ead151ab1ad95c663a4833ee1bfcf82 100644 --- a/page.php3 +++ b/page.php3 @@ -14,8 +14,8 @@ else $fond = '404'; // Securite -if (strstr($fond, '/') -OR preg_match(',^formulaire_,i', $fond)) { +if (strstr($fond, '/') ){ +#OR preg_match(',^formulaire_,i', $fond)) { die ("Faut pas se gener"); } if (!find_in_path("$fond.html")) {