zhilevan - obrigado pelo bom código para me ajudar a resolver esse problema rapidamente. Eu tenho um site no qual existe um login genérico de "cliente" da função de usuário para que os clientes possam carregar e baixar arquivos. A conta do usuário será compartilhada entre potencialmente muitos clientes para um upload ou download "único" e não queremos que eles alterem o nome do usuário, a senha ou qualquer outro material dessa conta genérica. Tenho certeza de que existem maneiras mais elegantes de fazer isso, mas aqui está o meu código para "desligar a opção de edição" com base na função do usuário. (Tentei o módulo de proteção do usuário, mas não consegui fazê-lo funcionar). Aqui está o meu código, caso alguém ache útil.
function mymodule_form_alter(&$form,$form_state,$form_id) {
global $user;
if ($form_id == "user_profile_form") {
if(in_array('Client',$user->roles) && isset($form['account'])) {
$form['account']['name']['#disabled']=TRUE;
$form['account']['current_pass']['#disabled']=TRUE;
$form['account']['current_pass']['#description']='';
$form['account']['mail']['#disabled']=TRUE;
unset($form['picture']);
unset($form['overlay_control']);
}
}
}