Index: hooks/core.php =================================================================== RCS file: /cvs/drupal-contrib/contributions/docs/developer/hooks/core.php,v retrieving revision 1.205 diff -u -r1.205 core.php --- hooks/core.php 9 Oct 2008 00:50:46 -0000 1.205 +++ hooks/core.php 10 Oct 2008 01:45:16 -0000 @@ -1282,55 +1282,6 @@ * elements onto the node edit form, and hook_nodeapi() is used to read and * write those values to and from the database. * - * @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 @@ -1338,6 +1289,214 @@ * corresponding hook so even the module defining the node will need to * implement hook_nodeapi(). */ + +/** + * 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. + * @return + * None. + */ +function hook_nodeapi_alter(&$node) { +} + +/** + * Act on node deletion. + * + * @param &$node + * The node the action is being performed on. + * @return + * None. + */ +function hook_nodeapi_delete(&$node) { +} + +/** + * Act on node revision deletion. + * + * @param &$node + * The node the action is being performed on. + * @return + * None. + */ +function hook_nodeapi_delete_revision(&$node) { +} + +/** + * Act on 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) { +} + +/** + * Act on the node being loaded from the database. + * + * This hook can be used to load additional data at this time. + * + * @param &$node + * The node the action is being performed on. + * @return + * None. + */ +function hook_nodeapi_load(&$node) { +} + +/** + * The node is about to be shown on the add/edit form. + * + * @param &$node + * The node the action is being performed on. + * @return + * None. + */ +function hook_nodeapi_prepare(&$node) { +} + +/** + * The node is being cloned for translation. + * + * 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) { +} + +/** + * Prepare a node view for printing. + * + * Used for printer-friendly view in book_module. + * + * @param &$node + * The node the action is being performed on. + * @return + * None. + */ +function hook_nodeapi_print(&$node) { +} + +/** + * An RSS feed is 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) { +} + +/** + * The node is 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) { +} + +/** + * 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; + } +} + +/** + * Act on the node being updated. + * + * @param &$node + * The node the action is being performed on. + * @return + * None. + */ +function hook_nodeapi_update(&$node) { +} + +/** + * Act on 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) { +} + +/** + * 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, array $form) { +} + +/** + * 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) { +} + function hook_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) { switch ($op) { case 'presave':