Drupal 6 - 检索可以编辑节点 x 或只是获取节点 x 上用户 y 的权限的用户列表

发布于 2024-11-26 17:29:54 字数 289 浏览 1 评论 0原文

有人有什么想法吗?

我有点卡住了,试图让一个动作运行任意 php 以在最新版本发布时执行。我想做的是获取一个用户列表来通知更改,特别是有权编辑所述节点的用户。

现在,我已经让 $object 返回我的节点 id,所以我在那里一切都很好,并且我可以轻松获取用户列表,以便循环浏览它们并检查权限。困难之处在于权限检查本身。我尝试过的任何方法似乎都无法为用户 y 在节点 x 上提供“发布”或“更新”权限。

顺便说一句,我正在使用 nodeaccess 模块让个人用户访问特定节点,只是为了好玩。

Anyone got any ideas?

I'm a tad stuck, trying to make an action run arbitrary php to execute upon publication of the most recent revision. What I'm trying to do is get a list of users to notify about the change, specifically the users who have permission to edit said node.

Now I've got the $object returning my node id so I'm fine there, and I can get a list of users easy enough to cycle through them and check permissions. The hard bit is the permission check itself. Nothing I've tried seems to be able to provide permissions for 'publish' or 'update' on node x for user y.

I'm using the nodeaccess module to give individual users access to specific nodes btw, just for fun.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

好多鱼好多余 2024-12-03 17:29:54

如果其他人为此苦苦挣扎,这就是我所做的。

//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
   }
}

If anyone else struggles with this, this is what I did.

//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
   }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文