I have the may 2006 version installed and I noticed that 'my workspace' for nodes such as og wasn't showing the edit/delete links. On debugging the code, I found this critical error.

from workspace_list()
//Check the nodetype's access hook.
$function = $row->type. '_access';

The problem with the above code is we are assuming the module name is the same as the node type. Valid example - blog - blog_access.

But this will break where the module name is not equal to the node type name. Example 'storylink' - 'vote_storylink_access' or even OG and 'groups'.

A simple fix will be :
//Check the nodetype's access hook.
$function = node_get_base($row->type). '_access';

This will get the actual module name.

Any reason why the former approach was chosen? I'm not a php guy, so I might be missing something very basic here.

Anyway, this seems to work fine, but I was wondering if I'm overlooking anything.

Comments

csc4’s picture

I'm not a PHP guru either but it seems like a good fix - there is still an issue with a couple of specialist modules (amazon node springs to mind)

frank ralf’s picture

Assigned: Unassigned » frank ralf
Status: Active » Closed (fixed)

Pertains to an outdated version. Please create new issue if problem persists.

TIA
Frank