if abfrage und rechte system

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • if abfrage und rechte system

    HiHo,

    Hab da mal wieder ein kleines Problem.
    Unzwar geht es darum das ein User in einem bestimmten Forum erst ab einer Gewissen Anzahl von Beiträgen schreiben darf.
    Dies will ich über die Gruppen Funktion lösen. Soweit klappt das, befindet sich der User in der angegebenen Guppe wird es verboten zu Posten.

    Nun sollte noch geprüft werden ob sich der User in dem Forum befindet was eine gewisse Anzahl an Post braucht.

    ALso quasi, Eine Guppe benötigt erst 10 Post bevor in den Foren mit der ID 2 und 7 schreiben können. Dies zu prüfen währe kein Porblem, allerdings werden die gruppen ID's und Foren ID's in der Datenbank mit einem Komma getrennt.

    Hier mal der bereits vorhandene Code

    // Übergebene Foren ID abfrangen
    $foren_id = $Core->get(GET, 'f');
    // Eingeloggter User
    $username = $User->get_user_value('user_nickname');
    // Gruppe des Uers
    $user_auth = $User->get_user_value('user_perm_grp');
    // Anzahl der Post des Users
    $user_post_count = $User->get_user_value('user_post_count');
    $perm_temp = array();

    // Gruppen, Foren ID und Postcount auslesen
    $DB->set_sql('SELECT * FROM ' . ACTIVITY_WAITING);
    $DB->execute();
    $row = $DB->fetch_assoc();
    $DB->free();


    // Befugnisgruppe in der Datenbank durch Komma getrennt
    $perm_temp = explode(',', $row['group_id']);
    // Foren ID in der Datenbank durch Komma getrennt
    $forum_temp = explode(',', $row['foren_id']);


    // Prüfen ob die Gruppe des eingeloggten Users in der ACTIVITY Datenbank steht,
    // wenn ja schowmesausgeben
    if ( !is_array($perm_temp) || in_array($user_auth, $perm_temp))
    {
    $Core->showmessage('', $lang['NO_ACTIVITY_POST'], YELLOW, true);
    }

    Der Code oben klappt soweit, befindet sich der User in einer Gruppe, wird showmessage ausgegeben. WIe bekomme ich dies nun hin das er auch die foren id überprüft.
    Also befindet sich der User im Foren mit der ID und wurde zusätzlich noch eingetragen soll es die Meldung ausgeben.

    Hoffe das war verständlich ;)

    PS: BBCodes laufen bei mir hier im Forum immernoch nicht.
  • HiHo,

    Nein, habs nu selber gelöst.
    Wer es mal braucht:

    // Prüfen ob sich der User in dem Forum mit der ID aus
    // der Datenbank befindet
    if ( !is_array($forum_temp) || in_array($foren_id, $forum_temp))
    {
    // Prüfen ob die Gruppe des eingeloggten Users in der ACTIVITY Datenbank steht,
    // wenn ja schowmesausgeben
    if ( !is_array($perm_temp) || in_array($user_auth, $perm_temp) && $user_post_count >= $row['post_count'])
    {
    $Core->showmessage('', $lang['NO_ACTIVITY_POST'], YELLOW, true);
    }
    }