Drupal 6 - получить список пользователей, которые могут редактировать узел x или просто получить разрешения для пользователя y на узле x - PullRequest
0 голосов
/ 27 июля 2011

У кого-нибудь есть идеи?

Я немного застрял, пытаясь заставить действие запустить произвольный php для выполнения после публикации последней ревизии.То, что я пытаюсь сделать, - это получить список пользователей для уведомления об изменениях, в частности, пользователей, которые имеют разрешение на редактирование указанного узла.

Теперь у меня есть $object, возвращающий мой идентификатор узла, так что я в порядке, и я могу получить список пользователей достаточно легко, чтобы просмотреть их и проверить разрешения.Трудным моментом является сама проверка разрешения.Ничто из того, что я пробовал, похоже, не может предоставить разрешения для «публикации» или «обновления» на узле x для пользователя y.

Я использую модуль nodeaccess, чтобы предоставить отдельным пользователям доступ к определенным узлам, кстати, просто для удовольствия.

1 Ответ

0 голосов
/ 02 августа 2011

Если кто-то еще борется с этим, я так и сделал.

//whichever nid goes in here, I put in a number to make this easy to read and understand.
$node_obj=node_load(598);
//$result_object contains the 'users' table with uid
while ($result_object=db_fetch_object($result))
{

   $this_user=$result_object->uid;
   $this_user_object=user_load($this_user);
   $access=node_access('update', $node_obj, $this_user_object);
   if ($access==1)
   {
     //mail the user or do whatever
   }
}
...