Необходимо сделать на сайте возможность для авторизованных пользователей просматривать материалы со статусом 0.
Самый простой способ - это заменить в функции node_access()
следующую строчку:
if ($op == 'view' && $account->uid == $node->uid && $account->uid != 0) {
на:
if ($op == 'view' && $account->uid) {
Но можно сделать подобные хуки:
$items['node/%node']['access callback'] = 'my_hacks_node_access';
}
function my_hacks_node_access($op, $node) {
global $user;
if (node_access($op, $node) || ($op == 'view' && $user->uid)) {
return TRUE;
}
else {
return FALSE;
}
}
Но для сложного сайта, с большим количеством ограничений на права, очень неудобно писать хуки, алерты и прочие надстройки. Иначе, если мы будем наращивать функционал подобным образом, то в нем будет с каждым днем сложнее ориентироваться.
Т.е. вывод один: без хакинга никак.
Комментарии
странный вывод. делайте материалы опубликованными, заведите новое поле "показывать анонимам", и навешивайте проверку доступа по нему
Не, задача именно другая:
Т.е. статус 0 должен оставаться. В таком случае все материалы с нулевым статусом не будут выводиться ни в каких списках сайта. Но будет отдельный раздел "Ожидают модерации", где как раз и будут выводиться материалы со статусом 0, и их смогут просматривать все авторизованные пользователи.
Workflow + workflow_access помогут. Для таких случаев родные статусы друпала бестолковые.
Спасибо, но это исключается.