MyBB.de Forum
mybb 1.8 Themen für Gäste sichtbar aber nicht lesbar machen - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html)
+--- Thema: mybb 1.8 Themen für Gäste sichtbar aber nicht lesbar machen (/thread-33939.html)

Seiten: Seiten: 1 2 3 4 5 6


mybb 1.8 Themen für Gäste sichtbar aber nicht lesbar machen - Santhony - 23.11.2016

Hallo und guten Abend.
Ich entschuldige mich an dieser Stelle schon einmal, falls das Thema (betreffend für die Version 1.8) irgendwie schon aufgekommen war, aber irgendwie habe ich es trotz Suche nicht geschafft, etwas passendes zu finden.

Und zwar geht es um folgende Thematik:
Wir möchten gern ein(e) Kategorie/Forum für Gäste sichtbar machen, sodass diese in der Index-Übersicht erkennen können, dass sich innerhalb der Unterforen-Foren der besagten Kategorie sich wirklich etwas tut.
Bisher wird bei Beitragszahl und Thema lediglich ein - - angezeigt.

Wie kann ich das umsetzen?
Ich habe bereits einige Threads entdeckt, die das Thema für andere Versionen des myBBs behandelt haben, jedoch haben die Veränderungen keine Wirkung gezeigt.
Ich möchte auch dabei nicht ausschließen, dass es ein Fehler von meiner Seite bei der Editierung war, weshalb es nicht funktioniert.
Dennoch hoffe ich, dass mir hier vielleicht jemand bei dieser Sache helfen kann.

Das zu behandelnde Forum ist HIER zu erreichen.
Veränderungen an der showthread.php oder der forumdisplay.php habe ich wieder rückgängig gemacht, um den laufenden Betrieb nicht zu gefährden.

Die betreffende Kategorie inklusive Unterforen ist die Postingarea (fID =12).

Ich danke schon im Voraus für eure Unterstützung.

Mit freundlichen Grüßen
Santhony


RE: mybb 1.8 Themen für Gäste sichtbar aber nicht lesbar machen - MrBrechreiz - 24.11.2016

https://www.mybb.de/forum/thread-29670-post-198723.html#pid198723


RE: mybb 1.8 Themen für Gäste sichtbar aber nicht lesbar machen - Santhony - 24.11.2016

Hallo und guten Morgen.
Vielen Dank für Ihre Rückantwort MrBrechreiz.

Ich habe die Veränderung an der Showthread.php so durchgeführt, wie in den von Ihnen verlinkten Beitrag angegeben.

Also das Anfügen von

