[drupal-docs] [bug] hook_load can overwrite information: should be
documented
fgm
drupal-docs at drupal.org
Sun Oct 9 14:10:43 UTC 2005
Issue status update for
http://drupal.org/node/33523
Post a follow up:
http://drupal.org/project/comments/add/33523
Project: Documentation
Version: <none>
Component: Developer Guide
Category: bug reports
Priority: normal
Assigned to: Anonymous
Reported by: fgm
Updated by: fgm
Status: patch (code needs review)
Attachment: http://drupal.org/files/issues/node.php_0.patch (1.11 KB)
Previous version contained a typo.
fgm
Previous comments:
------------------------------------------------------------------------
Sun, 09 Oct 2005 11:06:43 +0000 : fgm
The description for hook_load says that It is called to allow the module
a chance to load extra information that it stores about a node. and that
the returned object will be merged with the passed-in $node to result in
an object containing both sets of properties.
This is not exactly what happens: node.module/node_load does not
exactly return the node containing both sets of properties, but the
passed-in properties, plus the extra properties added by the hook_load
implementation, which can replace the passed-in properties if the
returned object contains keys having the same name as the passed-in
properties, which means they are not only "extra" properties.
This means existing properties loaded in the first part of node_load
can be overwritten, or even removed by hook_load (using unset), which
should be
- either documented if this is the desired behaviour for the code,
- or avoided by sanitizing the return value of hook_load through
checking for duplicates with the passed-in values.
Page affected:
http://drupaldocs.org/api/head/function/node_load
http://drupaldocs.org/api/4.6/function/node_load
------------------------------------------------------------------------
Sun, 09 Oct 2005 11:12:46 +0000 : fgm
Error in description: they can't be removed by using unset, but giving
them a null value effectively erases the previous value without leaving
any usable value.
------------------------------------------------------------------------
Sun, 09 Oct 2005 11:46:16 +0000 : fgm
Attachment: http://drupal.org/files/issues/node.php.patch (1.11 KB)
Here is a suggested patch with a more accurate wording.
------------------------------------------------------------------------
Sun, 09 Oct 2005 11:46:25 +0000 : Goba
This is intended. This is the feature used by excerpt module to inject
the proper teaser for example AFAIR.
------------------------------------------------------------------------
Sun, 09 Oct 2005 12:36:31 +0000 : Bèr Kessels
@Goba: yes, intended, but undocumented. Documents say they are
*inserted*, while in fact they are *inserted* OR *replaced*. This patch
changes that documentation error, only.
A +1
More information about the drupal-docs
mailing list