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:
WHERE $user_info[query_see_board]
und ersetze mit:
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:
WHERE $user_info[query_see_board]
und ersetze mit:
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:
WHERE $user_info[query_see_board]" . (empty($modSettings['countChildPosts']) ? "
AND b.childLevel <= 1" : ''), __FILE__, __LINE__);
und ersetze mit:
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:
WHERE $user_info[query_see_board]" . (empty($modSettings['countChildPosts']) ? "
AND b.childLevel <= 1" : ''), __FILE__, __LINE__);
und ersetze mit:
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] (http://www.simplemachines.org/community/index.php?topic=16281.0)
Deutsche Zusammenfassung von: noex
Leider funktioniert bei mir nicht ???
Habe SMF 1.0.5
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.
Danke noex,
Jetzt funktioniert!
super Einsatz noex, gib nicht auf :D
Danke, hätte ich nicht vorgehabt :P
Ist es mögliche gewisse Boards trotzdem noch auszublenden?
Ja,
du kannst die Boards, die "angezeigt, auf die aber nicht zugegriffen werden darf" beschränken.
Suche in BoardIndex.php nach:
WHERE $user_info[query_see_board]
und ersetze mit:
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
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
Okay, dann versuche folgendes:
Suche nach:
WHERE $user_info[query_see_board]" . (empty($modSettings['countChildPosts']) ? "
AND b.childLevel <= 1" : ''), __FILE__, __LINE__);
und ersetze mit
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
Vielen Dank!
Das Funktioniert wunderbar :D
netter Support hier
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
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?
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
Quote from: noex on September 17, 2005, 11:24:07 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?
Suche: http://www.simplemachines.org/community/index.php?action=search2;search=index.php%3D3Faction
lg
noex
Hallo all,
Quote from: noex on August 31, 2005, 03:07:23 PM
und ersetze mit
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):
OR b.ID_BOARD IN (##, ##, ##)
durch
OR c.ID_CAT IN (##, ##, ##)
ersetzen.
Für Grössere Bereiche benutze dann
OR b.ID_BOARD BETWEEN ## AND ##
Fel
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
Hi joydealer,
Quoteedit2: 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
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.....
Eigentlich ist das nur ein kleiner "Trick" um Gäste neugierig auf "mehr" zu machen .. sich zu Registrieren.
Klar kannst du in den Boadeinstellung wählen, das Gäste das nicht sehen können, aber das macht dann auch nicht neugierig ..
Fel
Mag ja alles sein. Aber die Suchmaschinen kommen dann auch nicht rauf >:(
Klar, das wird nicht gehen.
Aber .. vielleicht sagst Du mal, was Du eigentlich willst?
Soll der Boardindex angezeigt werden, aber nicht der Messageindex oder wie?
Sicher könnte man da eine option einbauen ...
Fel
Quote from: feline on January 02, 2006, 06:39:33 AM
Sicher könnte man da eine option einbauen ...
Bist Du wahnsinnig? :D Hab jetzt schon den Kopf voll ;) Wenn ich da an das Update auf 1.1RC2 denke wird mir schon schlecht...
Der Gaste sollte die Topics, also die Überschriften, sehen können, also nicht bis zu den Beiträgen kommen....
in der RC2 kann man den gästen den kompletten zugriff verweigern
Dark_Neakro, ich glaube MotMann meint, das Gäste noch den Messageindex sehen sollen, aber nicht mehr die Nachricht (Display). Und Du meinst, das geht in der RC2 ?
Fel
Quote from: feline on January 02, 2006, 12:02:07 PM
Dark_Neakro, ich glaube MotMann meint, das Gäste noch den Messageindex sehen sollen, aber nicht mehr die Nachricht (Display).
Yes.... :)
Ich weiss nun nicht, ob die RC2 darür rechte vergibt .. aber es ist echt einfach machbar, was Du willst.
Du must nur eine kleinigkeit in der MessageIndex.template.php deines Themes zu ändern:
Suche nach:
foreach ($context['topics'] as $topic)
{
echo '
<tr class="windowbg2">
<td valign="middle" align="center" width="5%">
<img src="', $settings['images_url'], '/topic/', $topic['class'], '.gif" alt="" />
</td>
<td valign="middle" align="center" width="4%">
<img src="', $topic['first_post']['icon_url'], '" alt="" />
</td>
<td class="windowbg" valign="middle">
', $topic['first_post']['link'];
und ändere die letzte Zeile in:
<td class="windowbg" valign="middle">
', ($context['user']['is_logged']) ? $topic['first_post']['link'] : $topic['first_post']['subject'] , '';
Edit:
Grad gesehen .. da gibts auch noch ein Last_Post ..
if ($settings['images_url'] != $settings['theme_url'] . '/images' || file_exists($settings['theme_dir'] . '/images/icons/last_post.gif'))
echo '
<a href="', $topic['last_post']['href'], '"><img src="', $settings['images_url'], '/icons/last_post.gif" alt="', $txt[111], '" title="', $txt[111], '" border="0" style="float: right;" /></a>';
echo '
<span class="smalltext">
', $topic['last_post']['time'], '<br />
', $txt[525], ' ', $topic['last_post']['member']['link'], '
</span>
</td>';
Muss auch nach dem Schema geändert werden.
Und .. das ist dann für ALLE Board. Willst Du das so haben? Ansonsten wird aufwendiger ...
Fel
Quote from: feline on January 02, 2006, 12:02:07 PM
Und Du meinst, das geht in der RC2 ?
jo ich habs probiert (man muss sich ja auskennen ;) ) und dann hats gefunzt. ich gluab das war in den forumseinstellungen.
Oha .. donnerwetter ..
hätte ich nun nicht gedacht .. aber ok, ich würds gut finden.
Fel
Quote from: feline on January 02, 2006, 03:33:40 PMEdit:
Grad gesehen .. da gibts auch noch ein Last_Post ..
Aber da ist nicht die Zeile <td class="windowbg" valign="middle"> :( Wo soll ich es denn da einfügen?
Quote from: Dark_Neakro on January 03, 2006, 12:47:12 PM
jo ich habs probiert (man muss sich ja auskennen ;) ) und dann hats gefunzt. ich gluab das war in den forumseinstellungen.
Okey.. aber ich muss noch mit dem Update warten. :(
Quote from: feline on January 02, 2006, 03:33:40 PMEdit:
Grad gesehen .. da gibts auch noch ein Last_Post ..
if ($settings['images_url'] != $settings['theme_url'] . '/images' || file_exists($settings['theme_dir'] . '/images/icons/last_post.gif'))
echo '
<a href="', $topic['last_post']['href'], '"><img src="', $settings['images_url'], '/icons/last_post.gif" alt="', $txt[111], '" title="', $txt[111], '" border="0" style="float: right;" /></a>';
echo '
<span class="smalltext">
', $topic['last_post']['time'], '<br />
', $txt[525], ' ', $topic['last_post']['member']['link'], '
</span>
</td>';
Muss auch nach dem Schema geändert werden.
Und .. das ist dann für ALLE Board. Willst Du das so haben? Ansonsten wird aufwendiger ...
Ich weiß nicht, wo ich da den geänderten code....
<td class="windowbg" valign="middle">
', ($context['user']['is_logged']) ? $topic['first_post']['link'] : $topic['first_post']['subject'] , '';
.....einfügen soll?
Und, der Gast wird nicht zur Registrierungsseite gelinkt, wenn er die Beiträge direkt lesen möchte, sondern da passiert einfach gar nichts.
Wenn ich doch bloß schon die neue SMF Version uploaden könnte.. :(
Das Last_post kannst du auch ganz weglassen, da deine gäste ja eh nix lesen sollen ...
if ($context['user']['is_logged'])
{
if ($settings['images_url'] != $settings['theme_url'] . '/images' || file_exists($settings['theme_dir'] . '/images/icons/last_post.gif'))
echo '
<a href="', $topic['last_post']['href'], '"><img src="', $settings['images_url'], '/icons/last_post.gif" alt="', $txt[111], '" title="', $txt[111], '" border="0" style="float: right;" /></a>';
echo '
<span class="smalltext">
', $topic['last_post']['time'], '<br />
', $txt[525], ' ', $topic['last_post']['member']['link'], '
</span>
';
}
echo '
</td>';
Nur dir sollte klar sein, das die Links auch noch an anderen Stellen auftauchen, z.B. im Boardindex .. neue Nachrichten ..
So einfach ist das nicht
Fel
Hallo Neox
Ich habe die Version 1.1 RC2 ... Ich habe jetzt alle Varianten versucht, aber es funzt bei mir einfach nicht.
Was mache ich denn falsch ? Ich habe auch bei Foren Einstellungen erlaubt, dass die Besucher die Kategorien durchsuchen können, einfach die Threads nicht sehen können...
Soll ich mal die boardindex Datei hier im Forum zeigen ?
Wenn du mir helfen könntest wäre ich froh, habe auch die anderen Beiträge gelesen hat mir leider nicht geholfen.
Quote from: Mermi189 on February 27, 2006, 03:01:04 PM
Was mache ich denn falsch ? Ich habe auch bei Foren Einstellungen erlaubt, dass die Besucher die Kategorien durchsuchen können, einfach die Threads nicht sehen können...
Entweder ist es schon so spät, ich so müde, oder ist steh einfach nur auf dem Schlauch. Aber ich verstehe diesen Satz nicht. Du gibt den Gästen das Recht das Board zu betreten, und weiter?
Mehr musst du eigentlich auch schon nicht mehr machen, außer den Gästen das Recht für dieses Board geben (also der Hacken muss da sein, beim Board)
lg
noex
So ich denke so ist es besser.
Also ich möchte , dass meine Gäste bis hier zu diesem Bild Zugriff haben, aber danach um die Threads zu sehen, sich registrieren müssen.
So hier mal das Bild:
(http://www.bilder-hosting.de/tbnl/I772S.jpg) (http://www.bilder-hosting.de/show/I772S.html)
Ps: Ich habe auch das Häckchen gesetzt dass Gäste mein Forum sehen können...
Ich habe dazu ein Mod gemacht, wo man das per Board einstellen kann und welches die Hintertüren "Recent" und "Calendar" einschliess.
Findest Du auf meine Site (nach der Registrierung) im Downloadbereich ..
Enhanced Board Permission (1.1 RC2)
I have add a new global Permission for each board.
This permission shows as "Warning Guest's".
If you enable this option, Guest can't read any topic on this board, but a Warnig is displayed, to register first.
Fel
und wie lautet der Code dann für SMF 1.1 RC2?
Code? was meinst du?
Quote from: Dark_Neakro on January 02, 2006, 08:42:36 AM
in der RC2 kann man den gästen den kompletten zugriff verweigern
hallo Dar_Neakro!
verstehe ich das richtig, dass man einfach nur bei "Generelle Berechtigungen - Unregistrierte Gäste" die häkchen von den gästen entfernen muss? oder muss man noch was anderes ändern? hab rc2 erst drei tage... ;)
nein du musst im RC2 bei Admin-CP -> Forumeinstellungen -> Gästen das Anschauen des Forums erlauben das Häckchen wegmachen.
Danke! :) das hat sofort geklappt! :D
da freu ich mich aber wirklich! erspart mir eine menge arbeit! *bounce*
Quote from: Dark_Neakro on May 31, 2006, 11:30:26 AM
nein du musst im RC2 bei Admin-CP -> Forumeinstellungen -> Gästen das Anschauen des Forums erlauben das Häckchen wegmachen.
Hallo,
bin neu hier und bisher ganz begeistert von der Software! :)
Habe jedoch eine Frage bzw. ein kl. Problem und verstehe diesen Thread nicht ganz.
Ich habe das Häckchen bei Gäste dürfen das Forum anschauen angeklickt. Denn ich möchte, dass die Gäste das Forum und alle Beiträge lesen können. Dort, wo sie nicht lesen dürfen, habe ich beim Erstellen des Forums das Häckchen bei Gäste rausgenommen.
Jedoch kann man als nicht registriertes Mitglied nicht die Foren einsehen, wie eigentlich gedacht. :-\ Was mache ich da falsch?
Wäre über Hilfe sehr dankbar!
Liebe Grüße, Jessi
Haben diese Problemboards eventuell lokale Berechtigungen?
Quote from: nehcregit on June 22, 2006, 10:44:29 AM
Haben diese Problemboards eventuell lokale Berechtigungen?
Soweit ich weiss, nein.
Bitte dringend um eure Hilfe! :(
Da brauchts einen Admin-Zugang zum Forum, damit man sich das mal anschauen kann. Aber bitte nicht hier öffentlich ;)
Habe das Problem nach wie vor, dass ich das Häckchen gemacht habe, das Gäste das Forum sehen und lesen dürfen. Aber es funktioniert nicht! Gäste sehen nichts! ::)
Wer kann mir helfen?
Ist das Forum wieder da? Woran lags? Meine PM nicht erhalten?
Quote from: nehcregit on June 26, 2006, 09:41:58 AM
Ist das Forum wieder da? Woran lags? Meine PM nicht erhalten?
Hab dir vorhin eine PM geschickt!
Quote from: feline on November 04, 2005, 10:02:03 AM
Um eine ganze Categorie auszuschliessen (was u.U. einfacher ist):
OR b.ID_BOARD IN (##, ##, ##)
durch
OR c.ID_CAT IN (##, ##, ##)
ersetzen.
Für Grössere Bereiche benutze dann OR b.ID_BOARD BETWEEN ## AND ##
Fel
Hi,
danke schonmal für diese Codeschnippsel. Weiß du zufällig auch noch wie eine Negation lauten müsste (also das Gäste nur die Bereiche nicht sehen dürfen, welche *nicht* in der Liste ist)?
Vielleicht so?
OR b.ID_BOARD NOT IN (##, ##, ##)
wie ist es bei der version 1.1.3 Ich habe die codes probiert und irgendwie gehts nicht richtig. Vom Portal aus kommed ich überall rein und wenn ich im Portal auf Forum klicke, dann kommt eine fehlermeldung. Als Registrierter User geht alles normal.
Was heisst vom Portal? TinyPortal oder was?
Wenn dem so ist, wird dein Portal wohl die tabelle selber lesen. Da wirkt die Änderung dann nicht.
In dem fall musst du in deiner Portalsofware suchen, wo diese die Boards liest ...
Fel
Hallochen,
wo was muss ich ändern, damit die User-Profile vom Gast versteckt werden?
Vielen Dank schon mal im Voraus
Olga
Sorry, hab schon gefunden, bei den Berechtigungen:-)
Olga