Попытался разобраться с установкой прав доступа к нодам и ничего не получилось Хотелось бы понять в чем моя ошибка.
Есть мультисайтинг с общим контентом, есть типы материалов "страница" и "новости", в каждом из них есть поле ССК в котором хранится базовый урл сайта на котором он был создан. Нужно сделать так, чтобы "страницы" были доступны для просмотра только на том сайте, где были созданы, а "новости" можно было бы видеть везде, а редактировать и удалять только на родительском сайте (исключение для автора, если уж видит свой материал, то может с ним все делать).
Изучив этот пример http://api.drupal.ru/api/file/developer/examples/node_access_example.mod...
написал свой код (взяв за основу код примера)
<?php
function mymodule_node_access_records($node) {
if ($node->type == 'page'||$node->type == 'news') { //если тип материала не страница или новость, то уходим отсюда.
global $base_url ;
$grants = array();
if ($node->field_site[0][value] <> $base_url ) { // если другой сайт
if ($node->type == 'page' ) { // если страница то запрет просмотра.
$grants[] = array(
'realm' => 'test',
'gid' => TRUE,
'grant_view' => FALSE,
'grant_update' => FALSE,
'grant_delete' => FALSE,
'priority' => 0,
);
}ELSE{ // если не страница, то запрет редактирования и удаления.
$grants[] = array(
'realm' => 'test',
'gid' => TRUE,
'grant_view' => TRUE,?>