我正在尝试修改devel generate模块,以防止没有权限生成此内容类型的用户生成内容。
问题是我是drupal的新手,所以我不熟悉它的钩子。有人能给我一些如何处理这个问题的提示吗?
http://ftp.drupal.org/files/projects/devel-6.x-1.20.tar.gz
发布于 2010-07-31 19:33:10
看见
function devel_generate_content_add_node(&$results) {有一个包含“错误用户”的$users = $results['users'];。您可以删除那里的用户,或者确保他们一开始就没有被添加。
这发生在
function devel_get_users() {
$users = array();
$result = db_query_range("SELECT uid FROM {users}", 0, 50);
while($user = db_fetch_object($result)){
$users[] = $user->uid;
}
return $users;
}您需要修改该方法,使其仅返回具有特定权限的用户。您可以使用node access在while循环中省略不正确的用户。
但是,此devel_get_users例程也用于其他用途,因此您可能希望在新方法devel_get_permissioned_users($perm)中或通过引入可选参数来实现所有这些功能。
发布于 2010-07-31 13:59:54
我认为你正在尝试做的事情和Devel generate的工作原理之间存在一些脱节。要使用Devel generate,需要administer nodes权限:这意味着可以使用Devel generate的任何人都可以管理所有内容类型。
如果您试图让Devel generate在没有administer nodes权限的情况下工作,请不要这样做,它是一个创建伪数据的开发模块:它永远不应该以非特权用户的身份运行。
你想要达到什么目的?
https://stackoverflow.com/questions/3376924
复制相似问题