[Tipp] Benutzern den Zugriff auf Forum X erst erlauben, wenn er in Forum Y einen Thread eröffnet hat

Tipps zur Forensoftware phpBB 3.1.x
Gesperrt
Benutzeravatar
Mahony
Site Admin
Site Admin
Beiträge: 792
Registriert: 3. Dez 2006 22:09
Hat sich bedankt: 22 Mal
Danksagung erhalten: 6 Mal

[Tipp] Benutzern den Zugriff auf Forum X erst erlauben, wenn er in Forum Y einen Thread eröffnet hat

Beitrag von Mahony »

Hallo

Problem
Manchmal möchte man registrierten Benutzern den Zugriff auf Forum X erst erlauben, wenn diese in Forum Y einen Thread eröffnet haben, während die Benutzer andere freigegebene Foren problemlos benutzen können (dort lesen und schreiben dürfen). Da das mit normalen Mitteln und auch nicht mit der Auto Groups Extension möglich ist, kommt hier nun die

Lösung

Öffne viewtopic.php

Suche

Code: Alles auswählen

$default_sort_dir    = (!empty($user->data['user_post_sortby_dir'])) ? $user->data['user_post_sortby_dir'] : 'a';

Füge danach ein

Code: Alles auswählen

$sql = 'SELECT poster_id
    FROM ' . POSTS_TABLE . '
    WHERE forum_id = 15
        AND poster_id = ' . $user->data['user_id'];
$result = $db->sql_query($sql);
$row = $db->sql_fetchfield('poster_id');
$db->sql_freeresult($result);


if ($forum_id == 7 && !$row )  
{
   // Setup user environment so we can process lang string
   $user->setup('viewtopic');
        login_box('', $user->lang['LOGIN_VORSTELLUNG']);
}
Öffne /language/de/viewtopic.php

Suche

Code: Alles auswählen

'LOGIN_VIEWTOPIC'        => 'Du musst registriert und angemeldet sein, um dieses Thema anzusehen.',
Füge danach ein

Code: Alles auswählen

'LOGIN_VORSTELLUNG'        => 'Du musst dich vorstellen, um dieses Thema anzusehen.',
Öffne /language/de_x_sie/viewtopic.php

Suche

Code: Alles auswählen

'LOGIN_VIEWTOPIC'        => 'Sie müssen registriert und angemeldet sein, um dieses Thema anzusehen.',
Füge danach ein

Code: Alles auswählen

'LOGIN_VORSTELLUNG'        => 'Sie müssen sich vorstellen, um dieses Thema anzusehen.',
Öffne /language/en/viewtopic.php

Suche

Code: Alles auswählen

'LOGIN_VIEWTOPIC'        => 'The board requires you to be registered and logged in to view this topic.',
Füge danach ein

Code: Alles auswählen

'LOGIN_VORSTELLUNG'        => 'You have to introduce yourself to view this topic.',


ACHTUNG: Die Sprachdateien bitte als UTF-8 ohne BOM abspeichern!
Siehe dazu auch phpbb3 - Was bei Änderungen an Sprachdateien beachtet werden muss!


Mit den obigen Änderungen wird geprüft, ob der Benutzer einen Beitrag im Forum 15 erstellt hat und wenn NICHT bekommt er die Meldung (Du musst dich vorstellen, um dieses Thema anzusehen. <-- in einer Anmelde-Box) dass er sich vorstellen muss sobald er versucht Beiträge in Forum 7 anzusehen bzw. das Forum 7 zum Beitrag schreiben zu öffnen.
Ihr müsst also entsprechend euren Wünschen die Foren-IDs ändern im Code!


P.S. Ein Backup der Dateien VOR den Änderungen ist wie immer unbedingt anzulegen!


Grüße: Mahony
Diejenigen, die lautstark darüber diskutieren, warum es nicht geht, mögen bitte jene nicht stören, die es gerade tun.
Klug ist, wer nur die Hälfte von dem glaubt, was er hört. Weise ist, wer erkennt, welche Hälfte richtig ist.

Bild
Gesperrt