annotate modules/comment/comment.api.php @ 2:b74b41bb73f0

-- Google analytics module
author danieleb <danielebarchiesi@me.com>
date Thu, 22 Aug 2013 17:22:54 +0100
parents ff03f76ab3fe
children
rev   line source
danielebarchiesi@0 1 <?php
danielebarchiesi@0 2
danielebarchiesi@0 3 /**
danielebarchiesi@0 4 * @file
danielebarchiesi@0 5 * Hooks provided by the Comment module.
danielebarchiesi@0 6 */
danielebarchiesi@0 7
danielebarchiesi@0 8 /**
danielebarchiesi@0 9 * @addtogroup hooks
danielebarchiesi@0 10 * @{
danielebarchiesi@0 11 */
danielebarchiesi@0 12
danielebarchiesi@0 13 /**
danielebarchiesi@0 14 * The comment passed validation and is about to be saved.
danielebarchiesi@0 15 *
danielebarchiesi@0 16 * Modules may make changes to the comment before it is saved to the database.
danielebarchiesi@0 17 *
danielebarchiesi@0 18 * @param $comment
danielebarchiesi@0 19 * The comment object.
danielebarchiesi@0 20 */
danielebarchiesi@0 21 function hook_comment_presave($comment) {
danielebarchiesi@0 22 // Remove leading & trailing spaces from the comment subject.
danielebarchiesi@0 23 $comment->subject = trim($comment->subject);
danielebarchiesi@0 24 }
danielebarchiesi@0 25
danielebarchiesi@0 26 /**
danielebarchiesi@0 27 * The comment is being inserted.
danielebarchiesi@0 28 *
danielebarchiesi@0 29 * @param $comment
danielebarchiesi@0 30 * The comment object.
danielebarchiesi@0 31 */
danielebarchiesi@0 32 function hook_comment_insert($comment) {
danielebarchiesi@0 33 // Reindex the node when comments are added.
danielebarchiesi@0 34 search_touch_node($comment->nid);
danielebarchiesi@0 35 }
danielebarchiesi@0 36
danielebarchiesi@0 37 /**
danielebarchiesi@0 38 * The comment is being updated.
danielebarchiesi@0 39 *
danielebarchiesi@0 40 * @param $comment
danielebarchiesi@0 41 * The comment object.
danielebarchiesi@0 42 */
danielebarchiesi@0 43 function hook_comment_update($comment) {
danielebarchiesi@0 44 // Reindex the node when comments are updated.
danielebarchiesi@0 45 search_touch_node($comment->nid);
danielebarchiesi@0 46 }
danielebarchiesi@0 47
danielebarchiesi@0 48 /**
danielebarchiesi@0 49 * Comments are being loaded from the database.
danielebarchiesi@0 50 *
danielebarchiesi@0 51 * @param $comments
danielebarchiesi@0 52 * An array of comment objects indexed by cid.
danielebarchiesi@0 53 */
danielebarchiesi@0 54 function hook_comment_load($comments) {
danielebarchiesi@0 55 $result = db_query('SELECT cid, foo FROM {mytable} WHERE cid IN (:cids)', array(':cids' => array_keys($comments)));
danielebarchiesi@0 56 foreach ($result as $record) {
danielebarchiesi@0 57 $comments[$record->cid]->foo = $record->foo;
danielebarchiesi@0 58 }
danielebarchiesi@0 59 }
danielebarchiesi@0 60
danielebarchiesi@0 61 /**
danielebarchiesi@0 62 * The comment is being viewed. This hook can be used to add additional data to the comment before theming.
danielebarchiesi@0 63 *
danielebarchiesi@0 64 * @param $comment
danielebarchiesi@0 65 * Passes in the comment the action is being performed on.
danielebarchiesi@0 66 * @param $view_mode
danielebarchiesi@0 67 * View mode, e.g. 'full', 'teaser'...
danielebarchiesi@0 68 * @param $langcode
danielebarchiesi@0 69 * The language code used for rendering.
danielebarchiesi@0 70 *
danielebarchiesi@0 71 * @see hook_entity_view()
danielebarchiesi@0 72 */
danielebarchiesi@0 73 function hook_comment_view($comment, $view_mode, $langcode) {
danielebarchiesi@0 74 // how old is the comment
danielebarchiesi@0 75 $comment->time_ago = time() - $comment->changed;
danielebarchiesi@0 76 }
danielebarchiesi@0 77
danielebarchiesi@0 78 /**
danielebarchiesi@0 79 * The comment was built; the module may modify the structured content.
danielebarchiesi@0 80 *
danielebarchiesi@0 81 * This hook is called after the content has been assembled in a structured array
danielebarchiesi@0 82 * and may be used for doing processing which requires that the complete comment
danielebarchiesi@0 83 * content structure has been built.
danielebarchiesi@0 84 *
danielebarchiesi@0 85 * If the module wishes to act on the rendered HTML of the comment rather than the
danielebarchiesi@0 86 * structured content array, it may use this hook to add a #post_render callback.
danielebarchiesi@0 87 * Alternatively, it could also implement hook_preprocess_comment(). See
danielebarchiesi@0 88 * drupal_render() and theme() documentation respectively for details.
danielebarchiesi@0 89 *
danielebarchiesi@0 90 * @param $build
danielebarchiesi@0 91 * A renderable array representing the comment.
danielebarchiesi@0 92 *
danielebarchiesi@0 93 * @see comment_view()
danielebarchiesi@0 94 * @see hook_entity_view_alter()
danielebarchiesi@0 95 */
danielebarchiesi@0 96 function hook_comment_view_alter(&$build) {
danielebarchiesi@0 97 // Check for the existence of a field added by another module.
danielebarchiesi@0 98 if ($build['#view_mode'] == 'full' && isset($build['an_additional_field'])) {
danielebarchiesi@0 99 // Change its weight.
danielebarchiesi@0 100 $build['an_additional_field']['#weight'] = -10;
danielebarchiesi@0 101 }
danielebarchiesi@0 102
danielebarchiesi@0 103 // Add a #post_render callback to act on the rendered HTML of the comment.
danielebarchiesi@0 104 $build['#post_render'][] = 'my_module_comment_post_render';
danielebarchiesi@0 105 }
danielebarchiesi@0 106
danielebarchiesi@0 107 /**
danielebarchiesi@0 108 * The comment is being published by the moderator.
danielebarchiesi@0 109 *
danielebarchiesi@0 110 * @param $comment
danielebarchiesi@0 111 * Passes in the comment the action is being performed on.
danielebarchiesi@0 112 * @return
danielebarchiesi@0 113 * Nothing.
danielebarchiesi@0 114 */
danielebarchiesi@0 115 function hook_comment_publish($comment) {
danielebarchiesi@0 116 drupal_set_message(t('Comment: @subject has been published', array('@subject' => $comment->subject)));
danielebarchiesi@0 117 }
danielebarchiesi@0 118
danielebarchiesi@0 119 /**
danielebarchiesi@0 120 * The comment is being unpublished by the moderator.
danielebarchiesi@0 121 *
danielebarchiesi@0 122 * @param $comment
danielebarchiesi@0 123 * Passes in the comment the action is being performed on.
danielebarchiesi@0 124 * @return
danielebarchiesi@0 125 * Nothing.
danielebarchiesi@0 126 */
danielebarchiesi@0 127 function hook_comment_unpublish($comment) {
danielebarchiesi@0 128 drupal_set_message(t('Comment: @subject has been unpublished', array('@subject' => $comment->subject)));
danielebarchiesi@0 129 }
danielebarchiesi@0 130
danielebarchiesi@0 131 /**
danielebarchiesi@0 132 * The comment is being deleted by the moderator.
danielebarchiesi@0 133 *
danielebarchiesi@0 134 * @param $comment
danielebarchiesi@0 135 * Passes in the comment the action is being performed on.
danielebarchiesi@0 136 * @return
danielebarchiesi@0 137 * Nothing.
danielebarchiesi@0 138 */
danielebarchiesi@0 139 function hook_comment_delete($comment) {
danielebarchiesi@0 140 drupal_set_message(t('Comment: @subject has been deleted', array('@subject' => $comment->subject)));
danielebarchiesi@0 141 }
danielebarchiesi@0 142
danielebarchiesi@0 143 /**
danielebarchiesi@0 144 * @} End of "addtogroup hooks".
danielebarchiesi@0 145 */