Commentaires
Tous les nœuds d'un fil peuvent recevoir des commentaires.
Voir la fonction bbcode définie par la librairie qui sert à formater le texte d'un commentaire.
Si vous ne voulez pas formater de code dans les commentaires, cachez le bouton [code] et le message d'aide sur la balise [code]
dans les vues editcomment.phtml et désactivez l'analyse de la balise [code]
dans la fonction bbcode
.
editcomment.phtml
- <?php if (false): ?>
- <span class="btn_edit btn_php" title="code" onclick="tagcomment('[code]','[/code]')">[code]</span>
- <?php endif; ?>
- <?php if (false): ?>
- [<b>code</b>]commande[/code], [<b>code</b>=langage]code source en c, java, php, html, javascript, xml, css, sql, bash, dos, make, etc.[/code].
- <?php endif; ?>
- </p>
bbcode.php
- // '#\[code\=(.+?)\](.+?)\[/code\]#is' => function($m) { return bbcode_highlite($m[2], $m[1]); },
- // '#\[code\](.+?)\[/code\]#is' => function($m) { return bbcode_highlite($m[1]); },
Les commentaires sont enregistrés dans la table comment
de la base de données.
`comment_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`node_id` INT(10) UNSIGNED NOT NULL,
`locale` enum('en','fr') NOT NULL DEFAULT 'en',
`created` datetime NOT NULL,
`edited` datetime NOT NULL,
`user_id` INT(10) UNSIGNED NOT NULL DEFAULT '0',
`user_mail` VARCHAR(100) DEFAULT NULL,
`ip_address` INT(10) UNSIGNED NOT NULL,
`text` text NOT NULL,
`confirmed` tinyint(1) NOT NULL DEFAULT '1',
PRIMARY KEY (`comment_id`),
KEY `NODE` (`node_id`,`locale`)
) DEFAULT CHARSET=utf8;
comment_id
est le numéro d'identification d'un commentaire, la clé primaire de la table.
node_id
pointe sur le nœud associé au commentaire comment_id
.
locale
donne la langue du commentaire et du nœud auquel il est associé.
created
et edited
enregistrent la date et l'heure de création et de dernière modification du commentaire.
user_id
pointe sur l'utilisateur qui a créé le commentaire. Si le commentaire a été créé par un visiteur anonyme, user_id
vaut 0.
user_mail
donne l'adresse d'email de l'auteur du commentaire.
user_mail
est en principe NULL si user_id
ne vaut pas 0.
ip_address
note l'adresse IP du système qui a créé le commentaire.
text
enregistre le contenu du commentaire.
confirmed
indique si le commentaire a été confirmé. Un commentaire est normalement automatiquement confirmé si l'auteur est identifié ou après une validation par email.
Connectez-vous comme administrateur. Éditez un nœud. Cochez l'option commenter pour afficher les commentaires du nœud et l'option commenter+ pour autoriser l'ajout de commentaires au nœud.
Pour autoriser ou bloquer l'affichage et l'ajout de commentaires pour tout un fil, cochez ou décochez les options commenter et commenter+ au niveau du fil.
Les commentaires et le formulaire de saisie d'un nouveau commentaire sont affichés à la fin du contenu d'un nœud. NOTE : Quand un nœud est visualisé dans l'éditeur, les commentaires ne sont pas affichés. Appuyer sur Commenter affiche le commentaire formaté au-dessus du champ de saisie et les boutons Éditer et Valider.
Votre commentaire :
J'essaye un commentaire sur iZend !
Entrez un maximum de 2000 caractères.
Améliorez la présentation de votre texte avec les balises de formatage suivantes :
[p]paragraphe[/p], [b]gras[/b], [i]italique[/i], [u]souligné[/u], [s]barré[/s],
[quote]citation[/quote], [pre]tel quel[/pre], [br]à la ligne,
[url]http://www.izend.org[/url], [url=http://www.izend.org]site[/url],
[email]izend@izend.org[/email], [email=izend@izend.org]izend[/email],
[code]commande[/code], [code=langage]code source en c, java, php, html, javascript, xml, css, sql, bash, dos, make, etc.[/code].
le texte ou le
Appuyer sur Éditer met à jour le commentaire formaté. Appuyer sur Valider enregistre le commentaire dans la base de données et envoie un email de notification à l'adresse définie par le paramètre $webmaster
du fichier config.inc avec le sujet comment@sitename.net
:
127.0.0.1 2018-09-05 00:07:32 1 fr 4 /fr/commentaires
Validation
Pour ajouter un commentaire, dans la configuration par défaut, un visiteur doit s'identifier.
Commentaires
Le lien renvoie à la page d'identification avec un retour sur la page d'origine.
Pour changer le comportement du formulaire de saisie d'un commentaire, éditez le bloc nodecomment
.
nodecomment.php
- function nodecomment($lang, $node_id, $node_user_id, $node_url, $nomore) {
- $user_id=user_profile('id');
- $is_moderator=user_has_role('moderator'); // $user_id == $node_user_id || user_has_role('moderator')
- $now=time();
- $message_maxlen=2000;
- $with_validation=!$user_id;
- $with_mail=$with_validation;
- $with_captcha=false;
Par défaut, $with_validation
vaut false
. Mettez cette variable à !$user_id
pour activer le processus de validation si un visiteur n'est pas identifié.
IMPORTANT : L'option $with_mail
doit être activée si $with_validation
vaut true
.
Mettez $with_captcha
à true
pour demander à l'utilisateur de copier un code de vérification afin de parer les attaques des robots.
Notez le paramètre $message_maxlen
qui définit la longueur maximum d'un commentaire.
Quand l'option $with_mail
est activée, la confirmation d'un commentaire est complétée par la saisie d'une adresse d'email :
Votre commentaire :
J'essaye un commentaire sur iZend !
Entrez un maximum de 2000 caractères.
Améliorez la présentation de votre texte avec les balises de formatage suivantes :
[p]paragraphe[/p], [b]gras[/b], [i]italique[/i], [u]souligné[/u], [s]barré[/s],
[quote]citation[/quote], [pre]tel quel[/pre], [br]à la ligne,
[url]http://www.izend.org[/url], [url=http://www.izend.org]site[/url],
[email]izend@izend.org[/email], [email=izend@izend.org]izend[/email],
[code]commande[/code], [code=langage]code source en c, java, php, html, javascript, xml, css, sql, bash, dos, make, etc.[/code].
Entrez votre adresse d'email pour valider votre message.
le texte ou le
L'email de notification envoyé à $webmaster
contient l'adresse d'email associée au nouveau commentaire :
127.0.0.1 2018-09-05 00:07:32 0 fr 4 /fr/commentaires frasq@frasq.org
Quand l'option $with_validation
est activée, un email avec le sujet Votre commentaire
est envoyé à l'adresse spécifiée avec un lien crypté sur l'action confirmcomment
avec en paramètre le numéro du nœud, le numéro du commentaire et la langue du commentaire.
Validation
Votre commentaire est publié.
Quand l'utilisateur confirme un commentaire, il est affiché avec un bouton pour le modifier.
L'auteur d'un commentaire peut le modifier ou le supprimer pendant 20 minutes. Un modérateur peut toujours modifier ou supprimer un commentaire.
Si le commentaire n'est pas confirmé, une alerte est affichée.
Si le commentaire a été saisi par un utilisateur identifié, le nom et l'avatar de l'utilisateur sont affichés.
Un commentaire qui n'est pas confirmé n'est plus affiché à son auteur après 20 minutes.
Lorsqu'un commentaire est modifié, la même interface de saisie est affichée avec des boutons Modifier et Supprimer.
Votre commentaire :
Le 6 septembre 2018 à 13:54
J'essaye un commentaire sur iZend !
Entrez un maximum de 2000 caractères.
Améliorez la présentation de votre texte avec les balises de formatage suivantes :
[p]paragraphe[/p], [b]gras[/b], [i]italique[/i], [u]souligné[/u], [s]barré[/s],
[quote]citation[/quote], [pre]tel quel[/pre], [br]à la ligne,
[url]http://www.izend.org[/url], [url=http://www.izend.org]site[/url],
[email]izend@izend.org[/email], [email=izend@izend.org]izend[/email],
[code]commande[/code], [code=langage]code source en c, java, php, html, javascript, xml, css, sql, bash, dos, make, etc.[/code].
le commentaire ou le
Lorsqu'un nœud est détruit, les commentaires qui lui sont associés sont automatiquement détruits.
Voir les fonctions node_add_comment
, node_delete_comment
, node_set_comment
, node_get_comment
, node_get_all_comments
et node_confirm_comment
définies dans le modèle node.inc, l'action confirmcomment
et les fonctions emailconfirmcomment et bbcode définies par la librairie.
Votre commentaire :
Enter a maximum of 2000 characters.
Improve the presentation of your text with the following formatting tags:
[p]paragraph[/p], [b]bold[/b], [i]italics[/i], [u]underline[/u], [s]
strike[/s], [quote]citation[/quote], [pre]as is[/pre], [br]line break,[url]http://www.izend.org[/url], [url=http://www.izend.org]site[/url], [email]izend@izend.org[/email], [email=izend@izend.org]izend[/email],
[code]command[/code], [code=language]source code in c, java, php, html, javascript, xml, css, sql, bash, dos, make, etc.[/code].