- Patch #319356 by recidive: clean up hook_nodeapi_ fucntion signatures and documentation because of previous node API clean-ups.

merge-requests/26/head
Dries Buytaert 2008-12-09 11:30:25 +00:00
parent 7c30a1bac9
commit c0cb68abcc
13 changed files with 275 additions and 148 deletions

View File

@ -72,7 +72,7 @@ function blog_help($path, $arg) {
/**
* Implementation of hook_form().
*/
function blog_form(&$node) {
function blog_form($node, $form_state) {
global $nid;
$type = node_get_types('type', $node);
@ -84,7 +84,7 @@ function blog_form(&$node) {
/**
* Implementation of hook_view().
*/
function blog_view($node, $teaser = FALSE, $page = FALSE) {
function blog_view($node, $teaser, $page) {
if ($page) {
// Breadcrumb navigation.
drupal_set_breadcrumb(array(l(t('Home'), NULL), l(t('Blogs'), 'blog'), l(t("!name's blog", array('!name' => $node->name)), 'blog/' . $node->uid)));

View File

@ -718,7 +718,7 @@ function book_nodeapi_load($nodes, $types) {
/**
* Implementation of hook_nodeapi_view().
*/
function book_nodeapi_view(&$node, $teaser, $page) {
function book_nodeapi_view($node, $teaser, $page) {
if (!$teaser) {
if (!empty($node->book['bid']) && $node->build_mode == NODE_BUILD_NORMAL) {
$node->content['book_navigation'] = array(
@ -737,7 +737,7 @@ function book_nodeapi_view(&$node, $teaser, $page) {
/**
* Implementation of hook_nodeapi_presave().
*/
function book_nodeapi_presave(&$node, $teaser, $page) {
function book_nodeapi_presave($node) {
// Always save a revision for non-administrators.
if (!empty($node->book['bid']) && !user_access('administer nodes')) {
$node->revision = 1;
@ -751,7 +751,7 @@ function book_nodeapi_presave(&$node, $teaser, $page) {
/**
* Implementation of hook_nodeapi_insert().
*/
function book_nodeapi_insert(&$node, $teaser, $page) {
function book_nodeapi_insert($node) {
if (!empty($node->book['bid'])) {
if ($node->book['bid'] == 'new') {
// New nodes that are their own book.
@ -766,7 +766,7 @@ function book_nodeapi_insert(&$node, $teaser, $page) {
/**
* Implementation of hook_nodeapi_update().
*/
function book_nodeapi_update(&$node, $teaser, $page) {
function book_nodeapi_update($node) {
if (!empty($node->book['bid'])) {
if ($node->book['bid'] == 'new') {
// New nodes that are their own book.
@ -781,7 +781,7 @@ function book_nodeapi_update(&$node, $teaser, $page) {
/**
* Implementation of hook_nodeapi_delete().
*/
function book_nodeapi_delete(&$node, $teaser, $page) {
function book_nodeapi_delete($node) {
if (!empty($node->book['bid'])) {
if ($node->nid == $node->book['bid']) {
// Handle deletion of a top-level post.
@ -804,7 +804,7 @@ function book_nodeapi_delete(&$node, $teaser, $page) {
/**
* Implementation of hook_nodeapi_prepare().
*/
function book_nodeapi_prepare(&$node, $teaser, $page) {
function book_nodeapi_prepare($node) {
// Prepare defaults for the add/edit form.
if (empty($node->book) && (user_access('add content to books') || user_access('administer book outlines'))) {
$node->book = array();

View File

@ -610,7 +610,7 @@ function comment_nodeapi_load($nodes, $types) {
/**
* Implementation of hook_nodeapi_prepare().
*/
function comment_nodeapi_prepare(&$node, $arg = 0) {
function comment_nodeapi_prepare($node) {
if (!isset($node->comment)) {
$node->comment = variable_get("comment_$node->type", COMMENT_NODE_READ_WRITE);
}
@ -619,7 +619,7 @@ function comment_nodeapi_prepare(&$node, $arg = 0) {
/**
* Implementation of hook_nodeapi_insert().
*/
function comment_nodeapi_insert(&$node, $arg = 0) {
function comment_nodeapi_insert($node) {
db_insert('node_comment_statistics')
->fields(array(
'nid' => $node->nid,
@ -633,7 +633,7 @@ function comment_nodeapi_insert(&$node, $arg = 0) {
/**
* Implementation of hook_nodeapi_delete().
*/
function comment_nodeapi_delete(&$node, $arg = 0) {
function comment_nodeapi_delete($node) {
db_delete('comment')
->condition('nid', $node->nid)
->execute();
@ -645,7 +645,7 @@ function comment_nodeapi_delete(&$node, $arg = 0) {
/**
* Implementation of hook_nodeapi_update_index().
*/
function comment_nodeapi_update_index(&$node, $arg = 0) {
function comment_nodeapi_update_index($node) {
$text = '';
$comments = db_query('SELECT subject, comment, format FROM {comment} WHERE nid = :nid AND status = :status', array(':nid' => $node->nid, ':status' => COMMENT_PUBLISHED));
foreach ($comments as $comment) {
@ -657,7 +657,7 @@ function comment_nodeapi_update_index(&$node, $arg = 0) {
/**
* Implementation of hook_nodeapi_search_result().
*/
function comment_nodeapi_search_result(&$node, $arg = 0) {
function comment_nodeapi_search_result($node) {
$comments = db_query('SELECT comment_count FROM {node_comment_statistics} WHERE nid = :nid', array('nid' => $node->nid))->fetchField();
return format_plural($comments, '1 comment', '@count comments');
}
@ -665,7 +665,7 @@ function comment_nodeapi_search_result(&$node, $arg = 0) {
/**
* Implementation of hook_nodeapi_rss_item().
*/
function comment_nodeapi_rss_item(&$node, $arg = 0) {
function comment_nodeapi_rss_item($node) {
if ($node->comment != COMMENT_NODE_DISABLED) {
return array(array('key' => 'comments', 'value' => url('node/' . $node->nid, array('fragment' => 'comments', 'absolute' => TRUE))));
}

View File

@ -183,7 +183,7 @@ function _forum_nodeapi_check_node_type($node, $vocabulary) {
/**
* Implementation of hook_nodeapi_view().
*/
function forum_nodeapi_view(&$node, $teaser, $page) {
function forum_nodeapi_view($node, $teaser, $page) {
$vid = variable_get('forum_nav_vocabulary', '');
$vocabulary = taxonomy_vocabulary_load($vid);
if (_forum_nodeapi_check_node_type($node, $vocabulary)) {
@ -221,7 +221,7 @@ function forum_nodeapi_view(&$node, $teaser, $page) {
/**
* Implementation of hook_nodeapi_prepare().
*/
function forum_nodeapi_prepare(&$node, $teaser, $page) {
function forum_nodeapi_prepare($node) {
$vid = variable_get('forum_nav_vocabulary', '');
$vocabulary = taxonomy_vocabulary_load($vid);
if (_forum_nodeapi_check_node_type($node, $vocabulary)) {
@ -238,7 +238,7 @@ function forum_nodeapi_prepare(&$node, $teaser, $page) {
*
* Check in particular that only a "leaf" term in the associated taxonomy.
*/
function forum_nodeapi_validate(&$node, $teaser, $page) {
function forum_nodeapi_validate($node, $form) {
$vid = variable_get('forum_nav_vocabulary', '');
$vocabulary = taxonomy_vocabulary_load($vid);
if (_forum_nodeapi_check_node_type($node, $vocabulary)) {
@ -264,7 +264,7 @@ function forum_nodeapi_validate(&$node, $teaser, $page) {
*
* Assign forum taxonomy when adding a topic from within a forum.
*/
function forum_nodeapi_presave(&$node, $teaser, $page) {
function forum_nodeapi_presave($node) {
$vid = variable_get('forum_nav_vocabulary', '');
$vocabulary = taxonomy_vocabulary_load($vid);
if (_forum_nodeapi_check_node_type($node, $vocabulary)) {
@ -293,7 +293,7 @@ function forum_nodeapi_presave(&$node, $teaser, $page) {
/**
* Implementation of hook_nodeapi_update().
*/
function forum_nodeapi_update(&$node, $teaser, $page) {
function forum_nodeapi_update($node) {
$vid = variable_get('forum_nav_vocabulary', '');
$vocabulary = taxonomy_vocabulary_load($vid);
if (_forum_nodeapi_check_node_type($node, $vocabulary)) {
@ -317,7 +317,7 @@ function forum_nodeapi_update(&$node, $teaser, $page) {
/**
* Implementation of hook_nodeapi_insert().
*/
function forum_nodeapi_insert(&$node, $teaser, $page) {
function forum_nodeapi_insert($node) {
$vid = variable_get('forum_nav_vocabulary', '');
$vocabulary = taxonomy_vocabulary_load($vid);
if (_forum_nodeapi_check_node_type($node, $vocabulary)) {
@ -330,7 +330,7 @@ function forum_nodeapi_insert(&$node, $teaser, $page) {
/**
* Implementation of hook_nodeapi_delete().
*/
function forum_nodeapi_delete(&$node, $teaser, $page) {
function forum_nodeapi_delete($node) {
$vid = variable_get('forum_nav_vocabulary', '');
$vocabulary = taxonomy_vocabulary_load($vid);
if (_forum_nodeapi_check_node_type($node, $vocabulary)) {

View File

@ -154,6 +154,70 @@ function hook_node_operations() {
return $operations;
}
/**
* Fiter, substitute or otherwise alter the $node's raw text.
*
* The $node->content array has been rendered, so the node body or
* teaser is filtered and now contains HTML. This hook should only be
* used when text substitution, filtering, or other raw text operations
* are necessary.
*
* @param $node
* The node the action is being performed on.
* @param $teaser
* The $teaser parameter from node_view().
* @param $page
* The $page parameter from node_view().
* @return
* None.
*/
function hook_nodeapi_alter($node, $teaser, $page) {
}
/**
* Act on node deletion.
*
* @param $node
* The node that is being deleted.
* @return
* None.
*/
function hook_nodeapi_delete($node) {
db_query('DELETE FROM {mytable} WHERE nid = %d', $node->nid);
}
/**
* A revision of the node is deleted.
*
* You can delete data associated with that revision.
*
* @param $node
* The node the action is being performed on.
* @return
* None.
*/
function hook_nodeapi_delete_revision($node) {
db_delete('upload')->condition('vid', $node->vid)->execute();
if (!is_array($node->files)) {
return;
}
foreach ($node->files as $file) {
file_delete($file);
}
}
/**
* The node being created (inserted in the database).
*
* @param $node
* The node the action is being performed on.
* @return
* None.
*/
function hook_nodeapi_insert($node) {
db_query("INSERT INTO {mytable} (nid, extra) VALUES (%d, '%s')", $node->nid, $node->extra);
}
/**
* Act on node objects when loaded.
*
@ -188,100 +252,163 @@ function hook_nodeapi_load($nodes, $types) {
}
/**
* Act on nodes defined by other modules.
* The node is about to be shown on the add/edit form.
*
* Despite what its name might make you think, hook_nodeapi() is not
* reserved for node modules. On the contrary, it allows modules to react
* to actions affecting all kinds of nodes, regardless of whether that
* module defined the node.
*
* It is common to find hook_nodeapi() used in conjunction with
* hook_form_alter(). Modules use hook_form_alter() to place additional form
* elements onto the node edit form, and hook_nodeapi() is used to read and
* write those values to and from the database.
*
* @param &$node
* @param $node
* The node the action is being performed on.
* @param $op
* What kind of action is being performed. Possible values:
* - "alter": the $node->content array has been rendered, so the node body or
* teaser is filtered and now contains HTML. This op should only be used when
* text substitution, filtering, or other raw text operations are necessary.
* - "delete": The node is being deleted.
* - "delete_revision": The revision of the node is deleted. You can delete data
* associated with that revision.
* - "insert": The node is being created (inserted in the database).
* - "load": The node is about to be loaded from the database. This hook
* can be used to load additional data at this time.
* - "prepare": The node is about to be shown on the add/edit form.
* - "prepare_translation": The node is being cloned for translation. Load
* additional data or copy values from $node->translation_source.
* - "print": Prepare a node view for printing. Used for printer-friendly
* view in book_module
* - "rss_item": An RSS feed is generated. The module can return properties
* to be added to the RSS item generated for this node. See comment_nodeapi()
* and upload_nodeapi() for examples. The $node passed can also be modified
* to add or remove contents to the feed item.
* - "search_result": The node is displayed as a search result. If you
* want to display extra information with the result, return it.
* - "presave": The node passed validation and is about to be saved. Modules may
* use this to make changes to the node before it is saved to the database.
* - "update": The node is being updated.
* - "update_index": The node is being indexed. If you want additional
* information to be indexed which is not already visible through
* nodeapi "view", then you should return it here.
* - "validate": The user has just finished editing the node and is
* trying to preview or submit it. This hook can be used to check
* the node data. Errors should be set with form_set_error().
* - "view": The node content is being assembled before rendering. The module
* may add elements $node->content prior to rendering. This hook will be
* called after hook_view(). The format of $node->content is the same as
* used by Forms API.
* @param $a3
* - For "view", passes in the $teaser parameter from node_view().
* - For "validate", passes in the $form parameter from node_validate().
* @param $a4
* - For "view", passes in the $page parameter from node_view().
* @return
* This varies depending on the operation.
* - The "presave", "insert", "update", "delete", "print" and "view"
* operations have no return value.
* - The "load" operation should return an array containing pairs
* of fields => values to be merged into the node object.
*
* If you are writing a node module, do not use this hook to perform
* actions on your type of node alone. Instead, use the hooks set aside
* for node modules, such as hook_insert() and hook_form(). That said, for
* some operations, such as "delete_revision" or "rss_item" there is no
* corresponding hook so even the module defining the node will need to
* implement hook_nodeapi().
* None.
*/
function hook_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
switch ($op) {
case 'presave':
function hook_nodeapi_prepare($node) {
if (!isset($node->comment)) {
$node->comment = variable_get("comment_$node->type", COMMENT_NODE_READ_WRITE);
}
}
/**
* The node is being cloned for translation.
*
* This hook can be used to load additional data or copy values from
* $node->translation_source.
*
* @param $node
* The node the action is being performed on.
* @return
* None.
*/
function hook_nodeapi_prepare_translation($node) {
}
/**
* An RSS feed is being generated.
*
* The module can return properties to be added to the RSS item generated for
* this node. See comment_nodeapi_rss_item() and upload_nodeapi_rss_item() for
* examples. The $node passed can also be modified to add or remove contents to
* the feed item.
*
* @param $node
* The node the action is being performed on.
* @return
* Extra information to be added to the RSS item.
*/
function hook_nodeapi_rss_item($node) {
if ($node->comment != COMMENT_NODE_DISABLED) {
return array(array('key' => 'comments', 'value' => url('node/' . $node->nid, array('fragment' => 'comments', 'absolute' => TRUE))));
}
else {
return array();
}
}
/**
* The node is being displayed as a search result.
*
* If you want to display extra information with the result, return it.
*
* @param $node
* The node the action is being performed on.
* @return
* Extra information to be displayed with search result.
*/
function hook_nodeapi_search_result($node) {
$comments = db_query('SELECT comment_count FROM {node_comment_statistics} WHERE nid = :nid', array('nid' => $node->nid))->fetchField();
return format_plural($comments, '1 comment', '@count comments');
}
/**
* The node passed validation and is about to be saved.
*
* Modules may make changes to the node before it is saved to the database.
*
* @param $node
* The node the action is being performed on.
* @return
* None.
*/
function hook_nodeapi_presave($node) {
if ($node->nid && $node->moderate) {
// Reset votes when node is updated:
$node->score = 0;
$node->users = '';
$node->votes = 0;
}
break;
case 'insert':
case 'update':
if ($node->moderate && user_access('access submission queue')) {
drupal_set_message(t('The post is queued for approval'));
}
/**
* The node being updated.
*
* @param $node
* The node the action is being performed on.
* @return
* None.
*/
function hook_nodeapi_update($node) {
db_query("UPDATE {mytable} SET extra = '%s' WHERE nid = %d", $node->extra, $node->nid);
}
/**
* The node is being indexed.
*
* If you want additional information to be indexed which is not already
* visible through nodeapi "view", then you should return it here.
*
* @param $node
* The node the action is being performed on.
* @return
* Array of additional information to be indexed.
*/
function hook_nodeapi_update_index($node) {
$text = '';
$comments = db_query('SELECT subject, comment, format FROM {comment} WHERE nid = :nid AND status = :status', array(':nid' => $node->nid, ':status' => COMMENT_PUBLISHED));
foreach ($comments as $comment) {
$text .= '<h2>' . check_plain($comment->subject) . '</h2>' . check_markup($comment->comment, $comment->format, FALSE);
}
elseif ($node->moderate) {
drupal_set_message(t('The post is queued for approval. The editors will decide whether it should be published.'));
return $text;
}
/**
* The user has finished editing the node and is trying to preview or submit it.
*
* This hook can be used to check the node data. Errors should be set with
* form_set_error().
*
* @param $node
* The node the action is being performed on.
* @param $form
* The $form parameter from node_validate().
* @return
* None.
*/
function hook_nodeapi_validate($node, $form) {
if (isset($node->end) && isset($node->start)) {
if ($node->start > $node->end) {
form_set_error('time', t('An event may not end before it starts.'));
}
break;
case 'view':
}
}
/**
* The node content is being assembled before rendering.
*
* The module may add elements $node->content prior to rendering. This hook
* will be called after hook_view(). The format of $node->content is the
* same as used by Forms API.
*
* @param $node
* The node the action is being performed on.
* @param $teaser
* The $teaser parameter from node_view().
* @param $page
* The $page parameter from node_view().
* @return
* None.
*/
function hook_nodeapi_view($node, $teaser, $page) {
$node->content['my_additional_field'] = array(
'#value' => theme('mymodule_my_additional_field', $additional_field),
'#weight' => 10,
);
break;
}
}
/**

View File

@ -120,7 +120,7 @@ function path_set_alias($path = NULL, $alias = NULL, $pid = NULL, $language = ''
/**
* Implementation of hook_nodeapi_validate().
*/
function path_nodeapi_validate(&$node, $arg) {
function path_nodeapi_validate($node, $form) {
if (user_access('create url aliases') || user_access('administer url aliases')) {
if (isset($node->path)) {
$language = isset($node->language) ? $node->language : '';
@ -149,7 +149,7 @@ function path_nodeapi_load($nodes, $types) {
/**
* Implementation of hook_nodeapi_insert().
*/
function path_nodeapi_insert(&$node, $arg) {
function path_nodeapi_insert($node) {
if (user_access('create url aliases') || user_access('administer url aliases')) {
$language = isset($node->language) ? $node->language : '';
// Don't try to insert if path is NULL. We may have already set
@ -163,7 +163,7 @@ function path_nodeapi_insert(&$node, $arg) {
/**
* Implementation of hook_nodeapi_update().
*/
function path_nodeapi_update(&$node, $arg) {
function path_nodeapi_update($node) {
if (user_access('create url aliases') || user_access('administer url aliases')) {
$language = isset($node->language) ? $node->language : '';
path_set_alias('node/' . $node->nid, isset($node->path) ? $node->path : NULL, isset($node->pid) ? $node->pid : NULL, $language);
@ -173,7 +173,7 @@ function path_nodeapi_update(&$node, $arg) {
/**
* Implementation of hook_nodeapi_delete().
*/
function path_nodeapi_delete(&$node, $arg) {
function path_nodeapi_delete($node) {
if (user_access('create url aliases') || user_access('administer url aliases')) {
$language = isset($node->language) ? $node->language : '';
$path = 'node/' . $node->nid;

View File

@ -425,7 +425,7 @@ function poll_node_form_submit(&$form, &$form_state) {
/**
* Implementation of hook_validate().
*/
function poll_validate($node) {
function poll_validate($node, $form) {
if (isset($node->title)) {
// Check for at least two options and validate amount of votes:
$realchoices = 0;

View File

@ -638,7 +638,7 @@ function search_touch_node($nid) {
/**
* Implementation of hook_nodeapi_update_index().
*/
function search_nodeapi_update_index(&$node, $teaser = NULL, $page = NULL) {
function search_nodeapi_update_index($node) {
// Transplant links to a node into the target node.
$result = db_query("SELECT caption FROM {search_node_links} WHERE nid = %d", $node->nid);
$output = array();
@ -651,7 +651,7 @@ function search_nodeapi_update_index(&$node, $teaser = NULL, $page = NULL) {
/**
* Implementation of hook_nodeapi_update().
*/
function search_nodeapi_update(&$node, $teaser = NULL, $page = NULL) {
function search_nodeapi_update($node) {
// Reindex the node when it is updated. The node is automatically indexed
// when it is added, simply by being added to the node table.
search_touch_node($node->nid);

View File

@ -325,7 +325,7 @@ function _statistics_format_item($title, $path) {
/**
* Implementation of hook_nodeapi_delete().
*/
function statistics_nodeapi_delete(&$node, $arg = 0) {
function statistics_nodeapi_delete($node) {
// clean up statistics table when node is deleted
db_query('DELETE FROM {node_counter} WHERE nid = %d', $node->nid);
}

View File

@ -1367,7 +1367,7 @@ function taxonomy_nodeapi_load($nodes) {
/**
* Implementation of hook_nodeapi_insert().
*/
function taxonomy_nodeapi_insert($node, $arg = 0) {
function taxonomy_nodeapi_insert($node) {
if (!empty($node->taxonomy)) {
taxonomy_node_save($node, $node->taxonomy);
}
@ -1376,7 +1376,7 @@ function taxonomy_nodeapi_insert($node, $arg = 0) {
/**
* Implementation of hook_nodeapi_update().
*/
function taxonomy_nodeapi_update($node, $arg = 0) {
function taxonomy_nodeapi_update($node) {
if (!empty($node->taxonomy)) {
taxonomy_node_save($node, $node->taxonomy);
}
@ -1385,42 +1385,42 @@ function taxonomy_nodeapi_update($node, $arg = 0) {
/**
* Implementation of hook_nodeapi_delete().
*/
function taxonomy_nodeapi_delete($node, $arg = 0) {
function taxonomy_nodeapi_delete($node) {
taxonomy_node_delete($node);
}
/**
* Implementation of hook_nodeapi_delete_revision().
*/
function taxonomy_nodeapi_delete_revision($node, $arg = 0) {
function taxonomy_nodeapi_delete_revision($node) {
taxonomy_node_delete_revision($node);
}
/**
* Implementation of hook_nodeapi_validate().
*/
function taxonomy_nodeapi_validate($node, $arg = 0) {
function taxonomy_nodeapi_validate($node, $form) {
taxonomy_node_validate($node);
}
/**
* Implementation of hook_nodeapi_rss_item().
*/
function taxonomy_nodeapi_rss_item($node, $arg = 0) {
function taxonomy_nodeapi_rss_item($node) {
return taxonomy_rss_item($node);
}
/**
* Implementation of hook_nodeapi_update_index().
*/
function taxonomy_nodeapi_update_index($node, $arg = 0) {
function taxonomy_nodeapi_update_index($node) {
return taxonomy_node_update_index($node);
}
/**
* Implementation of hook_nodeapi('update_index').
*/
function taxonomy_node_update_index(&$node) {
function taxonomy_node_update_index($node) {
$output = array();
foreach ($node->taxonomy as $term) {
$output[] = $term->name;

View File

@ -186,7 +186,7 @@ function translation_link($type, $node = NULL, $teaser = FALSE) {
/**
* Implementation of hook_nodeapi_prepare().
*/
function translation_nodeapi_prepare(&$node, $teaser, $page) {
function translation_nodeapi_prepare($node) {
// Only act if we are dealing with a content type supporting translations.
if (translation_supported_type($node->type)) {
if (empty($node->nid) && isset($_GET['translation']) && isset($_GET['language']) &&
@ -207,7 +207,7 @@ function translation_nodeapi_prepare(&$node, $teaser, $page) {
/**
* Implementation of hook_nodeapi_insert().
*/
function translation_nodeapi_insert(&$node, $teaser, $page) {
function translation_nodeapi_insert($node) {
// Only act if we are dealing with a content type supporting translations.
if (translation_supported_type($node->type)) {
if (!empty($node->translation_source)) {
@ -228,7 +228,7 @@ function translation_nodeapi_insert(&$node, $teaser, $page) {
/**
* Implementation of hook_nodeapi_update().
*/
function translation_nodeapi_update(&$node, $teaser, $page) {
function translation_nodeapi_update($node) {
// Only act if we are dealing with a content type supporting translations.
if (translation_supported_type($node->type)) {
if (isset($node->translation) && $node->translation && !empty($node->language) && $node->tnid) {
@ -245,7 +245,7 @@ function translation_nodeapi_update(&$node, $teaser, $page) {
/**
* Implementation of hook_nodeapi_delete().
*/
function translation_nodeapi_delete(&$node, $teaser, $page) {
function translation_nodeapi_delete($node) {
// Only act if we are dealing with a content type supporting translations.
if (translation_supported_type($node->type)) {
translation_remove_from_set($node);

View File

@ -204,7 +204,7 @@ function _trigger_normalize_node_context($type, $node) {
*
* @TODO: Take advantage of the new API and reorganise/remove this function.
*/
function _trigger_nodeapi(&$node, $op, $a3, $a4) {
function _trigger_nodeapi($node, $op, $a3 = NULL, $a4 = NULL) {
// Keep objects for reuse so that changes actions make to objects can persist.
static $objects;
// Prevent recursion by tracking which operations have already been called.
@ -245,36 +245,36 @@ function _trigger_nodeapi(&$node, $op, $a3, $a4) {
/**
* Implementation of hook_nodeapi_view().
*/
function trigger_nodeapi_view(&$node, $a3, $a4) {
_trigger_nodeapi($node, 'view', $a3, $a4);
function trigger_nodeapi_view($node, $teaser, $page) {
_trigger_nodeapi($node, 'view', $teaser, $page);
}
/**
* Implementation of hook_nodeapi_update().
*/
function trigger_nodeapi_update(&$node, $a3, $a4) {
_trigger_nodeapi($node, 'update', $a3, $a4);
function trigger_nodeapi_update($node) {
_trigger_nodeapi($node, 'update');
}
/**
* Implementation of hook_nodeapi_presave().
*/
function trigger_nodeapi_presave(&$node, $a3, $a4) {
_trigger_nodeapi($node, 'presave', $a3, $a4);
function trigger_nodeapi_presave($node) {
_trigger_nodeapi($node, 'presave');
}
/**
* Implementation of hook_nodeapi_insert().
*/
function trigger_nodeapi_insert(&$node, $a3, $a4) {
_trigger_nodeapi($node, 'insert', $a3, $a4);
function trigger_nodeapi_insert($node) {
_trigger_nodeapi($node, 'insert');
}
/**
* Implementation of hook_nodeapi_delete().
*/
function trigger_nodeapi_delete(&$node, $a3, $a4) {
_trigger_nodeapi($node, 'delete', $a3, $a4);
function trigger_nodeapi_delete($node) {
_trigger_nodeapi($node, 'delete');
}
/**

View File

@ -311,7 +311,7 @@ function upload_nodeapi_load($nodes, $types) {
/**
* Implementation of hook_nodeapi_view().
*/
function upload_nodeapi_view(&$node, $teaser) {
function upload_nodeapi_view($node, $teaser, $page) {
if (isset($node->files) && user_access('view uploaded files')) {
// Add the attachments list to node body with a heavy
// weight to ensure they're below other elements
@ -329,7 +329,7 @@ function upload_nodeapi_view(&$node, $teaser) {
/**
* Implementation of hook_nodeapi_insert().
*/
function upload_nodeapi_insert(&$node, $teaser) {
function upload_nodeapi_insert($node) {
if (user_access('upload files')) {
upload_save($node);
}
@ -338,7 +338,7 @@ function upload_nodeapi_insert(&$node, $teaser) {
/**
* Implementation of hook_nodeapi_update().
*/
function upload_nodeapi_update(&$node, $teaser) {
function upload_nodeapi_update($node) {
if (user_access('upload files')) {
upload_save($node);
}
@ -347,7 +347,7 @@ function upload_nodeapi_update(&$node, $teaser) {
/**
* Implementation of hook_nodeapi_delete().
*/
function upload_nodeapi_delete(&$node, $teaser) {
function upload_nodeapi_delete($node) {
db_delete('upload')->condition('nid', $node->nid)->execute();
if (!is_array($node->files)) {
return;
@ -360,7 +360,7 @@ function upload_nodeapi_delete(&$node, $teaser) {
/**
* Implementation of hook_nodeapi_delete_revision().
*/
function upload_nodeapi_delete_revision(&$node, $teaser) {
function upload_nodeapi_delete_revision($node) {
db_delete('upload')->condition('vid', $node->vid)->execute();
if (!is_array($node->files)) {
return;
@ -373,14 +373,14 @@ function upload_nodeapi_delete_revision(&$node, $teaser) {
/**
* Implementation of hook_nodeapi_search_result().
*/
function upload_nodeapi_search_result(&$node, $teaser) {
function upload_nodeapi_search_result($node) {
return isset($node->files) && is_array($node->files) ? format_plural(count($node->files), '1 attachment', '@count attachments') : NULL;
}
/**
* Implementation of hook_nodeapi_rss_item().
*/
function upload_nodeapi_rss_item(&$node, $teaser) {
function upload_nodeapi_rss_item($node) {
if (is_array($node->files)) {
$files = array();
foreach ($node->files as $file) {