Sono un passo avanti.
Per quanto riguarda
Se vado a gestione utenti nel backend (http://.../administrator/index.php?option=com_users per intenderci) al posto della classica visualizzazione compare questo errore:
DB function failed with error number 1054
Unknown column 'aro.aro_id' in 'on clause' SQL=SELECT a.*, g.name AS groupname FROM jos_users AS a INNER JOIN jos_core_acl_aro AS aro ON aro.value = a.id INNER JOIN jos_core_acl_groups_aro_map AS gm ON gm.aro_id = aro.aro_id INNER JOIN jos_core_acl_aro_groups AS g ON g.group_id = gm.group_id GROUP BY a.id LIMIT 0, 20
Ho trovato nel file admin.users.php in /administrator/components/com_users questa riga di codice:
$query = "SELECT a.*, g.name AS groupname"
. "\n FROM #__users AS a"
. "\n INNER JOIN #__core_acl_aro AS aro ON aro.value = a.id" // map user to aro
. "\n INNER JOIN #__core_acl_groups_aro_map AS gm ON gm.aro_id = aro.aro_id" // map aro to group
. "\n INNER JOIN #__core_acl_aro_groups AS g ON g.group_id = gm.group_id";
Che è praticamente uguale a quella citata nella schermata, manca solo il "GROUP BY a.id LIMIT 0, 20".
Per fare questo "passo" ho preso spunto da
questo link dove c'è un errore simile (stessa tipologia ma query diversa).
Praticamente devo cambiare questa fantomatica riga perchè non corrispondono le colonne del database, infatti sempre il famoso link dice di cambiare così (nel caso di quella query):
old: . "\n FROM , #__content AS c, #__categories AS cc, #__sections AS s"
new: . "\n FROM #__categories AS cc, #__sections AS s, #__content AS c "
Quindi io devo fare, dopo un bel backup, queste due cose (credo):
1) trovare in quale file è presente effettivamente quel pezzo di codice (o meglio controllare se è quello indicato);
2) modificare il pezzo di codice cambiando le "corrispondenze" (dopo aver capito quali sono le vere corrispondenze).
Sembra sia un problema dei server che usano MYSql 5.
Edit(1)Tra le varie soluzioni avevo provato a sostituire aro_id con id (come indicato
qui) anche perchè effettivamente non ho nel database quella colonna ma il problema non è questo, infatti
DB function failed with error number 1054
Unknown column 'gm.id' in 'on clause' SQL=SELECT a.*, g.name AS groupname FROM jos_users AS a INNER JOIN jos_core_acl_aro AS aro ON aro.value = a.id INNER JOIN jos_core_acl_groups_aro_map AS gm ON gm.id = aro.id INNER JOIN jos_core_acl_aro_groups AS g ON g.group_id = gm.group_id GROUP BY a.id LIMIT 0, 20
Io l'ho modificato solo nel file admin.users.php e non in altri.
Edit(2)VITTORIACi sono riuscita!
Ecco il mio ragionamento:
$query = "SELECT a.*, g.name AS groupname"
. "\n FROM #__users AS a"
. "\n INNER JOIN #__core_acl_aro AS aro ON aro.value = a.id" // map user to aro
. "\n INNER JOIN #__core_acl_groups_aro_map AS gm ON gm.aro_id = aro.aro_id" // map aro to group
. "\n INNER JOIN #__core_acl_aro_groups AS g ON g.group_id = gm.group_id";
Colonne interessanti per la queryusers: id, gid.
core_acl_aro: id, value
core_acl_groups_aro_map: group_id, aro_id
core_acl_aro_groups: id, value
Nomi usati nella querya è la tabella users
aro è la tabella core_acl_aro
gm è la tabella core_acl_groups_aro_map
g è la tabella core_acl_aro_groups
Quindi (sostituendo il nome per facilitarmi)core_acl_aro.value=users.id
(ok)core_acl_groups_aro_map.aro_id=core_acl_aro.aro_id
(non ho aro_id in core_acl_aro ma id)core_acl_aro_groups.group_id=core_acl_groups_aro_map.group_id
(non ho group_id in core_acl_aro_groups ma id)Quindi ho tolto aro_id nella seconda sostituendolo con id e ho tolto group_id sostituendolo con id nella terza, in questo modo.
$query = "SELECT a.*, g.name AS groupname"
. "\n FROM #__users AS a"
. "\n INNER JOIN #__core_acl_aro AS aro ON aro.value = a.id" // map user to aro
. "\n INNER JOIN #__core_acl_groups_aro_map AS gm ON gm.aro_id = aro.id" // map aro to group
. "\n INNER JOIN #__core_acl_aro_groups AS g ON g.id = gm.group_id";
Unico problema rimasto è che nella pagina http://.../administrator/index.php?option=com_users (gestione utenti per intenderci) in "Ultima visita" viene "_CURRENT_SERVER_TIME_FORMAT", ma è una cosa minima.
RISOLTO!!!