Seite 1 von 1

Gruppe auf Zeit

Verfasst: 15.06.2011 17:17
von Eisvogel
Hallo

Gibt es einen Möglichkeit Benutzer auf Zeit in eine Gruppe auf zu nehmen? Also ich füge den Benutzer der Gruppe hinzu und gebe gleichzeitg entweder eine Laufzeit ein (z.B.: 30 Tage) oder direkt ein End-Datum. Nach Ablauf der Zeit oder Überschreiten des End-Datums wird der Benutzer wieder aus der Gruppe entfernt. So in etwa hatte ich mir das vorgestellt.
Ich benötige das ganze, da ich Programme mit zeitlich begrenzten Lizenzen verkaufe. Es gibt neben dem Forum eine andere Plattform mit Benutzer-Login, auf der die Benutzer ihren aktuellen Stand abrufen können und die Programm runterladen können. Jedes Mal wenn ein Benutzer wieder ein Lizenz auf Zeit kauft, würde ich ihn gleichzeitig gerne im meinem Forum in eine Gruppe stecken, damit er Zugriff auf Speizelle Foren hat solange er eine gültige Lizenz hat. Nach Ablauf der Lizenz soll ihm dieser Zugriff wieder verweigert werden. Das muss nicht perfekt syncron mit meinem eigenen System geschaltet werden, es reicht wenn ich beim Kauf einer Lizenz die Zeit angeben kann.

Ich hoffe mein Anliegen ist klar und freue mich über jede Antwort.
Wenn ein solches MOD bereits vorhanden ist, wie schwer ist es das selbst zu realisieren? Und vor allen Dingen, wie geht das? :wink:

MfG
Der Eisvogel

Re: Gruppe auf Zeit

Verfasst: 16.06.2011 12:44
von AmigaLink
... wie schwer ist es das selbst zu realisieren? Und vor allen Dingen, wie geht das?
Du könntest dir Auto Groups mal ansehen. Grundsätzlich ist diese MOD zwar für deine Zwecke nicht brauchbar, aber der Quellcode ist ziehmlich gut Dokumentiert und könnte dir bei der Umsetzung deines Vorhabens recht nützlich sein.

Re: Gruppe auf Zeit

Verfasst: 16.06.2011 12:46
von Eisvogel
Ich hab mir das ganze jetzt mal selbst zusammen geschrieben. Wer will kann sich jetzt auch daran erfreuen: Klick

Bevor ihr irgendwelche Dateien verändert, müsst ihr den Installer ausführeren, sonst gibt es einen SQL-Fehler.
Ihr könnt entweder alle Dateien gemäß der Anleitung selbst bearbeiten, oder wenn ihr noch keine MODs installiert habt die mitgelieferten hochladen.

Die Bedienung erfolgt dann über das ACP. Wenn ihr über das ACP Mitglieder zu einer Gruppe hinzufügt, könnt ihr zusätzlich einen Zeitraum (in Tagen) angeben, nachdem der Benutzer wieder aus der Gruppe entfernt werden soll.

Viel Spaß!

MfG
Der Eisvogel

Re: Gruppe auf Zeit

Verfasst: 19.06.2011 14:27
von AmigaLink
Sehr schön und durchaus recht nützlich (z.B. um einem User kurzzeitig irgend eine Berechtigung zu erteilen). 8)
Was mir aber etwas bitter auf stößt, ist das Pruning bei jedem Seitenaufruf. :roll: Besser wäre es, wenn es nur beim Start einer neuen Session durchgeführt wird.

Code: Alles auswählen

#
#-----[ OPEN ]----------------------------------------------------------------
#

includes/session.php
#
#-----[ FIND ]----------------------------------------------------------------
#

		if ($this->data['user_id'] != ANONYMOUS && !$bot)
		{
#
#-----[ AFTER, ADD ]----------------------------------------------------------
#

			//Group Timer
			$sql = 'DELETE FROM ' . USER_GROUP_TABLE . '
				WHERE group_time <> 0 AND
					group_start + group_time * 60 * 60 * 24 < ' . time();
	
			$db->sql_query($sql); 
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------------
#
# EoM
Noch besser wäre es, wenn es nur einmal am Tag gemacht würde. :wink:

Re: Gruppe auf Zeit

Verfasst: 20.06.2011 14:38
von Eisvogel
Auch ne Möglichkeit, jedoch wollte ich, dass es mit sofortiger Wirkung arbeitet und nicht erst, wenn der Benutzer eine neue Session zugewiesen wird.

Re: Gruppe auf Zeit

Verfasst: 20.06.2011 16:51
von AmigaLink
Na ja, man hat ja nicht nur einen User. Somit wage ich mal zu behaupten das es immer noch oft genug ausgeführt wird. ;)

Ich gehe auch immer von einer meiner Seiten aus, die ca. 3-6 mal im Jahr so stark Frequentiert ist, das der Server ganz schön ins Schwitzen kommt. In solchen Momenten kann ein unnötiges Query dazu führen das der Server abkackt. :cry:

Re: Gruppe auf Zeit

Verfasst: 20.06.2011 18:18
von Eisvogel
Das ist dann natürlich unterschiedlich bei mehr frequentierten Foren als bei weniger aktiven.

Re: Gruppe auf Zeit

Verfasst: 21.06.2011 00:12
von AmigaLink
Jo :)