PHP-Code:
if($mybb->user['uid'] == && $forum['fid'] == 12){
 
   error_no_permission();


Jedoch erzielt das leider keine Wirkung.

Lieben Gruß
Santhony


RE: mybb 1.8 Themen für Gäste sichtbar aber nicht lesbar machen - Amaryllion - 04.12.2016

Der Thread heißt zwar gleich, aber hier geht es um etwas anderes. (Also mach das mal fix rückgängig. ^^)
Du willst nämlich, daß Gäste die Zahlen der Beiträge/Themen sehen und wer zuletzt gepostet hat. Aber daß sie das entsprechende Forum trotzdem nicht betreten können.

https://community.mybb.com/thread-171902-post-1163646.html

Wenn jeder, der das braucht, einfach mal eben schreiben würde, daß er es auch braucht, wäre das ja einfach mal nett, denn dann könnte man mal sehen, wie viele Leute das eigentlich brauchen. Und ich stünde nicht so allein da. So bleibts halt dabei, daß es angeblich für kaum jemanden interessant ist...

Weil: Dafür kann man leider kein Plugin schreiben. Aber du kannst für den gewünschten Effekt eine Core-PHP-Datei ändern. Und zwei Templates hinzufügen. Und ein anderes ändern. Und das geht so:


1. Lege ein neues Template an. Name: forumbit_depth2_forum_hidden
Inhalt:
Code:
<tr>
<td class="{$bgcolor}" align="center" valign="center" width="1"><span class="forum_status forum_{$lightbulb['folder']} ajax_mark_read" title="{$lightbulb['altonoff']}" id="mark_read_{$forum['fid']}"></span></td>
<td class="{$bgcolor}" valign="top">
 <span class="lockedforumname">{$forum['name']}</span>{$forum_viewers_text}<div class="smalltext">{$forum['description']}{$modlist}{$subforums}</div>
</td>
<td class="{$bgcolor}" valign="top" align="center" style="white-space: nowrap">{$threads}{$unapproved['unapproved_threads']}</td>
<td class="{$bgcolor}" valign="top" align="center" style="white-space: nowrap">{$posts}{$unapproved['unapproved_posts']}</td>
<td class="{$bgcolor}" valign="top" align="right" style="white-space: nowrap">{$lastpost}</td>
</tr>


2. Lege ein neues Template an. Name: forumbit_depth3_hidden
Inhalt:
Code:
{$comma}{$statusicon}<span class="lockedforumname">{$forum['name']}</span>

3. Ändere das Template mit dem Namen: forumbit_depth2_forum_lastpost_hidden
Neuer Inhalt (laß weg, was du im letzten Post nicht angezeigt haben willst - klar, ne?):
Code:
<div class="smalltext center"><strong>{$lastpost_subject}</strong><br>{$lastpost_date}<br />{$lang->by} {$lastpost_profilelink}</div>


4. Ändere die Datei inc/functions_forumlist.php nach folgender Anweisung
Code:
ersetze:
if(isset($permissions['canviewthreads']) && $permissions['canviewthreads'] != 1)
{
   $hideinfo = true;
}

durch

if(isset($permissions['canviewthreads']) && $permissions['canviewthreads'] != 1)
{
   $hideinfo = true;
// EDIT: => Lock forum if no threads permitted!
$forum_url = "";
$showlockicon = 1;
}

-----------------------

ersetze:
if(isset($permissions['canonlyviewownthreads']) && $permissions['canonlyviewownthreads'] == 1)
{
$hidecounters = true;


durch:

if(isset($permissions['canonlyviewownthreads']) && $permissions['canonlyviewownthreads'] == 1)
{
// EDIT: => Show Counters for everyone!
// $hidecounters = true;

-----------------------


ersetze:
// If we are hiding information (lastpost) because we aren't authenticated against the password for this forum, remove them
if($hidelastpostinfo == true)
{
$lastpost_data = array(
'lastpost' => 0,
'lastposter' => ''
);
}


durch:
// If we are hiding information (lastpost) because we aren't authenticated against the password for this forum, remove them
// EDIT: => No, don't!
/*
if($hidelastpostinfo == true)
{
$lastpost_data = array(
'lastpost' => 0,
'lastposter' => ''
);
}
*/

-----------------------


ersetze:
// Increment the counters for the parent forum (returned later)
if($hideinfo != true && $hidecounters != true)

durch:
// Increment the counters for the parent forum (returned later)
// EDIT: => only no counters when explicitly no counters wanted
// if($hideinfo != true && $hidecounters != true)
if($hidecounters != true)

-----------------------


ersetze:
// Fetch the template and append it to the list
eval("\$forum_list .= \"".$templates->get("forumbit_depth3", 1, 0)."\";");

durch:
// Fetch the template and append it to the list
// EDIT: => hidden if no url:
if($forum_url == "") {
eval("\$forum_list .= \"".$templates->get("forumbit_depth3_hidden", 1, 0)."\";");
}
else {
eval("\$forum_list .= \"".$templates->get("forumbit_depth3", 1, 0)."\";");
}

-----------------------


ersetze:
// Forum is a standard forum, set template type
else
{
$forumcat = '_forum';
}

durch:
// Forum is a standard forum, set template type
else
{

// EDIT: => hidden if no url:
if($forum_url == "") {
$forumcat = '_forum_hidden';
}
else {
$forumcat = '_forum';
}
}
           
-----------------------


ersetze:
if($forum['linkto'] == '')
{
// No posts have been made in this forum - show never text
if(($lastpost_data['lastpost'] == 0 || $lastpost_data['lastposter'] == '') && $hideinfo != true)
{
eval("\$lastpost = \"".$templates->get("forumbit_depth2_forum_lastpost_never")."\";");
}
elseif($hideinfo != true)

durch:
if($forum['linkto'] == '')
{
// EDIT: => Last Date for everyone!
// Format lastpost date and time
$lastpost_date = my_date('relative', $lastpost_data['lastpost']);
               $lastpost_profilelink = build_profile_link($lastpost_data['lastposter'], $lastpost_data['lastposteruid']);
$lastpost_subject = $full_lastpost_subject = $parser->parse_badwords($lastpost_data['lastpostsubject']);
               
// Call hidden lastpost template
if($depth != 1)
{
eval("\$lastpost = \"".$templates->get("forumbit_depth2_forum_lastpost_hidden")."\";");
}

// No posts have been made in this forum - show never text
// EDIT: => Last Date for everyone!
// if(($lastpost_data['lastpost'] == 0 || $lastpost_data['lastposter'] == '') && $hideinfo != true)
if(($lastpost_data['lastpost'] == 0 || $lastpost_data['lastposter'] == ''))
{
eval("\$lastpost = \"".$templates->get("forumbit_depth2_forum_lastpost_never")."\";");
}
elseif($hideinfo != true)

-----------------------


ersetze:
// If this forum is a link or is password protected and the user isn't authenticated, set counters to "-"
if($forum['linkto'] != '' || $hideinfo == true || $hidecounters == true)
{
$posts = "-";
$threads = "-";
}            

durch:
// If this forum is a link or is password protected and the user isn't authenticated, set counters to "-"
// EDIT: => Only hide counters when counters should be explicitly hidden
//if($forum['linkto'] != '' || $hideinfo == true || $hidecounters == true)
if($forum['linkto'] != '' || $hidecounters == true)
{
$posts = "-";
$threads = "-";
}            

-----------------------


ersetze:
// If this forum is a link or is password protected and the user isn't authenticated, set lastpost to "-"
if($forum['linkto'] != '' || $hideinfo == true || $hidelastpostinfo == true)
{
eval("\$lastpost = \"".$templates->get("forumbit_depth2_forum_lastpost_hidden")."\";");
}

durch:
// If this forum is a link or is password protected and the user isn't authenticated, set lastpost to "-"
// EDIT: => too late for hideinfo, already done
//if($forum['linkto'] != '' || $hideinfo == true || $hidelastpostinfo == true)
if($forum['linkto'] != '')
{
eval("\$lastpost = \"".$templates->get("forumbit_depth2_forum_lastpost_hidden")."\";");
}
           

-----------------------


ersetze:
// If the current forums lastpost is greater than other child forums of the current parent and forum info isn't hidden, overwrite it
           if((!isset($parent_lastpost) || $lastpost_data['lastpost'] > $parent_lastpost['lastpost']) && $hideinfo != true)

durch:

// If the current forums lastpost is greater than other child forums of the current parent and forum info isn't hidden, overwrite it
           // EDIT: => $hideinfo removed
           // if((!isset($parent_lastpost) || $lastpost_data['lastpost'] > $parent_lastpost['lastpost']) && $hideinfo != true)
if((!isset($parent_lastpost) || $lastpost_data['lastpost'] > $parent_lastpost['lastpost']) )


Und ich glaube, das müßte es gewesen sein. Sieht jetzt viel aus. Ist es auch. Toungue
Ich übernehme keine Haftung. Und sichere vorher alles.


LG
Ama


RE: mybb 1.8 Themen für Gäste sichtbar aber nicht lesbar machen - MrBrechreiz - 04.12.2016

Danke für die Arbeit die Du dir gemacht hast @Amaryllion. Aber ich kann euer Problem nicht ganz folgen. Was ist an der Methode mit diesen Code

PHP-Code:
if($mybb->user['uid'] == && $forum['fid'] == XX){
    
error_no_permission();


anders, als bei den doch so wenigen Eingriffen von @Amaryllion in den Core ?

Ein Gast soll doch die Aktivität des Forums sehen und nicht nur " - " oder " nie ". Das genau erreicht man doch mit den og. Code.

Extra TPL´s anlegen und so viel am Core verändern, nur wegen einer transparenz, ist meiner Meinung nach zu viel Aufwand.


RE: mybb 1.8 Themen für Gäste sichtbar aber nicht lesbar machen - Amaryllion - 04.12.2016

Es ist das Verhalten, das man in WBB einfach im ACP einstellen kann. Und das vermisse ich. Ich will keine Foren für alle freigeben müssen, nur um sie dann im Code mit einer festen FID-Abfrage wieder zu schließen, ich will sie eigentlich richtig schließen (und das vielleicht nicht nur für Gäste, sondern auch für neue Bewerber oder für eine andere Gruppe) und nur zeigen, wieviel drin ist und wann das letzte Mal was passiert ist.


RE: mybb 1.8 Themen für Gäste sichtbar aber nicht lesbar machen - MrBrechreiz - 04.12.2016

Das Prinzip was ihr vorhabt ist mir schon klar, nur eben euer Weg nicht. Seis drumm, wenn es so geht wie beschrieben und die anderen damit zurecht kommen, ist es ja in Ordnung. Viel Spass dann nur bei jedem Update Toungue


RE: mybb 1.8 Themen für Gäste sichtbar aber nicht lesbar machen - Amaryllion - 04.12.2016

Na wenn es ein leichteres Prinzip gibt, das das Gleiche kann, nehme ich das gerne. Deine Lösung kann aber halt nicht das Gleiche. Und ja, ich habe Spaß bei jedem Update...


RE: mybb 1.8 Themen für Gäste sichtbar aber nicht lesbar machen - MrBrechreiz - 04.12.2016

Mit diesen Plugin sollte es möglich sein.

https://community.mybb.com/mods.php?action=view&pid=807

Und das Fummeln an Core Dateien nach einen Upgrade hat ein Ende.


RE: mybb 1.8 Themen für Gäste sichtbar aber nicht lesbar machen - Amaryllion - 04.12.2016

Danke schon mal für dein Bemühen zu helfen. Smile

Ich bin mir anhand der Beschreibung und der Screenshots noch nicht sicher, ob das Plugin das tut, was ich will.
Wenn ich dort einstelle "Can view forum?"=YES und "Can view threads within forum?"=NO, für wen gilt das dann? Für ganze Gruppen? Für Gäste? Und wird dann auch alles gezählt und der Info zum letzten Beitrag gezeigt?