FrontendUser Plugin (direkt einer Gruppe zuordnen)
Verfasst: Mo 1. Mär 2010, 16:04
Hallo Community,
habe heute mal was für euch was einem ganz schön Arbeit ersparen kann.
Szenario:
Ihr habt ne Liste von so 100 Leutchen welche in Conti rein müssen,
und die müssen alle irgendwelchen Gruppen zugeordnet werden.
Alleine das Leute reintippen ist ja schon ne schweine Arbeit, aber dann einzeln alle den Gruppen zuweisen, auch nicht schön.
Das Leute eintragen kann ich euch natürlich nicht abnehmen, aber das mit den Gruppen zuweisen.
Unzwar habe ich ein Plugin geschrieben welches euch direkt beim Frontenduser anlegen alle Gruppen mit Checkboxen auflistet.
So kann man gleich beim anlegen der Person die Gruppen festlegen, das spart eine Menge Arbeit.
anbei der benötigte Code
contenido/plugins/frontendusers/gruppenzugehoerigkeit/gruppenzugehoerigkeit.php
habe heute mal was für euch was einem ganz schön Arbeit ersparen kann.
Szenario:
Ihr habt ne Liste von so 100 Leutchen welche in Conti rein müssen,
und die müssen alle irgendwelchen Gruppen zugeordnet werden.
Alleine das Leute reintippen ist ja schon ne schweine Arbeit, aber dann einzeln alle den Gruppen zuweisen, auch nicht schön.
Das Leute eintragen kann ich euch natürlich nicht abnehmen, aber das mit den Gruppen zuweisen.
Unzwar habe ich ein Plugin geschrieben welches euch direkt beim Frontenduser anlegen alle Gruppen mit Checkboxen auflistet.
So kann man gleich beim anlegen der Person die Gruppen festlegen, das spart eine Menge Arbeit.
anbei der benötigte Code
contenido/plugins/frontendusers/gruppenzugehoerigkeit/gruppenzugehoerigkeit.php
Code: Alles auswählen
<?php
function frontendusers_gruppenzugehoerigkeit_getTitle()
{
return i18n('Gruppenzugehörigkeit', 'frontendusers_gruppenzugehoerigkeit');
}
function frontendusers_gruppenzugehoerigkeit_display()
{
global $feuser;
$oFrontendGroupCollection = new FrontendGroupCollection();
$oFrontendGroupCollection->query();
$sGruppenzugehoerigkeit = '';
while ($oFrontendGroup = $oFrontendGroupCollection->next())
{
$iFrontendGroup = $oFrontendGroup->getField('idfrontendgroup');
$sGroupName = $oFrontendGroup->getField('groupname');
$bChecked = frontendusers_gruppenzugehoerigkeit_getvalue($iFrontendGroup);
$oGruppenzugehoerigkeit = new cHTMLCheckbox('gruppenzugehoerigkeit[]', $iFrontendGroup, 'gruppenzugehoerigkeit_' . $iFrontendGroup, $bChecked);
$oGruppenzugehoerigkeit->setLabelText($sGroupName);
$sGruppenzugehoerigkeit .= $oGruppenzugehoerigkeit->render();
}
return $sGruppenzugehoerigkeit;
}
function frontendusers_gruppenzugehoerigkeit_wantedVariables()
{
return (array('gruppenzugehoerigkeit'));
}
function frontendusers_gruppenzugehoerigkeit_canonicalVariables()
{
return array('gruppenzugehoerigkeit' => i18n('Gruppenzugehörigkeit', 'frontendusers_gruppenzugehoerigkeit'));
}
function frontendusers_gruppenzugehoerigkeit_getvalue($idfrontendgroup)
{
global $feuser;
$oFrontendGroupMemberCollection = new FrontendGroupMemberCollection();
$iFrontendsUserID = $feuser->getField('idfrontenduser');
$aUsersInGroup = $oFrontendGroupMemberCollection->getUsersInGroup($idfrontendgroup, false);
$bInGroup = (in_array($iFrontendsUserID, $aUsersInGroup) ? true : false);
return $bInGroup;
}
function frontendusers_gruppenzugehoerigkeit_store($aVariables)
{
global $feuser;
if (!array_key_exists('gruppenzugehoerigkeit', $aVariables))
{
return false;
}
else
{
global $feuser;
$oFrontendGroupCollection = new FrontendGroupCollection();
$oFrontendGroupCollection->query();
$aFrontendGroups = '';
while ($oFrontendGroup = $oFrontendGroupCollection->next())
{
$aFrontendGroups[] = $oFrontendGroup->getField('idfrontendgroup');
}
$iFrontendsUserID = $feuser->getField('idfrontenduser');
$oFrontendGroupMemberCollection = new FrontendGroupMemberCollection();
foreach ($aFrontendGroups as $iFrontendGroup)
{
if (in_array($iFrontendGroup, $_POST['gruppenzugehoerigkeit']))
{
$oFrontendGroupMemberCollection->create($iFrontendGroup, $iFrontendsUserID);
}
else
{
$oFrontendGroupMemberCollection->remove($iFrontendGroup, $iFrontendsUserID);
}
}
return true;
}
}
?>