summaryrefslogtreecommitdiff
path: root/modules/comment/comment.api.php
blob: 9b431e98d142e492ada37edafac6d17bfa281dff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<?php
// $Id$

/**
 * @file
 * Hooks provided by the Comment module.
 */

/**
 * @addtogroup hooks
 * @{
 */

/**
 * The comment is being inserted.
 *
 * @param $form_values
 *   Passes in an array of form values submitted by the user.
 * @return
 *   Nothing.
 */
function hook_comment_insert(&$form_values) {
  $nid = $form_values['nid'];

  cache_clear_all_like(drupal_url(array('id' => $nid)));
}

/**
 *  The user has just finished editing the comment and is trying to 
 *  preview or submit it. This hook can be used to check or
 *  even modify the node. Errors should be set with form_set_error().
 *
 * @param $form_values
 *   Passes in an array of form values submitted by the user.
 * @return
 *   Nothing.
 */
function hook_comment_validate(&$form_values) {
  // if the subject is the same as the comment.
  if ($form_values['subject'] == $form_values['comment']) {
    form_set_error('comment', t('you should write more text than in the subject'));
  }
}

/**
 * The comment is being updated.
 *
 * @param $form_values
 *   Passes in an array of form values submitted by the user.
 * @return
 *   Nothing.
 */
function hook_comment_update(&$form_values) {
  $nid = $form_values['nid'];

  cache_clear_all_like(drupal_url(array('id' => $nid)));
}

/**
 * The comment is being viewed. This hook can be used to add additional data to the comment before theming.
 *
 * @param $comment
 *   Passes in the comment the action is being performed on.
 * @return
 *   Nothing.
 */
function hook_comment_view(&$comment) {
  // how old is the comment
  $comment->time_ago = time() - $comment->timestamp;
}

/**
 * The comment is being published by the moderator.
 *
 * @param $form_values
 *   Passes in an array of form values submitted by the user.
 * @return
 *   Nothing.
 */
function hook_comment_publish($form_values) {
  drupal_set_message(t('Comment: @subject has been published', array('@subject' => $form_values['subject'])));
}

/**
 * The comment is being unpublished by the moderator.
 *
 * @param $comment
 *   Passes in the comment the action is being performed on.
 * @return
 *   Nothing.
 */
function hook_comment_unpublish(&$comment) {
  drupal_set_message(t('Comment: @subject has been unpublished', array('@subject' => $comment->subject)));
}

/**
 * The comment is being deleted by the moderator.
 *
 * @param $comment
 *   Passes in the comment the action is being performed on.
 * @return
 *   Nothing.
 */
function hook_comment_delete(&$comment) {
  drupal_set_message(t('Comment: @subject has been deleted', array('@subject' => $comment->subject)));
}

/**
 * @} End of "addtogroup hooks".
 */