Guardando la query in /lib/lib.userselector.php:
Code: Select all
$qtxt = "SELECT idst,'group' as item_type,groupid as itemid, hidden FROM core_group
WHERE idst IN (" . implode(',', $array) . ")
UNION
SELECT idst,'user' as item_type,userid as itemid, 'false' as hidden FROM core_user
WHERE idst IN (" . implode(',', $array) . ")";
Faccio un esempio: in una tabella come learning_communication_access vengono potenzialmente immessi come "idst" sia id di gruppo (da core_group) sia id utente (da core_user) senza distinzione alcuna. Il selettore quindi fa l'unione ricercando gli idst in entrambe le tabelle, e continua a non distinguerle.
Voglio dire: se metto tra gli idst di learning_communication_access l'utente "pippo", che ha idst 10000, e dovesse esistere anche un gruppo con lo stesso idst (cosa possibile essendo due campi autoincrement per le rispettive tabelle) il selettore tirerà fuori sia l'utente sia il gruppo.
Ovviamente il discorso si esende anche ad eventuali nodi organigramma o ruoli funzionali...
E' davvero così? Sarebbe un grande limite...