Dotclear

Vous n'êtes pas identifié(e).

Annonce

#1 2017-10-11 07:20:22

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Problème avec fonctions personnelles sur commentaires

Bonjour

J'ai mis à jour un ancien blog depuis la version 2.6.4 vers la dernière version 2.12.1. J'avais à l'époque surchargé le formulaire de commentaires en ajoutant d'autres champs dont j'avais besoin : nom, prénom, adresse, code postal, téléphone, ville, etc.

Ensuite j'avais créé un fichier _public.php dans le thème afin d'enregistrer ces champs supplémentaires en base, avec les fonctions suivantes :

$core->addBehavior('publicBeforeCommentCreate',array('myComments','appendAll'));
$core->tpl->addBlock('SysIfCommentSend',array('myComments','SysIfCommentSend'));

class myComments {
	public static function appendAll(&$cur) {
	global $core;
	$my_headers = '<p>'.$core->con->escape($_POST['c_region']).'</p>';
	$my_headers .= '<p>'.$core->con->escape($_POST['c_tags']).'</p>';
	$my_headers .= '<p>'.$core->con->escape($_POST['c_name']).'</p>';
	$my_headers .= '<p>'.$core->con->escape($_POST['c_prenom']).'</p>';
	$my_headers .= '<p>'.$core->con->escape($_POST['c_adresse1']).'</p>';
	$my_headers .= '<p>'.$core->con->escape($_POST['c_adresse2']).'</p>';
	$my_headers .= '<p>'.$core->con->escape($_POST['c_codepostal']).'</p>';
	$my_headers .= '<p>'.$core->con->escape($_POST['c_ville']).'</p>';
	$my_headers .= '<p>'.$core->con->escape($_POST['c_mail']).'</p>';
	$my_headers .= '<p>'.$core->con->escape($_POST['c_phone']).'</p>';
	$my_headers .= '<p>Commentaire : </p>';

	$cur->comment_content = $my_headers.$core->con->escape($_POST['c_content']);	
	}

	public static function SysIfCommentSend($attr,$content) {	
	if (isset($_GET['pub']) && $_GET['pub'] == 0) {
		return '';
	} else {
		 return $content;
	}
    }
}

Cela marchait très bien jusqu'à la mise à jour de Dotclear, et côté admin les commentaires apparaissaient bien avec les champs supplémentaires.

Aujourd'hui, seuls les champs d'origine sont enregistrés et restitués côté admin : nom, contenu du commentaire, site web, e-mail et adresse IP.

Comme si ma fonction appendAll n'existait pas.

Je cherche une piste sur ce qui a pu changer entre la 2.6.4 et la 2.11.2 au niveau de l'enregistrement des commentaires, et remercie quiconque voudra bien se pencher sur mon problème et m'aider à le résoudre.

PS : le fichier _public.php est bien interprété : je n'ai pas mis ici tout son contenu par souci de clarté, mais d'autres fonctions qu'il contient fonctionnent toujours bien

Hors ligne

#2 2017-10-16 15:14:11

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : Problème avec fonctions personnelles sur commentaires

Si quelqu'un qui avait bidouillé son formulaire de commentaires tombe dessus, c'est le & dans appendAll(&$cur) : il faut le supprimer ;)

Hors ligne

Vous n'êtes pas identifié(e).

Pied de page des forums

Sites map