Steuerung der eMail-Versandmöglichkeiten

Hast du Vorschläge, was wir an Admidio noch verbessern könnten ? Hier kannst du uns deine Vorstellung an neuen Funktionen mitteilen.
Antworten
joesch
Beiträge: 683
Registriert: 22. Mai 2006, 14:40
Kontaktdaten:

Steuerung der eMail-Versandmöglichkeiten

Beitrag von joesch »

Hallo zusammen!

Um die Übersichtlichkeit für die Mitglieder zu wahren, würde ich gern folgende Konfiguration vornehmen wollen:

- alle Mitglieder einer Rolle, die zur Kategorie "A" (Beispiel) gehören, können an alle Rollen des Systems eine eMail über das Kontaktformular senden

- alle Mitglieder, die nicht einer Rolle der Kategorie "A" angehören, sollen eMails nur an die Rollen senden können, bei denen die Option "Eingeloggte Benutzer können E-Mails an diese Rolle schreiben" gesetzt ist

Damit kann ich den Adressatenkreis etwas einengen und gebe z.B. dem Vorstand trotzdem die Flexibilität allen Rollenkonstellationen (auch denen, die von anderen keine Post bekommen sollen) eine eMail zu senden.

Hat jemand eine Idee, wie sich das eventuell schon jetzt realisieren ließe (ggf. vorerst auch durch temporäre, "festverdrahtete" Codeanpassung)? Für die Zukunft würde ich mir das als Feature wünschen.

Danke und VG - Jörg
joesch
Beiträge: 683
Registriert: 22. Mai 2006, 14:40
Kontaktdaten:

Beitrag von joesch »

Hallo zusammen!

Leider hänge ich mit meinen bescheidenen php-Kenntnissen gerade mal dabei fest, die festverdrahtete Lösung selbst zu testen. Kann mir jemand mit einem "Codeschnipsel" helfen, mit dem ich prüfen kann, ob der eingeloggte User Mitglied einer Rolle mit der KategorieID "0815" ist? Wäre vermutlich eine SQL-Abfrage (?) ...

Vielen Dank schon mal für eure Hilfe.

VG - Joesch
matzman2000
Former team member
Beiträge: 1087
Registriert: 2. Sep 2007, 17:12
Wohnort: Itzstedt
Kontaktdaten:

Beitrag von matzman2000 »

Hi Joesch,

schau dir mal die Datei ADMIDIO\adm_program\system\function.php an. Dort sind eine ganze Reihe von Funktionen vorhanden, die Du innerhalb von Admidio benutzen kannst. :wink:

Für Deinen Zweck bietet sich wohl hasRole("Rollenname", User-ID) an.

Eine einfache Abfrage könnte lauten:

Code: Alles auswählen

if(hasRole("Rollenname", User-ID)
{
    echo "Der Benutzer ist Mitglied der Rolle!";
}
Gruss,
Matze
joesch
Beiträge: 683
Registriert: 22. Mai 2006, 14:40
Kontaktdaten:

Beitrag von joesch »

Danke für den Tipp. Allerdings scheint meine SQL-Anpassung ins leere zu laufen. Ich bekomme stets nur false als Rückmeldung:

Code: Alles auswählen

$sql    = "SELECT COUNT(*)
                     FROM ". TBL_MEMBERS. ", ". TBL_ROLES. ", ". TBL_CATEGORIES. "
                    WHERE mem_usr_id = $user_id
                      AND mem_valid  = 1
                      AND mem_rol_id = rol_id
                      AND rol_valid  = 1 
                      AND rol_cat_id = cat_id
		      AND cat_id = 1 'steht für Kategorie 1, auf deren Zugehörigkeit ich prüfen will
                      AND cat_org_id = ". $g_current_organization->getValue("org_id");
        $result = $g_db->query($sql)
VG - Joesch
matzman2000
Former team member
Beiträge: 1087
Registriert: 2. Sep 2007, 17:12
Wohnort: Itzstedt
Kontaktdaten:

Beitrag von matzman2000 »

Hallo Joesch,

da hatte ich Dich falsch verstanden... :oops:
Deine SQL Abfrage ist eigentlich richtig, muss aber noch ausgewertet werden. So sieht eine einfache Auswertung dann aus:

Code: Alles auswählen

$rollen_categorie = 6;
$user_id = $g_current_user->getValue("usr_id");

$sql = "SELECT COUNT(*)
		FROM ". TBL_MEMBERS. ", ". TBL_ROLES. ", ". TBL_CATEGORIES. "
		WHERE mem_usr_id = $user_id
		AND mem_valid = 1
		AND mem_rol_id = rol_id
		AND rol_valid = 1
		AND rol_cat_id = cat_id
		AND cat_id = $rollen_categorie
		AND cat_org_id = ". $g_current_organization->getValue("org_id");
			
$result = $g_db->query($sql);
$row = $g_db->fetch_array($result);
$row_count = $row[0];

if($row_count > 0)
{
	echo "Hat Kategorie $rollen_categorie";
}
else
{
	echo "Hat NICHT Kategorie $rollen_categorie";
} 
Jetzt passt's hoffentlich. :wink:

Gruss,
Matze
joesch
Beiträge: 683
Registriert: 22. Mai 2006, 14:40
Kontaktdaten:

Beitrag von joesch »

matzman2000 hat geschrieben:Jetzt passt's hoffentlich. :wink:
Ja, bestens! Vielen Dank!

VG - Joesch
Antworten