User nach Anmeldung am System einer bestimmten Gruppe zuordnen

User nach Anmeldung am System einer bestimmten Gruppe zuordnen

von René Sodemann -
Anzahl Antworten: 5
Guten Tag,

im Moment stehe ich vor folgendem Problem:

Wenn an meinem Moodlesystem (1.9.9) sich ein neuer User anmelden will, muss er bei seinen Daten einen Kostenträger auswählen (per Drop-Down vorgegeben). Besteht nun die Möglichkeit anhand dieses Feldes den User automatisch einer Gruppe zuzuordnen (also z.B.: wählt er als Kostenträger "privat", dass er im Moodlesystem in die Gruppe "Privat" eingeordnet wird).

Als zweiten Lösungsansatz habe ich an einen spezifischen E-Mail-Versand gedacht. Ist es denn möglich, erneut anhand dieses Feldes eine spezielle E-Mail zu versenden? Also ein privater Nutzer erhält einen anderen E-Mail-Text als ein Nutzer, welcher aus einer Firma stammt.


Mit freundlichen Grüßen

René Sodemann
Mittelwert:  -
Als Antwort auf René Sodemann

Re: User nach Anmeldung am System einer bestimmten Gruppe zuordnen

von Ralf Hilgenstock -
Nutzerbild von Besonders aktive Moodler Nutzerbild von Deutsche Moodle Übersetzer Nutzerbild von Entwickler Nutzerbild von Moodle Partner Nutzerbild von Translators
Zu1.
In Moodle 1.9. gibt es Gruppen nur in Kursen. Daher kann man das nicht so machen. Bei kennwortgestützten Kuzrszuordnungn ist das anders. wenn es im Kurs kennwortgeschützte Gruppen gibt, kann man mit einem separaten Kennwort die Eintragung in eine Gruppe veranlassen. Dazu wird jede Grupep Kennwortgeschützt, der Kurs wird ebenfalls mit Kennwort geschützt. Der Nutzer erhält dann nur sein Gruppenkennwort zur Einschreibung.

Zu2. Das müsste separat hinterlegt werden.
Die Änderung ist eher klein. Im Prinzip muss nur eine Feldabfrage und ein neuer Text integriert werden.

Ralf Hilgenstock
Als Antwort auf Ralf Hilgenstock

Re: User nach Anmeldung am System einer bestimmten Gruppe zuordnen

von René Sodemann -
Und wie würde dann für 2. eine solche Feldabfrage aussehen (Tut mir leid für eine solche Frage, aber ich komme eher aus der Ecke C++/C#)? Und an welcher stelle wird dann der E-Mail-Text hinterlegt? Etwa an der selben stelle wie jetzt der originale Text liegt? (Ich glaube im Menüpunkt Sprache war das).

Als Antwort auf René Sodemann

Re: User nach Anmeldung am System einer bestimmten Gruppe zuordnen

von René Sodemann -
So, ich habe mich jetzt erstmal selbst ein wenig durchgekämpft.
Ich bin zwar noch lange nicht am Ziel, aber schon etwas näher.

Meine jetzige Idee ist es, in der moodlelib.php bei der Funktion "function send_confirmation_email($user)" den Inhalt von $messagehtml entsprechend des Wertes im Feld "Kostenträger" zu verändern (am besten wohl über eine switch-case-Anweisung).
Jedoch stellt sich mir jetzt die Frage, wie kann ich den Inhalt dieses Feldes auslesen. Es wird ja $user übergeben. Wenn ich mich nicht gänzlich irre, müsste in diesem ja auch der Wert des Kostenträgers stehen. Falls das stimmt, würde ich jetzt gerne Wissen, wie ich Zugriff auf dieses Feld erhalte und es auslesen kann (also in PHP-Code)

Mit freundlichen Grüßen
René Sodemann
Als Antwort auf René Sodemann

Re: User nach Anmeldung am System einer bestimmten Gruppe zuordnen

von Ralf Hilgenstock -
Nutzerbild von Besonders aktive Moodler Nutzerbild von Deutsche Moodle Übersetzer Nutzerbild von Entwickler Nutzerbild von Moodle Partner Nutzerbild von Translators
Da ich kein Entwickler bin, kann ich persönlich an der Stelle nicht weiter helfen.

Der zweite Text kommt in die Sprachdatei als neuer String. Es dürfte die Datei moodle.php sein. Dazu ist zunächst in der englischsprachigen Datei ein entsprechender String einzufügen. Besser wäre auch hier entweder einen locale-Eeintrag zu machen oder eine gänzliche neue Datei zu verwenden, damit Updatesicherheit besteht.
Als Antwort auf Ralf Hilgenstock

Re: User nach Anmeldung am System einer bestimmten Gruppe zuordnen

von René Sodemann -
So, das mit der Sprachdatei konnte ich nun dank der Hilfe umsetzen.

Es fehlt jetzt also wirklich nur noch der Zugriff auf den Wert des Kostenträgers in PHP-Code. Den Rest kann ich (hoffentlich) mit meinen eigenen Programmierkenntnissen bewältigen.

Aber noch eine andere Frage: Als ich für die Anmeldung das Feld "Kostenträger" erstellte, musste ich einen eindeutigen Kurznamen für das Feld vergeben. Was hat es mit diesem Feld aufsich? Könnte das die Bezeichnung für das Feld sein, dass ich benötige, um im Code den Wert auslesen zu können? Ich habe es zwar jetzt schon ohne Erfolg probiert, aber ich weiß nicht, ob es einfach nur an meinen mangelnden PHP-Kenntnissen liegt, oder ob es ein Denkfehler war.

Ich hoffe es liest hier noch jemand mit, der mich bei meinem Problem unterstützen kann. Ich werde natürlich auch selbst noch nach der Lösung suchen, aber ich bin für jede Hilfe dankbar.

Mit freundlichen Grüßen
René Sodemann