如果尝试编辑评论,评论创建日期会发生变化

时间:2014-02-19 21:06:41

标签: php drupal drupal-7 comments

我正在为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

1 个答案:

答案 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;
    }
 }