Seite 1 von 2

Berechtigung für Forenzugriff

Verfasst: 04.01.2017 12:10
von Hexe_Mol
moin,

ich würde gerne neu registrierten benutzern den zugriff auf forum 7 erst erlauben, wenn diese in forum 15 einen thread eröffnet haben.

hintergrund: forum 15 ist die vorstellungsecke und wer sich dort noch nicht vorgestellt hat, soll eben nicht in forum 7 stöbern dürfen.
ideal wäre es, wenn derjenigen die viewforum aufrufen dürfte, aber dann keine viewtopic.

mit der extension "autogroup" scheint das nicht möglich zu sein (die nutze ich für berechtigungen, die von der beitragszahl abhängig sind), gibt es eine andere möglichkeit?

Re: Berechtigung für Forenzugriff

Verfasst: 09.01.2017 07:14
von Hexe_Mol
niemand eine idee?

Re: Berechtigung für Forenzugriff

Verfasst: 09.01.2017 08:34
von Mahony
Hallo
Hexe_Mol hat geschrieben:ich würde gerne neu registrierten benutzern den zugriff auf forum 7 erst erlauben, wenn diese in forum 15 einen thread eröffnet haben.
Du kannst dafür die Gruppe "Kürzlich registrierte Benutzer" verwenden. Siehe dazu auch hier --> viewtopic.php?f=74&t=232141&p=1327234

Grüße: Mahony

Re: Berechtigung für Forenzugriff

Verfasst: 09.01.2017 08:55
von oxpus
Mahony hat geschrieben:Hallo
Hexe_Mol hat geschrieben:ich würde gerne neu registrierten benutzern den zugriff auf forum 7 erst erlauben, wenn diese in forum 15 einen thread eröffnet haben.
Du kannst dafür die Gruppe "Kürzlich registrierte Benutzer" verwenden. Siehe dazu auch hier --> viewtopic.php?f=74&t=232141&p=1327234

Grüße: Mahony
Das dürfte nicht reichen.
Die User sollen ja erst in einem bestimmten Forum Posten, um dann weitere Rechte zu erhalten.
Ich denke aber mal, dass die User auch schon nach der Registrierung woanders Posten oder lesen können.
Also die reine Anzahl Beiträge wäre hier nicht ausreichend...

Re: Berechtigung für Forenzugriff

Verfasst: 09.01.2017 20:52
von Hexe_Mol
oxpus hat geschrieben:Das dürfte nicht reichen.
Die User sollen ja erst in einem bestimmten Forum Posten, um dann weitere Rechte zu erhalten.
Ich denke aber mal, dass die User auch schon nach der Registrierung woanders Posten oder lesen können.
Also die reine Anzahl Beiträge wäre hier nicht ausreichend...
richtig....
es geht nicht darum, dass die benutzer direkt nach der registrierung nur auf forum 15 zugreifen dürfen, sondern darum, dass sie auf alle (für reg. user) erlaubten foren ausser eben auf nr. 7 zugreifen dürfen.
auf 7 dann - unabhängig von der zahl der beiträge - erst dann, wenn sie in 15 einen thread eröffnet (und sich darin vorgestellt) haben.

es kann gut sein, dass man das über "kürzlich registrierte benutzer" auch hinbekommt, aber dann bin ich vermutlich zu doof dazu.

Re: Berechtigung für Forenzugriff

Verfasst: 09.01.2017 20:59
von oxpus
Und das geht eben nicht mit der Gruppe der kürzlich reg. User.
Denn die arbeitet nur auf Basis der Anzahl Beiträge, die ein Benutzer verfasst hat.

Re: Berechtigung für Forenzugriff

Verfasst: 09.01.2017 22:52
von Mahony
Hallo Hexe_Mol

Also dann....

versuchs mal so:

Ö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 KB:utf8bom

Grüße: Mahony

Re: Berechtigung für Forenzugriff

Verfasst: 10.01.2017 14:13
von Hexe_Mol
dankeschön :)

ich werde berichten....

Re: Berechtigung für Forenzugriff

Verfasst: 10.01.2017 15:33
von Mahony
Hallo Hexe_Mol

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.

Grüße: Mahony

Re: Berechtigung für Forenzugriff

Verfasst: 24.01.2017 10:25
von Hexe_Mol
moin,

so, jetzt bin ich endlich dazu gekommen, deine tipps umzusetzen.

es hat prima geklappt, allerdings mit 2 kleinen haken:

1. wenn ein benutzer auf ein entsprechendes thema in forum 7 klickt, bekommt er die gewünschte meldung, 'Du musst dich vorstellen, um dieses Thema anzusehen.' allerdings wird er gleichzeitig auch aus dem forum abgemeldet (auch wenn der haken bei "angemeldet bleiben" gesetzt ist). gibt es auch die möglichkeit, dass er diese meldung bekommt, ohne abgemeldet zu werden? (denn er war ja vorher schon angemeldet)

2. dein script prüft wohl, ob der user in forum 15 einen beitrag geschrieben hat, aber nicht, ob er dort ein THEMA ERÖFFNET hat. wenn es möglich ist, würde ich gerne das eröffnen eines (eigenen vorstellungs-)themas prüfen.