Seite 3 von 4

Re: Altersbeschränkungs Spoiler

Verfasst: 21.02.2013 20:24
von Maugrim
na nix, weil ich ja nicht weiss wohin damit...
ja ich weiß, ich bin nervtötend...


ich dachte mir, Laie wie ich einer bin, dass man einfach diese Funktion die du mir auf der ersten Seite zum Abfragen des Geburtstdatums genannt hast, einfach umschrieben könnte, auf eine Gruppenzugehörigkeitsabfrage?
Nur wie?

Code: Alles auswählen

function user_is_18()
{
    global $user;

    if($user->data['user_birthday'] == '') return false;
    $b_date = explode('-', $user->data['user_birthday']);
    //create timestamp
    $b_time = mktime(0, 0, 0, $b_date[1], $b_date[0], $b_date[2] + 18);
    if (time() > $b_time)
        return true;
    else
        return false;
} 
diese Funktion, damit du nicht scrollen brauchst :)

Re: Altersbeschränkungs Spoiler

Verfasst: 21.02.2013 20:36
von Miriam
Den Sinn der von mir gebastelten Funktion hast Du verstanden.

Aber genau das macht diese group membership Funktion in Bezug auf Gruppenzugehoerigkeit.

Re: Altersbeschränkungs Spoiler

Verfasst: 21.02.2013 20:48
von Maugrim
dh ich schreibe in deine funktion user_ist_18 statt:

if userdata userbirthday

einfach diese abfrage rein??

Re: Altersbeschränkungs Spoiler

Verfasst: 21.02.2013 21:07
von Miriam
nein. das ist was eigenes. der Beitrag beschreibt es doch genau und passende anwendungsfaelle.

Re: Altersbeschränkungs Spoiler

Verfasst: 21.02.2013 21:42
von Maugrim
ja irgendwie schon...

aber ich weiß trotzdem nicht WOHIN ich den Code in WELCHER php einbauen soll...sorry ich versteh das nicht...is mir zu hoch...ich bin kein Programmierer...ich habe auch keine Ambitionen dazu, das zu lernen...Ich seh nur Zahlen und Buchstaben :grin:


magst dus mir nicht verraten wie?
Weil ich hab keine Lust mehr auf Ratespiele...ich hau sonst den Hut drauf und bau diese dumme Funktion halt nicht ein...

aktuell hab ich drei Fragen laufen, und auf keine eine Antwort...is wirklich zermürbend :cry:

Re: Altersbeschränkungs Spoiler

Verfasst: 21.02.2013 22:10
von Miriam
Maugrim hat geschrieben:aber ich weiß trotzdem nicht WOHIN ich den Code in WELCHER php einbauen soll
Wo willst Du es denn genau auswerten?

Und Du mußt schon ein bißchen "mitspielen", sonst wird das nichts. Keiner ist hier Dein Programmierer.

Re: Altersbeschränkungs Spoiler

Verfasst: 22.02.2013 17:07
von Maugrim
ah ok...
dh ich setze den Code in die posting? Ich möchte ja wie gesagt den Inhalt eines BB Codes NUR für EINE usergruppe zulassen

muss ALLES in die Posting.php?

oder in die includes/functions_posting.php?

Re: Altersbeschränkungs Spoiler

Verfasst: 25.02.2013 15:16
von Maugrim
So mir war das jetzt zu doof :D

Ich hab mir mal die Tabelle users angeschaut, um zu sehen welchen Wert ich auslesen kann, da man ja dort nur die Hauptgruppe des Users auslesen kann, aber nicht die spezielle Gruppe...
und da ich den users_occ nicht brauche, habe ich einfach folgendes gemacht:

Ich habe in der language/de/common.php die OCCUPATION von Tätigkeit in Volljärigkeit umbenannt

dann habe ich den Usern die Möglichkeit genommen eigene Informationen in die users_occ einzuspeichern, indem ich dieses Profilfeld aus dem persönlichen Bereich (Profil bearbeiten) einfach herausgenommen habe


Nun brauche ich keine Gruppe (ab 18) mehr, sondern frage mit deiner (Miriam) Funktion die vorher das Geburtstatum abgefragt hat, einfach das hier ab:

Code: Alles auswählen

function user_is_18()
{
    global $user;

    if($user->data['user_occ'] == '18') return true;

    else
        return false;
} 
Zwar muss ich das jetzt alles händisch eintragen, aber das stört mich vorerst nicht


Und voilá! Es funktioniert
Perfekt, einwandfrei und genau so wie ich es wollte!

Falls diese Lösung irgendwelche Probleme bereitet, die ich zZ noch nicht erkenne, oder mir aufgefallen sind, die ein versierter phpBB'ler unter euch evtl erkennen könnte, wäre ich über einen Hinweis erfreut :)


Danke Miriam für deine Hilfe, aber so ist mir die Lösung doch simpel und ausreichend :)


Falls es noch irgend eine Möglichkeit gibt, einen Automatismus zu erstellen, der automatisch in users_occ den Eintrag "18" einträgt, wenn ein User in die Gruppe "ab 18" aufgenommen wird, wäre das natürlich ein Hit *g* Aber ich fürchte das gibt es nicht

Deswegen mache ich es einfach so: ich belasse die Gruppe (ab 18) und jeder der einen Antrag auf Mitgliedschaft stellt (siehe Beschreibung: Wer Inhalte ab 18 Lesen will, muss einen Antrag auf Mitgliedschaft in dieser Gruppe stellen) den trage ich einfach händisch in das users_occ ein

Re: Altersbeschränkungs Spoiler

Verfasst: 28.02.2013 23:20
von Miriam
Maugrim hat geschrieben:der automatisch in users_occ den Eintrag "18" einträgt, wenn ein User in die Gruppe "ab 18" aufgenommen wird, wäre das natürlich ein Hit *g* Aber ich fürchte das gibt es nicht
Nicht in dieser von Dir beschriebenen Weise.
Aber:
Die von mir erwähnte Funktion group_memberships() in der Datei includes\functions_user.php macht im Grunde genau das.

In Deiner Notation / Denkweise muß es so aussehen:
  • Finde in der includes/functions.php
    ?>

    davor füge ein:

    Code: Alles auswählen

    function user_is_18($user_id = false)
    {
        global $user;
        
        $group_id = '18'; //ID der Gruppe, die die 18+ Mitglieder enthält
        
        if (!$user_id)
        {
            $user_id = $user->data['user_id']; // der zu untersuchende User, bzw. dessen ID
        }
        
        if (!function_exists('group_memberships'))
        {
            global $phpbb_root_path, $phpEx;
            include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
        }
        return group_memberships($group_id, $user_id, true);
    } 
Wenn Du die ID mit übergibst ( Aufruf: user_is_18($user_id) ) , wird die Mitgliedschaft für die (irgendeine) übergebene User ID überprüft und ein Ergebnis ( Ja / Nein ) zurück gegeben.
Ansonsten kannst Du die Funktion ohne Parameter aufrufen user_is_18() und es wird die Mitgliedschaft für den aktuell angemeldeten User untersucht.

Die Gruppen ID ist in meinem Beispiel die 18.

Wie gesagt, du kannst es auch einfacher haben.

Re: Altersbeschränkungs Spoiler

Verfasst: 01.03.2013 10:32
von Maugrim
oh Dankeschön :)