Hallo,
gleich vorweg, ich bin noch recht neu in Typo3 und muss zugeben, dass ich mich schwer tue generelle Ressourcen (wie das PHP-Manual) für Typo3 zu finden.
In meiner Extension, sollen bestimmte Funktionen nur bestimmten Nutzergruppen zugänglich sein. Selbige werden im Flexform angegeben. In PHP muss ich nun die Gruppenzugehörigkeit des FE-Users überprüfen. Sicherlich kann ich die beiden Arrays aus dem Flexform und der $GLOBALS['TSFE']->fe_user vergleichen, aber dafür gibt es doch bestimmt auch eine Typo3 funktion für, oder?
Etwas in der Form userInGroup () ...?
Vielen Dank für die Hilfe,
Jan
Ich schreibe eine
t3lib_div::inList($list, $item) ist das was Du suchst.
Hallo,
vielen Dank für die Antwort.
Die Funktion spart mir das PHP-Konstrukt
in_array ($item, split(',', $list))
.
Ich hatte aber gehofft, dass es noch eine andere Funktion gibt, da ja eine Nutzer oft in mehreren Gruppen ist, müsste ich mit o.g. Funktion jeden Wert aus $GLOBALS['TSFE']->fe_user->groupData['uid'] gegen die erlaubten Gruppen testen.
Das ist natürlich kein Problem und man kann das auch schön in einer Funktion kapseln. Aber wie gesagt, hatte ich gehofft, dass eine Core-Funktion mir diese Arbeit abnimmt.
Grüße,
Jan
Hallo,
habe das jetyt erstmal so gelöst:
function inGroup ($groups)
{
$user = $GLOBALS['TSFE']->fe_user->user[uid];
if (is_string ($groups)) {
$groups = split(',', $groups);
}
foreach ($GLOBALS['TSFE']->fe_user->groupData['uid'] as $group)
{
if (in_array ($group, $groups)) {
return true;
}
}
return false;
}
Würde mich aber freuen, wenn jemand eine solceh Funktion aus Typo3 kennt (wenn es denn eine solche gibt).
Grüße,
Jan