Advertisement:

Author Topic: [Tutorial] Erlaube Gästen die Boards zu sehen, aber den Zugriff verweigern  (Read 59620 times)

Offline noex

  • Language Moderator
  • Local Moderator
  • SMF Hero
  • *
  • Posts: 1,764
  • Gender: Male
  • Der Mensch denkt und Gott lacht...
    • inveoo.com
Um den Gästen das Ansehen der Indexseite (Boardindex) zu erlauben, das Betreten einzelner Boards aber verweigern, muss folgender Code geändert werden. Gäste die dann versuchen auf ein Board zuzugreifen, werden aufgefordert sich zu registrieren oder einzuloggen.

SMF Version 1.0.x

für alle Boards:

Suche in der Datei Sources/BoardIndex.php nach:
Code: [Select]
WHERE $user_info[query_see_board]und ersetze mit:
Code: [Select]
WHERE ($user_info[query_see_board]" . ($user_info['is_guest'] ? " OR FIND_IN_SET('0', b.memberGroups)" : '') . ")
für einzelne Boards:

Suche in der Datei Sources/BoardIndex.php nach:
Code: [Select]
WHERE $user_info[query_see_board]und ersetze mit:
Code: [Select]
WHERE ($user_info[query_see_board]" . ($user_info['is_guest'] ? " OR b.ID_BOARD IN (##, ##, ##)" : '') . ")Wobei ##, ##, ## die Liste der IDs darstellt, auf welche diese "Funktion" angewandt wird.


SMF Version 1.1 Beta 3

für alle Boards:

Suche in der Datei Sources/BoardIndex.php nach:
Code: [Select]
WHERE $user_info[query_see_board]" . (empty($modSettings['countChildPosts']) ? "
AND b.childLevel <= 1" : ''), __FILE__, __LINE__);
und ersetze mit:
Code: [Select]
WHERE ($user_info[query_see_board]" . ($user_info['is_guest'] ? " OR b.ID_BOARD > 0" : '') .')' . (empty($modSettings['countChildPosts']) ? "
AND b.childLevel <= 1" : ''), __FILE__, __LINE__);

für einzelne Boards:

Suche in der Datei Sources/BoardIndex.php nach:
Code: [Select]
WHERE $user_info[query_see_board]" . (empty($modSettings['countChildPosts']) ? "
AND b.childLevel <= 1" : ''), __FILE__, __LINE__);
und ersetze mit:
Code: [Select]
WHERE ($user_info[query_see_board]" . ($user_info['is_guest'] ? " OR b.ID_BOARD IN (##, ##, ##)" : '') .')' . (empty($modSettings['countChildPosts']) ? "
AND b.childLevel <= 1" : ''), __FILE__, __LINE__);
Wobei ##, ##, ## die Liste der IDs darstellt, auf welche diese "Funktion" angewandt wird.


Original von: [Unknown]
Deutsche Zusammenfassung von: noex
« Last Edit: January 29, 2006, 04:42:06 PM by noex »
"Jetzt, wo ich weiß wie es geht, versteh ich auch die Gebrauchsanleitung"

Offline altiX

  • Semi-Newbie
  • *
  • Posts: 28
Re: Erlaube Gästen die Boards zu sehen, aber den Zugriff verweigern
« Reply #1 on: July 20, 2005, 02:06:42 PM »
Leider funktioniert bei mir nicht ???
Habe SMF 1.0.5
Sorry wegen Grammatik Fehlern!

Offline noex

  • Language Moderator
  • Local Moderator
  • SMF Hero
  • *
  • Posts: 1,764
  • Gender: Male
  • Der Mensch denkt und Gott lacht...
    • inveoo.com
Re: Erlaube Gästen die Boards zu sehen, aber den Zugriff verweigern
« Reply #2 on: July 20, 2005, 02:22:39 PM »
Du musst "Gästen das Ansehen des Forums erlauben" (Forumeinstellungen)

In den einzelnen Board dann die Gruppe "Gäste" aus den Berechtigungen herausnehmen.
Diese Boards werden dann für Gäste dennoch in der Übersicht angezeigt, aber der Zugriff darauf wird verweigert.
"Jetzt, wo ich weiß wie es geht, versteh ich auch die Gebrauchsanleitung"

Offline altiX

  • Semi-Newbie
  • *
  • Posts: 28
Re: Erlaube Gästen die Boards zu sehen, aber den Zugriff verweigern
« Reply #3 on: July 20, 2005, 03:27:29 PM »
Danke noex,
Jetzt funktioniert!
Sorry wegen Grammatik Fehlern!

Offline ernomo98

  • Jr. Member
  • **
  • Posts: 175
Re: Erlaube Gästen die Boards zu sehen, aber den Zugriff verweigern
« Reply #4 on: July 20, 2005, 05:20:43 PM »
super Einsatz noex, gib nicht auf :D

Offline noex

  • Language Moderator
  • Local Moderator
  • SMF Hero
  • *
  • Posts: 1,764
  • Gender: Male
  • Der Mensch denkt und Gott lacht...
    • inveoo.com
Re: Erlaube Gästen die Boards zu sehen, aber den Zugriff verweigern
« Reply #5 on: July 21, 2005, 03:05:57 AM »
Danke, hätte ich nicht vorgehabt  :P
"Jetzt, wo ich weiß wie es geht, versteh ich auch die Gebrauchsanleitung"

Offline |R+|

  • Newbie
  • *
  • Posts: 5
Re: Erlaube Gästen die Boards zu sehen, aber den Zugriff verweigern
« Reply #6 on: August 31, 2005, 12:34:17 PM »
Ist es mögliche gewisse Boards trotzdem noch auszublenden?


Offline noex

  • Language Moderator
  • Local Moderator
  • SMF Hero
  • *
  • Posts: 1,764
  • Gender: Male
  • Der Mensch denkt und Gott lacht...
    • inveoo.com
Re: Erlaube Gästen die Boards zu sehen, aber den Zugriff verweigern
« Reply #7 on: August 31, 2005, 02:20:07 PM »
Ja,

du kannst die Boards, die "angezeigt, auf die aber nicht zugegriffen werden darf" beschränken.

Suche in BoardIndex.php nach:

Code: [Select]
WHERE $user_info[query_see_board]
und ersetze mit:

Code: [Select]
WHERE ($user_info[query_see_board]" . ($user_info['is_guest'] ? " OR b.ID_BOARD IN (##, ##, ##)" : '') . ")
Wobei ##, ##, ## die Liste der IDs darstellt, auf welche diese "Funktion" angewandt wird.

lg
noex
"Jetzt, wo ich weiß wie es geht, versteh ich auch die Gebrauchsanleitung"

Offline |R+|

  • Newbie
  • *
  • Posts: 5
Re: Erlaube Gästen die Boards zu sehen, aber den Zugriff verweigern
« Reply #8 on: August 31, 2005, 02:58:28 PM »
Das gab ganz wilde Parsingfehler

nach jeder Aktualisierung gab es einen Fehler in einer ganz anderen Zeile, sogar in Kommentaren und leeren Zeilen   ::)

und einmal hats gemeckert dass es einen Templateerror verursacht hat 

ich benutz die 1.1 beta 3 version

Offline noex

  • Language Moderator
  • Local Moderator
  • SMF Hero
  • *
  • Posts: 1,764
  • Gender: Male
  • Der Mensch denkt und Gott lacht...
    • inveoo.com
Re: Erlaube Gästen die Boards zu sehen, aber den Zugriff verweigern
« Reply #9 on: August 31, 2005, 03:07:23 PM »
Okay, dann versuche folgendes:

Suche nach:
Code: [Select]
WHERE $user_info[query_see_board]" . (empty($modSettings['countChildPosts']) ? "
AND b.childLevel <= 1" : ''), __FILE__, __LINE__);

und ersetze mit

Code: [Select]
WHERE ($user_info[query_see_board]" . ($user_info['is_guest'] ? " OR b.ID_BOARD IN (##, ##, ##)" : '') .')' . (empty($modSettings['countChildPosts']) ? "
AND b.childLevel <= 1" : ''), __FILE__, __LINE__);

lg
noex

PS: Dies sollte für die Version 1.1 funktionieren
"Jetzt, wo ich weiß wie es geht, versteh ich auch die Gebrauchsanleitung"

Offline |R+|

  • Newbie
  • *
  • Posts: 5
Re: Erlaube Gästen die Boards zu sehen, aber den Zugriff verweigern
« Reply #10 on: August 31, 2005, 05:29:38 PM »
Vielen Dank!

Das Funktioniert wunderbar  :D


netter Support hier

Offline noex

  • Language Moderator
  • Local Moderator
  • SMF Hero
  • *
  • Posts: 1,764
  • Gender: Male
  • Der Mensch denkt und Gott lacht...
    • inveoo.com
Re: Erlaube Gästen die Boards zu sehen, aber den Zugriff verweigern
« Reply #11 on: September 04, 2005, 06:02:52 AM »
Habe die Möglichkeiten und die beiden Änderungen für die SMF Versionen 1.0.x und 1.1 im ersten Topic zusammengefasst.

Damit es auch Übersichtlich bleibt.

lg
noex
"Jetzt, wo ich weiß wie es geht, versteh ich auch die Gebrauchsanleitung"

Offline chipper1

  • Semi-Newbie
  • *
  • Posts: 28
Re: Erlaube Gästen die Boards zu sehen, aber den Zugriff verweigern
« Reply #12 on: September 17, 2005, 11:12:28 AM »
Hi,
ich habe gerade die Datei "Sources/BoardIndex.php" (für alle Boards ) geändert. Es funktioniert, dass Gäste zwar Haupt-Boards sehen, bei Anklicken aber Meldung bekommen zur Anmeldung/Registrierung. So weit so gut.

Nun tritt aber folgender Fehler auf, wenn sich jemand neu anmelden möchte:
- neuer User meldet sich an + erhält Bestätigungsmail mit Rückbestätigungsaufforderung
- bei Anklicken dieses Links erscheint Fehlermeldung:
  "Not Found:  The requested URL /smf/index.php=3Faction=3Dprofile was not found on this server."
- Anmeldeversuch des neuen Users klappt dann natürlich auch nicht, da die Rückbestätigung von ihm fehlt.

Erst wenn der neue User manuell vom Admin freigeschaltet wird, kann der neue User sich auch einloggen.

Gibt es dafür eine Erklärung/Lösung?
MfG, chipper1

(SMF 1.1.9 + MKPortal C1.2.2)

Offline noex

  • Language Moderator
  • Local Moderator
  • SMF Hero
  • *
  • Posts: 1,764
  • Gender: Male
  • Der Mensch denkt und Gott lacht...
    • inveoo.com
Re: Erlaube Gästen die Boards zu sehen, aber den Zugriff verweigern
« Reply #13 on: September 17, 2005, 11:24:07 AM »
Hallo, dies hat mit dieser Änderung nichts zu tun.

Schon mal die Forensuche bemüht? Dieser Fehler wird schon mehrfach diskutiert.

Welche Version verwendest du?

lg
noex
"Jetzt, wo ich weiß wie es geht, versteh ich auch die Gebrauchsanleitung"

Offline chipper1

  • Semi-Newbie
  • *
  • Posts: 28
Re: Erlaube Gästen die Boards zu sehen, aber den Zugriff verweigern
« Reply #14 on: September 17, 2005, 11:38:51 AM »
1) Schon mal die Forensuche bemüht? Dieser Fehler wird schon mehrfach diskutiert.
2)Welche Version verwendest du?

zu 1) nein (sorry, worunter suchen?)
zu 2) SMF 1.1 Beta 3 Public


Nachtrag:   
- Umlaute werden in der Mail auch nicht richtig dargestellt ...
- Suche im Forum brachte keine Lösung, nur Hinweis, dass andere das auch schon festgestellt haben ...

=> Hat jemand ´ne Idee zur Lösung?
« Last Edit: September 17, 2005, 04:00:03 PM by chipper1 »
MfG, chipper1

(SMF 1.1.9 + MKPortal C1.2.2)

Offline noex

  • Language Moderator
  • Local Moderator
  • SMF Hero
  • *
  • Posts: 1,764
  • Gender: Male
  • Der Mensch denkt und Gott lacht...
    • inveoo.com
"Jetzt, wo ich weiß wie es geht, versteh ich auch die Gebrauchsanleitung"

Offline feline

  • SMF Hero
  • ******
  • Posts: 1,638
  • Gender: Female
Re: Erlaube Gästen die Boards zu sehen, aber den Zugriff verweigern
« Reply #16 on: November 04, 2005, 10:02:03 AM »
Hallo all,

und ersetze mit

Code: [Select]
WHERE ($user_info[query_see_board]" . ($user_info['is_guest'] ? " OR b.ID_BOARD IN (##, ##, ##)" : '') .')' . (empty($modSettings['countChildPosts']) ? "
AND b.childLevel <= 1" : ''), __FILE__, __LINE__);

Um eine ganze Categorie auszuschliessen (was u.U. einfacher ist):

Code: [Select]
OR b.ID_BOARD IN (##, ##, ##)durch
Code: [Select]
OR c.ID_CAT IN (##, ##, ##)ersetzen.

Für Grössere Bereiche benutze dann
Code: [Select]
OR b.ID_BOARD BETWEEN ## AND ##
Fel

Offline joydealer

  • Semi-Newbie
  • *
  • Posts: 22
Re: Erlaube Gästen die Boards zu sehen, aber den Zugriff verweigern
« Reply #17 on: November 05, 2005, 05:54:07 AM »
Danke für die Anleitung ersteinmal!

Ich hätte aber noch eine kleine Frage. Wenn die Gäste nun auf ein Thema, Board etc. klicken, kommt:
"Ein Fehler ist aufgetreten!
Das Thema dass Sie anschauen möchten existiert nicht oder ist für Sie nicht einsehbar."

Aber es soll ja nicht so aussehen, als wenn es sich um einen Fehler handelt. Deswegen würde ich diesen Text gerne durch: "Sie können Themen nur anschauen, wenn sie sich registrieren" ersetzen. Aber wo mache ich das?
Habe leider bisher nicht die passende Datei gefunden.

edit: Ok, habs gefunden. Es ist die Datei "Errors.german.php" Aber wenn ich die Textzeile umändere, wird sie in anderen Zusammenhängen sinnlos. Also müsste man eigentlich eine eigene Textzeile erstellen.


edit2: Nochwas ist mir aufgefallen. Die User-Profile werden Gästen jetzt angezeigt, obwohl eingestellt ist, das Gäste sie nicht sehen sollen.


Version: SMF 1.0.3
« Last Edit: November 05, 2005, 06:09:33 AM by joydealer »

Offline feline

  • SMF Hero
  • ******
  • Posts: 1,638
  • Gender: Female
Re: Erlaube Gästen die Boards zu sehen, aber den Zugriff verweigern
« Reply #18 on: November 05, 2005, 02:07:16 PM »
Hi joydealer,

Quote
edit2: Nochwas ist mir aufgefallen. Die User-Profile werden Gästen jetzt angezeigt, obwohl eingestellt ist, das Gäste sie nicht sehen sollen.

also bei der 1.1 rc1 geht das aber ...

Fel


Offline MotMann

  • Semi-Newbie
  • *
  • Posts: 92
  • Gender: Male
Re: Erlaube Gästen die Boards zu sehen, aber den Zugriff verweigern
« Reply #19 on: December 30, 2005, 04:39:12 PM »
Ich finde das aber nicht gerade sehr praktisch. Nutze nun auch 1.1RC1 und vermisse solche Einstellung schmerzlichst.

Warum können die User nicht die Threads sehen, wo ich den Zugang nur für registrierte User eingerichtet habe? Oder existiert in 1.1RC1 bereits eine solche Einstellung? Oder kommt diese in 1.1RC2?  :D

Ich kann doch nicht jedesmal den Codec umfrickeln, nur weil ich ein neues Board erstelle, oder ein andere wieder ändern möchte, so dass die Beiträge jetzt gelesen werden können.....