Besteht die Möglichkeit, dass man pro Element erlaubte Mitgliedergruppen auswählen kann?
Also im Backend bei der Anlage oder Bearbeitung eines Eintrags.
Also im Backend bei der Anlage oder Bearbeitung eines Eintrags.
<?php
use Contao\System;
use Contao\FrontendUser;
use Contao\StringUtil;
$objMember = FrontendUser::getInstance();
$hasFrontendUser = System::getContainer()->get('contao.security.token_checker')->hasFrontendUser();
// nicht angemeldet
if( !$hasFrontendUser )
{
echo '<p>Bitte anmelden</p>';
}
// mitgliedergruppen des angemeldeten mitglieds
$arrMemberGroups = StringUtil::deserialize( $objMember->groups );
// proctetion attribute
$intProtectedMember = $this->field('mitglied')->value();
$arrProtectedGroups = StringUtil::deserialize( $this->field('mitgliedergruppe')->value() );
// falsches mitglied
if( $hasFrontendUser && $intMember > 0 && $intProtectedMember != $objMember->id )
{
echo '<p>Das ist nicht dein Eintrag!</p>';
}
// falsche mitgliedergruppe
if( $hasFrontendUser && !empty($arrMemberGroups) && !empty($arrProtectedGroups) && empty( array_intersect($arrMemberGroups, $arrProtectedGroups) ) )
{
echo '<p>Du bist in der falschen Gruppe!</p>';
}
?>

Kommentar