Одинаковые 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()сразу сделать:То половина проверок прав из модулей ядра отвалится с ошибкой на несуществующую функцию.