Seite 1 von 2

[3.1.x]Gäste sollen nur den Threadtitel in einem Forum lesen

Verfasst: 13.12.2016 19:06
von Jochen104
Hallo zusammen,

ich mochte, dass in einem Unterforum die Gäste nur die Titel des Threads lesen können.
Dazu habe ich im Unterforum zu 3.0.x schon eine Lösung(viewtopic.php?f=74&t=175653&start=50) entdeckt, allerdings funktioniert diese unter 3.1.10 leider nicht.

Den Code

Code: Alles auswählen

if ((!$user->data['is_registered'] && $forum_id != 3 && $forum_id != 4))
   
{
   // Setup user environment so we can process lang string
   $user->setup('viewtopic');
        login_box('', $user->lang['LOGIN_VIEWTOPIC']);
} 
hatte ich unter

Code: Alles auswählen

$sort_dir    = request_var('sd', $default_sort_dir); 
eingefügt.
Leider wird dann gar keine Seite mehr angezeigt.

Kann mir jemand helfen? Vielen Dank!

Re: [3.1.x]Gäste sollen nur den Threadtitel in einem Forum l

Verfasst: 13.12.2016 21:09
von Mahony
Hallo
Vergib das Forenrecht, kann Forum sehen und kann Forum lesen, für Gäste (im entsprechenden Forum) und mache folgendes:

Suche in der viewtopic.php

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

if ((!$user->data['is_registered'] && $forum_id == xxx) || ($user->data['is_bot'] && $forum_id == xxx))
    {
       trigger_error('NOT_AUTHORISED');
    } 
Damit werden sowohl Gäste als auch Bots vom lesen der eigentlichen Beiträge abgehalten.
xxx muss mit der Foren ID des Forums ersetzt werden, dessen Überschrift der Gast und der Bot lesen können soll. Es erscheint dann die Meldung Du hast keine Berechtigung, diesen Bereich zu betreten..

mit

Code: Alles auswählen

{
      // Setup user environment so we can process lang string
      $user->setup('viewtopic');
      login_box('', $user->lang['LOGIN_VIEWTOPIC']);
    }
bekommst du die Loginbox angezeigt mit dem Text Du musst registriert und angemeldet sein, um dieses Thema anzusehen. über der Loginbox.

also so

Code: Alles auswählen

if ((!$user->data['is_registered'] && $forum_id == xxx) || ($user->data['is_bot'] && $forum_id == xxx))
    {
      // Setup user environment so we can process lang string
      $user->setup('viewtopic');
      login_box('', $user->lang['LOGIN_VIEWTOPIC']);
    }

In deinem Fall sollte der Code dann so aussehen

Code: Alles auswählen

if ((!$user->data['is_registered'] && ($forum_id != 3 || $forum_id != 4)))
       
    {
       // Setup user environment so we can process lang string
       $user->setup('viewtopic');
            login_box('', $user->lang['LOGIN_VIEWTOPIC']);
    }
Grüße: Mahony

Re: [3.1.x]Gäste sollen nur den Threadtitel in einem Forum l

