FrontendUser Plugin (direkt einer Gruppe zuordnen)

Gesperrt
_wiewo_
Beiträge: 358
Registriert: Mo 8. Sep 2008, 11:12

FrontendUser Plugin (direkt einer Gruppe zuordnen)

Beitrag von _wiewo_ »

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

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;
	}
}
?>
matt.loker
Beiträge: 203
Registriert: Mo 7. Mai 2007, 09:05
Kontaktdaten:

Re: FrontendUser Plugin (direkt einer Gruppe zuordnen)

Beitrag von matt.loker »

Geht das auch für die BackEnd-User?
Hab das Problem, nur habe ich zig Backend-User anstatt Frontend-User. Dieses Plugin fürs Backend würde eine Menge Arbeit sparen!

Grüße
matt
Zuletzt geändert von matt.loker am Di 23. Mär 2010, 12:23, insgesamt 1-mal geändert.
_wiewo_
Beiträge: 358
Registriert: Mo 8. Sep 2008, 11:12

Re: FrontendUser Plugin (direkt einer Gruppe zuordnen)

Beitrag von _wiewo_ »

habe mir das backend system noch nie angeguckt, kann da gerne mal einen blick drauf werfen
matt.loker
Beiträge: 203
Registriert: Mo 7. Mai 2007, 09:05
Kontaktdaten:

Re: FrontendUser Plugin (direkt einer Gruppe zuordnen)

Beitrag von matt.loker »

Das wär echt stark Danke! :)
Gesperrt