Geburtstagsliste

Hast du Probleme oder Fragen bei der Einrichtung bestimmter Plugins ? Diese kannst du hier loswerden.
Antworten
oliver
Beiträge: 239
Registriert: 25. Nov 2014, 19:47

Geburtstagsliste

Beitrag von oliver »

Hallo rmb,

in der Geburtstagsliste ist beim Selektieren der Rollen (sowohl bei der Pluginfreigabe als auch bei der Konfiguration) der SQL falsch. Mach Dir nichts draus: dieser Fehler zieht sich durch das gesamte Admidio-System, bei allen Entwicklern :roll:

Der SQL ab Zeile 298 in preferences.php (Reiter Konfiguration) und der ab 374 (Reiter Freigabe) müssten meiner Meinung nach beide heißen:

Code: Alles auswählen

                        $sql = 'SELECT rol.rol_id, rol.rol_name, cat.cat_name
                                FROM '.TBL_CATEGORIES.' as cat, '.TBL_ROLES.' as rol, '.TBL_MEMBERS.' as mem
                                WHERE cat.cat_id = rol.rol_cat_id
                                AND mem.mem_rol_id = rol.rol_id

                                /* Nicht für Termin-Teilnehmer */
                                AND cat.cat_name_intern <> \'CONFIRMATION_OF_PARTICIPATION\'

                                /* Nur Rollen, die auch aktiver Mitglieder haben */
                                AND (  mem.mem_begin <= \''.DATE_NOW.'\'
                                AND mem.mem_end   >= \''.DATE_NOW.'\')

                                /* Nur Rollen, der aktuellen Organisation */
                                AND (  cat.cat_org_id = '.$gCurrentOrganization->getValue('org_id').'
                                OR cat.cat_org_id IS NULL )

                                /* Gruppieren und sortieren */
                                GROUP BY cat.cat_name, rol.rol_name
                                ORDER BY cat.cat_name, rol.rol_name
                                ';
Ob man bei der Kategorieauswahl so weit gehen muss, dass nur Kategorien angezeigt werden, die Rollen mit aktiven Mitgliedern haben, müsste man sich überlegen. Auch ob die Kategorie "Teilnahmebestätigungen" zur Auswahl stehen muss...

Vielleicht könnte man das als globale Funktion mal auslagern, damit nicht jeder seinen eigenen SQL zusammenbauen muss? Auch nutzt jeder die Anführungszeichen unterschiedlich: der eine schreibt

Code: Alles auswählen

$sql = 'SELECT ...
    FROM '.TBL_IRGENDWAS.' as iwa, ...

    /* So dass dann Maskiert werden muss */
    WHERE a=\'Suchstring\'
    AND b=\''.$Suchvariable.'\'
...';
Und der nächste arbeitet mit doppelten Anführungszeichen beim String und spart sich die Maskierung

Code: Alles auswählen

$sql = "SELECT ...
    FROM ".TBL_IRGENDWAS." as iwa, ...

    WHERE a='Suchstring'
    AND b='".$Suchvariable."'
...";
Besten Gruß
Oliver
rmb
Plugin-Developer
Beiträge: 638
Registriert: 10. Mai 2011, 19:56
Wohnort: 86856

Re: Geburtstagsliste

Beitrag von rmb »

Hallo Oliver,

besten Dank für Deine Ausführungen.

Da ich aktuell voll beschäftigt bin mit dem Update von Mitgliedsbeitrag für Admido 3, wird es leider einige Zeit dauern, bis ich mich mit Deinen Vorschlägen befassen kann.

Viele Grüße

rmb
oliver
Beiträge: 239
Registriert: 25. Nov 2014, 19:47

Re: Geburtstagsliste

Beitrag von oliver »

Hallo rmb,

kurier Dich erst mal richtig aus!

Betsen Gruß
Oliver
Antworten