123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- <?php
- /**
- * @file
- * Hooks provided by the Feedback module.
- */
- /**
- * @addtogroup hooks
- * @{
- */
- /**
- * Act on an array of feedback entry objects when loaded from the database.
- *
- * @param $entries
- * An array of feedback entry objects, indexed by fid.
- */
- function hook_feedback_load($entries) {
- $result = db_query('SELECT * FROM {my_table} WHERE fid IN (:fids)', array(':fids' => array_keys($entries)));
- foreach ($result as $record) {
- $entries[$record->fid]->foo = $result->foo;
- }
- }
- /**
- * Act on a feedback entry before it is saved.
- *
- * Modules implementing this hook can act on the feedback entry object before it
- * is inserted or updated.
- *
- * @param $entry
- * The feedback entry object.
- */
- function hook_feedback_presave($entry) {
- $entry->foo = 'bar';
- }
- /**
- * Respond to creation of a new feedback entry.
- *
- * @param $entry
- * The feedback entry object.
- *
- * @see hook_feedback_update()
- */
- function hook_feedback_insert($entry) {
- db_insert('mytable')
- ->fields(array(
- 'fid' => $entry->fid,
- 'extra' => $entry->extra,
- ))
- ->execute();
- }
- /**
- * Respond to updates to a feedback entry.
- *
- * @param $entry
- * The feedback entry object.
- *
- * @see hook_feedback_insert()
- */
- function hook_feedback_update($entry) {
- db_update('mytable')
- ->fields(array('extra' => $entry->extra))
- ->condition('fid', $entry->fid)
- ->execute();
- }
- /**
- * Respond to deletion of a feedback entry.
- *
- * @param $entry
- * The feedback entry object.
- *
- * @see feedback_delete_multiple()
- */
- function hook_feedback_delete($entry) {
- db_delete('mytable')
- ->condition('fid', $entry->fid)
- ->execute();
- }
- /**
- * The feedback entry is being displayed.
- *
- * The module should format its custom additions for display and add them to the
- * $entry->content array.
- *
- * @param $entry
- * The feedback entry object.
- * @param $view_mode
- * View mode, e.g. 'full'.
- * @param $langcode
- * The language code used for rendering.
- *
- * @see hook_feedback_view_alter()
- * @see hook_entity_view()
- */
- function hook_feedback_view($entry, $view_mode, $langcode) {
- $entry->content['foo'] = array(
- '#markup' => t('Bar'),
- );
- }
- /**
- * The feedback entry was built; the module may modify the structured content.
- *
- * This hook is called after the content has been assembled in a structured
- * array and may be used for doing processing which requires that the complete
- * content structure has been built.
- *
- * @param $build
- * A renderable array representing the feedback entry.
- *
- * @see feedback_view()
- * @see hook_entity_view_alter()
- */
- function hook_feedback_view_alter(&$build) {
- // Check for the existence of a field added by another module.
- if (isset($build['an_additional_field'])) {
- // Change its weight.
- $build['an_additional_field']['#weight'] = -10;
- }
- // Add a #post_render callback to act on the rendered HTML of the entry.
- $build['#post_render'][] = 'my_module_feedback_post_render';
- }
- /**
- * @} End of "addtogroup hooks".
- */
|