Одинаковые dev, stage / qa и prod окружения очень важны. Решает проблемы вида «а у меня все работает, can't reproduce», это только то, что лежит на самой поверхности, глубже — более сложные вещи типа минимальных различий версий MySQL. При чем тут умение собрать окружение?
Не совсем. Тут написано, что используется user_access, только заодно заметил, что тип MENU_DEFAULT_LOCAL_TASK может наследовать access callback. Т.е. надо добавлять еще одно условие.
access callback
. Т.е. надо добавлять еще одно условие.MYMODULE_menu_alter
устанавливаю стандартныйuser_access
, если коллбэка нет.В любом случае придется проверять наличие
access arguments
иaccess callback
, их типы. Вот с указателем&$item
действительно гораздо красивее :)Если в
MYMODULE_access_callback()
сразу сделать:То половина проверок прав из модулей ядра отвалится с ошибкой на несуществующую функцию.