Menü

Login

Aktuelle Version

Forum > Auto-bezahlt für eine bestimmte user-Gruppe *

DOTLAN Intranet / Portal >> Allgemeines > Auto-bezahlt für eine bestimmte user-Gruppe
Antwort erstellen
Autor Thema: Auto-bezahlt für eine bestimmte user-Gruppe
Funstar
31.03.2005 um 19:02 QuoteProfileSend PM
NEW

Clan: Freaknet
Postings: 124

Funstar
Ich habe in der Tabelle "user_groups" eine Gruppe mit der id "2", über die wohl der Zugriff auf unser internes Vereinsforum geregelt wird. Der Name ist passenderweise "Vereinsmitglieder". In der Tabelle "user_g2u" sind alle Vereinsmitglieder mit dieser Gruppe assoziiert.

Diese Vereinsmitglieder sollen nun automatisch auf "bezahlt" gesetzt werden, wenn sie sich zu einer LAN anmelden. Wir haben dazu in der Tabelle event_status:
10 Vereinsmitglied bezahlt 1

Gleichzeitig sollen alle als Vereinsmitglieder bezahlten User auf "nicht bezahlt" gesetzt werden, die nicht mehr in der Gruppe 2 sind:
1 nicht bezahlt angemeldet 0

Es sollen nun also alle User der Gruppe (user_g2u) "2" in der Tabelle event_teilnehmer auf bezahlt="1", bezahl_typ="10" und payday=joinevent gesetzt werden. Alle, die auf bezahl_typ=10" stehen und nicht mehr in der Gruppe "2" sind sollen wieder auf bezahlt="0", bezahl_typ="1" und payday="0" gesetzt werden.

Hat dafür jemand einen Lösungsvorschlag? Eventuell auch was sauberes? Für Events in der Vergangenheit muss ja nicht unbedingt was geändert werden.
__________________
https://www.freaknet.de/
 
Griffon
31.03.2005 um 19:12 QuoteProfileSend PM

NEW

Clan: dotlan.net
Postings: 1252

Code:
# www/party/index.php
# vorher
if($do == "bepart") $output = $EVENT_FRONTEND->handle_user("add_teilnehmer",$id,$pass);

#nachher
if($do == "bepart") {
$output = $EVENT_FRONTEND->handle_user("add_teilnehmer",$id,$pass);
$res = $DB->query("SELECT user_id FROM user_g2u WHERE group_id=2");
while(list($uid) = $DB->fetch_array($res))
$DB->query("UPDATE event_teilnehmer SET bezahlt=1, zahl_typ=10,
payday=UNIX_TIMESTAMP(NOW())
WHERE user_id=".intval($uid)." AND zahl_typ=1 AND event_id=".intval($id));
}


Bei jedem Anmelden werden alle Vereinsmitglieder auf bezahlt gesetzt die nicht einen anderen status als 0 (nicht bezahlt) tragen. Ich setzte keine Daten zurück, das musst du dann übers Admininterface machen, aber das kommt ja auch nicht alzuoft vor.

[Editiert von Griffon am 31.Mar.2005 um 20:01]
 
[ Antwort erstellen ]