function antispam_prepare_comment_data in AntiSpam 7
Same name and namespace in other branches
- 6 antispam.module \antispam_prepare_comment_data()
Prepare comment data for AntiSpam requests.
Parameters
string $content_type: Content type; it can be 'node' or 'comment' .
object $content: Content object.
integer $provider: ANTISPAM_AKISMET_SERVICE
Return value
array
3 calls to antispam_prepare_comment_data()
- antispam_api_cmd_comment_check in ./
antispam.module - AntiSpam API: Comment Check.
- antispam_api_cmd_submit_ham in ./
antispam.module - AntiSpam API: Submit Ham
- antispam_api_cmd_submit_spam in ./
antispam.module - AntiSpam API: Submit Spam
File
- ./
antispam.module, line 2033 - Primary hook implementations for the Antispam module.
Code
function antispam_prepare_comment_data($content_type, $content, $provider) {
// Prepare data that is common to nodes/comments.
global $user, $base_url;
$comment_data = array(
// IP address of the comment submitter.
'user_ip' => !empty($content->hostname) ? $content->hostname : ip_address(),
// User agent information of the comment submitter.
'user_agent' => $_SERVER['HTTP_USER_AGENT'],
// The content of the HTTP_REFERER header should be sent here.
'referrer' => $_SERVER['HTTP_REFERER'],
// May be blank, comment, trackback, pingback, or a made up value like
// "registration".
'comment_type' => '',
// Submitted name with the comment.
'comment_author' => $content->name,
);
if ($content_type == 'comment') {
$comment_data['permalink'] = url('node/' . $content->nid, array(
'fragment' => 'comment-' . $content->cid,
));
$comment_data['comment_author_email'] = $content->mail;
$comment_data['comment_author_url'] = $content->homepage;
$comment_data['comment_content'] = render($content->comment_body[$content->language][0]['value']);
// If the subject isn't the same as the comment body (which happens when no subject is entered),
// add it to the beginning.
if ($content->subject && $content->subject != $comment_data['comment_content']) {
$comment_data['comment_content'] = $content->subject . "\n\n" . $comment_data['comment_content'];
}
$comment_data['comment_content'] = trim($comment_data['comment_content']);
}
elseif ($content_type == 'node') {
$render = reset(entity_view('node', array(
$content,
)));
$rendered = drupal_html_to_text(drupal_render($render), 'a');
$comment_data['permalink'] = url('node/' . $content->nid);
$comment_data['comment_author_email'] = isset($user->mail) ? $user->mail : '';
$comment_data['comment_author_url'] = '';
$comment_data['comment_content'] = $rendered;
}
else {
$comment_data['permalink'] = '';
$comment_data['comment-author_email'] = isset($user->mail) ? $user->mail : isset($content->mail) ? $content->mail : '';
$comment_data['comment-author_url'] = isset($content->homepage) ? $content->homepage : '';
$comment_data['comment_content'] = render($content->body);
}
return $comment_data;
}