[drupal-devel] [bug] nodeapi 'settings' call sends string instead of object for $node value

chx drupal-devel at drupal.org
Sun Mar 6 10:10:20 UTC 2005

Issue status update for http://drupal.org/node/16384

 Project:      Drupal
 Version:      cvs
 Component:    node system
 Category:     bug reports
-Priority:     normal
+Priority:     critical
 Assigned to:  crunchywelch
 Reported by:  crunchywelch
 Updated by:   chx
 Status:       patch

I have also noted this, even submitted a patch (which I have now marked
as duplicate, although I think that was better) and because this breaks
two core modules (comment and upload) I mark this critical.


Previous comments:

January 29, 2005 - 08:50 : crunchywelch

Attachment: http://drupal.org/files/issues/node_24.patch (1.42 KB)

when the 'settings' nodeapi operation is invoked, a string containing
the type of node is sent for the $node argument, instead of an object
like the rest of the operations. This breaks comment.module, and is
inconsistent with the rest of the operations and documentation. 
This small patch fixes the problem.


January 31, 2005 - 20:39 : Dries

 * Invoke a hook_nodeapi() operation in all modules.
 * @param &$node
 *   Either a node object, node array, or a string containing the node

Looks like the node_invoke_nodeapi function is broken.  It used to be
possible to pass a $type.


March 6, 2005 - 07:38 : asimmonds

This also affects upload.module and about 6 contributed modules.
What's the best way to fix this?
Change the node_invoke_nodeapi() phpdoc to only accept a node object or
change node_invoke_nodeapi() to accept a string or array and convert to
object before passing to the _nodeapi hooks.
4.5 worked because a $node object was created and populated with $type
before calling node_invoke_nodeapi()
Using upload.module as a example, a side-effect of this bug is that the
node type settings are saved as upload_ instead of upload_nodetype into
the variables table.


March 6, 2005 - 11:04 : Dries

OK, so let's go with this (or chx's slightly better fix) and update the
PHPdoc accordingly.

More information about the drupal-devel mailing list