Il modulo trust permette ad un utente di concedere ad un secondo utente la possibilità di modificare i suoi nodi, per semplificare il lavoro di gruppo nei casi in cui solo il proprietario di un nodo può aggiornarlo.
Questo "travaso" di permessi è effettuato dall'unica funzione del modulo:
function trust_get_trust ($user, $node) { $node_owner = user_load(array('uid' => $node->uid)); profile_load_profile($node_owner); $trusted_users = explode("\n", $node_owner->profile_trust); if (in_array($user->name, $trusted_users) || ($node_owner->name == $user->name)) { return TRUE; }//THEN else { return FALSE; }//ELSE }//TRUST_GET_TRUST
Per prima cosa viene caricato il profilo del proprietario del
nodo in questione, da cui viene estratto il campo
profile_trust
, che contiene una lista degli utenti
fidati (uno per riga). Se l'utente che sta cercando di manipolare
il nodo è tra questi, il controllo è superato,
altrimenti no.
È comunque importante notare che:
- gli utenti con permessi amministrativi (come
administer node
) possono modificare e cancellare qualunque nodo. - il modulo non permette di restringere la concessione dei permessi solo ad alcuni nodi.
- il modulo in sè definisce solo la funzione;
perchè il controllo venga effettivamente usato va
impostato a mano nella funzione
node_access
innode.module
.