Joomla.it Forum

Non solo Joomla... => Sviluppo => : 56francesco 02 Apr 2011, 12:49:33

: Joomla 1.6 recuperare il livello di accesso
: 56francesco 02 Apr 2011, 12:49:33
sto utilizzando questo pezzetto di codice php in una posizione user per differenziare il nome posizione in base al loggato si/no
:
<?php
$user 
= &JFactory::getUser();
$userId $user->get('id');
if (
$userId == 0) :
?>

<jdoc:include type="modules" name="nonloggati" style="xhtml" />
 <?php else : ?>
<jdoc:include type="modules" name="loggati" style="xhtml" />

<?php endif; ?>
il codice era per la 1.5 ma funziona anche nella 1.6

ora con joomla 1.6  vorrei differenziare il nome modulo in base a 4 diversi livelli di accesso
come  scrivere questa modifica?
: Re:Joomla 1.6 recuperare il livello di accesso
: webbati 04 Apr 2011, 15:37:28
Se non ho capito male ed intendi se appartiene ad un determinato gruppo si potrebbe fare così:

:
<?php

....
....
$user = &JFactory::getUser();
$idGruppo1 '10';
$idGruppo2 '11';
$idGruppo3 '12';
$idGruppo4 '13';

// Recupero i gruppi dei quali l'utente è membro.
// Questo metodo restituisce un array.

$groups JAccess::getGroupsByUser($user->id); // aggiungere " , false" per escludere i gruppi ereditati se non impostato di default e true

if ( in_array($idGruppo1 $groups)) {
?>

<jdoc:include type="modules" name="moduloXgruppo1" style="xhtml" />

<?php
}

if ( 
in_array($idGruppo2 $groups)) {
?>

<jdoc:include type="modules" name="moduloXgruppo2" style="xhtml" />


<?php
}

if ( 
in_array($idGruppo3 $groups)) {
?>

<jdoc:include type="modules" name="moduloXgruppo3" style="xhtml" />


<?php
}

if ( 
in_array($idGruppo4 $groups)) {
?>

<jdoc:include type="modules" name="moduloXgruppo4" style="xhtml" />


<?php
}


.....
...

?>


se invece intendi propio i livelli di accesso dell'utente si possono recuperare con:

:

$user->getAuthorisedViewLevels();

che restituisce sempre un array ma dei livelli di accesso autorizzati per l'utente
: Re:Joomla 1.6 recuperare il livello di accesso
: 56francesco 05 Apr 2011, 10:37:44
intanto grazie per la risposta,   poi faccio delle prove e appena finito posto la soluzione sperando sia utile ad altri.
 
: Re:Joomla 1.6 recuperare il livello di accesso
: webbati 05 Apr 2011, 14:53:50
Di niente, certo questo è solo un'esempio un pò generico, perchè nel caso l'utente appartenesse a più gruppi vedrebbe i moduli di tutti i gruppi a cui appartiene, bisognerebbe parametrizzare maggiormente ma questo direi che è da studiare ed applicare caso per caso.

ciao
: Re:Joomla 1.6 recuperare il livello di accesso
: federcla 17 Jan 2013, 16:05:42
e se invece volessi recuperare tutti gli utenti che fanno parte di un gruppo come faccio?


: Re:Joomla 1.6 recuperare il livello di accesso
: mau_develop 17 Jan 2013, 16:25:44
http://docs.joomla.org/JFactory/getUser
: Re:Joomla 1.6 recuperare il livello di accesso
: federcla 17 Jan 2013, 16:39:11
Si questo lo conosco, ma recupero solo username, name e id

a me servirebbe sapere quali id fanno parte di un gruppo
: Re:Joomla 1.6 recuperare il livello di accesso
: mau_develop 17 Jan 2013, 16:51:18
http://docs.joomla.org/JUser/1.6 ->getAuthorisedGroups