我正在为Drupal 7开发一个模块,我遇到了一个关于评论的奇怪问题。 关于评论的创建和修改日期。
如果我尝试使用权限"Administer comments and comment settings"
编辑注释,"comment"
数据库中创建的日期保持不变,则更改日期会被修改..所以一切都正确。
但如果您是没有特权"Administer comments and comment settings"
的注册用户并尝试编辑评论,则两个日期(已创建和已更改)都将更改
....即使在评论的标题中,日期也会更新
"Submitted by user on Wed, 19/02/2014 - 21:44"
修改当前日期。 怎么可能?这是一个评论模块问题?
如果编辑评论,我需要保持创建日期不变。没有管理员权限。
PS:我正在研究hook_preprocess_comment
。
答案 0 :(得分:0)
我不久前就解决了这个问题。
一位同事和我一起组建了一个自定义模块来解决问题。以下是目前在我们的D7(7.26)网站上运行的代码:
/**
* @file
* Fixes a bug where Drupal doesn't retain the creation date of comments.
*/
/**
* Implements hook_comment_presave().
*/
function comment_fix_comment_presave($comment) {
$data = db_query('SELECT created FROM {comment} WHERE cid = :cid',
array(':cid' => $comment->cid))->fetchAll();
if (!empty($data)) {
$comment->created = $data[0]->created;
}
}