Drupal:通过权限限制文件上传

Drupal:通过权限限制文件上传

问题描述:

在我的Drupal 7网站上,我正在寻找一种方法,只允许具有特定角色的用户上传PDF文件。但是,所有用户都可以上传其他文件类型(例如jpg,mp4)。Drupal:通过权限限制文件上传

是否有一个模块或一些可用的代码可以为我完成该工具?

你不需要一个模块。 你可以写一个hook_form_alter并执行以下操作

1. add help-text based on role. 
if role = 1 
#form['field_name']['#description'] = t('Help test 1') 
elseif role = 2 
#form['field_name']['#description'] = t('Help test 2') 
  1. 添加自定义的验证检查基于角色的文件扩展名。

    $ form ['#validate'] [] ='validate_function'; 功能validate_function 如果角色= 1种 验证文件类型1 ELSEIF角色= 2 验证文件类型2

  2. 喝彩!

开始=“2”>
+0

你可以阐述你的答案 –

您可以使用hook_form_alter来实现此目的。

负荷用户对象

global $user; 
$valid_role = 'yourGivenRole'; 

if(in_array($valid, $user->roles)){ 
    $form['field_name']['und'][0]['#upload_validators']['file_validate_extensions'][0] = 'pdf'; 
}