Verfasst: 14.12.2016 12:54
von Jochen104
Danke, das hat funktioniert.
Ich hatte den Code wohl einige Zeilen zu tief eingefügt und zudem die abschließende Klammer vergessen :(

Vielen Dank für deine Hilfe!

Re: [3.1.x]Gäste sollen nur den Threadtitel in einem Forum lesen

Verfasst: 15.06.2017 12:41
von Kenaschon
Hallo Mahony,

geht das auch genau anders herum? Ich hätte in meinem Forum nur zwei feste Bereiche die von Gästen eingesehen werden sollen. Alle anderen Beiträge sind nur durch Anmeldung einzusehen.

Grüße
Manfred

Re: [3.1.x]Gäste sollen nur den Threadtitel in einem Forum lesen

Verfasst: 15.06.2017 13:51
von Mahony
Hallo Manfred
Kenaschon hat geschrieben:Ich hätte in meinem Forum nur zwei feste Bereiche die von Gästen eingesehen werden sollen. Alle anderen Beiträge sind nur durch Anmeldung einzusehen.
Ja, das geht natürlich auch.


YY = Forum-Id, die NICHT gesperrt werden soll (Beispiel für 2 foren)

Code: Alles auswählen

if ((!$user->data['is_registered'] && ($forum_id != YY || $forum_id != YY)) || ($user->data['is_bot'] && ($forum_id != YY || $forum_id != YY)))
       
    {
       // Setup user environment so we can process lang string
       $user->setup('viewtopic');
            login_box('', $user->lang['LOGIN_VIEWTOPIC']);
    }
Grüße: Mahony

Re: [3.1.x]Gäste sollen nur den Threadtitel in einem Forum lesen

Verfasst: 15.06.2017 17:37
von Kenaschon
Danke für die Hilfe.

So muß ich nicht so viele Foren auflisten.

Re: [3.1.x]Gäste sollen nur den Threadtitel in einem Forum lesen

Verfasst: 17.06.2017 16:00
von Annika
Hallo,

ich habe gerade auch den Code von Mahony ausprobiert, da wir nur zwei Foren öffnen wollen.
Die anderen Foren lassen sich nun aber leider auch nicht öffnen, also im Grunde sind die Gäste da einen Step zu früh raus.
Beim Anklicken des Forums kommt schon die Aufforderung zum Login.

Was muss man denn machen, dass sie das Forum noch anwählen können und erst beim Klicken auf eine Beitragsüberschrift das Loginfenster kommt?

Vielen Dank!

Nachtrag: habe gerade gemerkt, dass das mit den Überschriften lesen in den beiden Foren möglich ist, die eigentlich ganz zu lesen sein sollen.
Hab gerade irgendwie ein Brett vorm Kopf...... Also in den zwei speziellen Foren sollen Gäste Beiträge lesen können, in allen anderen Foren sollen sie nur die Überschriften lesen können.... :oops: Was muss ich denn jetzt wie rum machen?
Könnt ihr mir mal beim Gedanken sortieren helfen? :-?

Re: [3.1.x]Gäste sollen nur den Threadtitel in einem Forum lesen

Verfasst: 17.06.2017 16:46
von Mahony
Hallo
Annika hat geschrieben:Was muss man denn machen, dass sie das Forum noch anwählen können und erst beim Klicken auf eine Beitragsüberschrift das Loginfenster kommt?
Die richtigen Foren-IDs angeben und ansonsten das Forenrecht, kann Forum sehen und kann Forum lesen, für Gäste (im entsprechenden Forum) vergeben.

Grüße: Mahony

Re: [3.1.x]Gäste sollen nur den Threadtitel in einem Forum lesen

Verfasst: 17.06.2017 22:35
von Annika
Aaarrrgh... Ich werde noch irre.... :cry:

Erstmal vorweg: Forenrechte sind jetzt überprüft und so eingestellt, wie Mahony in der letzten Antwort schrieb.(sehen + lesen für Gäste) Seitdem kann man in allen entsprechenden Foren die Überschriften lesen. SUPER! Ein Schritt geschafft....

Aber in beiden Foren, in denen die Gäste die Beiträge auch komplett lesen können sollen (ID 27 & 14) , ist jetzt auch nur das Lesen der Überschriften möglich.

So sieht der Code bei mir aktuell aus:

Code: Alles auswählen

$default_sort_dir	= (!empty($user->data['user_post_sortby_dir'])) ? $user->data['user_post_sortby_dir'] : 'a';
if ((!$user->data['is_registered'] && ($forum_id != 27 || $forum_id != 14)) || ($user->data['is_bot'] && ($forum_id != 27 || $forum_id != 14)))
       
    {
       // Setup user environment so we can process lang string
       $user->setup('viewtopic');
            login_box('', $user->lang['LOGIN_VIEWTOPIC']);
    } 
$sort_days	= request_var('st', $default_sort_days);
Ich hoffe ihr könnt mir hier nochmal weiter helfen.... :-?


PS: Hier auch mal der Link zum Forum, es sollen "über das Forum" und "Pflanzen" zugänglich sein.... http://hortus-netzwerk.info

Re: [3.1.x]Gäste sollen nur den Threadtitel in einem Forum lesen

Verfasst: 17.07.2017 20:53
von Kenaschon
Ich habe mal gerade etwas probiert.

Hier mit kann ich einen einzelnen Topic "zu" machen

Code: Alles auswählen

if ((!$user->data['is_registered'] && ($topic_id == XX)))
       
    {
       // Setup user environment so we can process lang string
       $user->setup('viewtopic');
            login_box('', $user->lang['LOGIN_VIEWTOPIC']);
    }
Bis jetzt funktioniert es. Ist das auch richtig?

Grüße
Manfred