Hi,
I was having a bizarre issue on a site I'm currently working on that was setup by another developer, and they had installed this module. The module sounds great, and I will likely use it in other sites I work on, but in this case it was the cause of my bizarre issue.
The issue is that I am using Node form columns to hide the menu fieldset from a certain node form, which worked for user ID 1, but not for other users. Node form columns simply sets the #access setting to FALSE, which would not show the field as required. Thinking that maybe it was Node form columns that had the issue, I did my own form_alter call and both set the menu field #access to FALSE, and failing that unset() the item completely. Neither of these worked, the menu item was still appearing.
After a big of debugging I tracked it down to menu_stp, which was re-adding the field.... first of all, that just seems crazy to me, I would think the better approach would be to alter the field, not re-create it. Or at least do a check to see if the field access is set to TRUE before re-adding the field.
My simple workaround is:
Change line #49 of menu_stp.module from:
_menu_stp_form_alter_node_edit_form($form, $form_state, $form_id);
To:
if ($form['menu']['#access']) {
_menu_stp_form_alter_node_edit_form($form, $form_state, $form_id);
}
I have not fully tested this, I just needed a quick fix to make the site work as expected. I will leave the approach you take entirely up to you, but I will say that while I did not set the priority of this issue to Critical, in my opinion it is as I don't see any time where I will not use the Node form columns module in my sites.
Cheers,
Deciphered.