Beiträge: 121
Themen: 33
Registriert seit: 07.04.2006
Hallo ihr Experten,
möchte gern folgendes durchführen:
Habe in meinem Forum eine Kategorie mit nur einem Forum die nur für eine bestimmte Benutzergruppe zugänglich ist.
Einstellungen habe ich so, dass auch die Kategorie und das Forum in der Übersicht für alle angezeigt wird. Das will ich auch so beibehalten.
Nun zu meinem Problem:
Da in diesem Forum gewisse Beiträge gepostet werden sollen, die nicht jeder sehen soll müsste jetzt in der Forenübersicht die Spalte "Letzter Beitrag leer bleiben. (siehe auch Bild).
Auf dem Bild habe ich nochmal mit rot umrandet, was nicht mehr angezeigt werden soll.
Hat einer eine Idee, wie man das umsetzen kann?
Gruß,
BOGA
Link zum Bild
Beiträge: 2.769
Themen: 28
Registriert seit: 18.03.2006
Möchtest du die Spalte komplett weg haben, nur die Spalte leer lassen? Sollen Leute, die zugangsberechtigung zu dem Forum haben, das Feld sehen können?
Beiträge: 121
Themen: 33
Registriert seit: 07.04.2006
Also die Spalte sollte zusehen sein, aber der Inhalt soll leer sein.
Wenn man es hin bekommt, dass die zugangsberechtigten User das sehen können, würde ich auch gern machen, muss aber nicht sein.
Gruß,
BOGA
Beiträge: 18.383
Themen: 257
Registriert seit: 09.02.2005
06.06.2006, 17:50
(Dieser Beitrag wurde zuletzt bearbeitet: 06.06.2006, 17:52 von Michael.)
Versuche es so:
Erstelle ein Template mit dem Namen forumbit_lastpost_empty ohne Inhalt.
Öffne die Datei index.php und suche nach:
PHP-Code:
$lastpostdate = mydate($mybb->settings['dateformat'], $forum['lastpost']);
$lastposttime = mydate($mybb->settings['timeformat'], $forum['lastpost']);
$lastposter = $forum['lastposter'];
$lastposttid = $forum['lastposttid'];
$lastpostsubject = $fulllastpostsubject = $forum['lastpostsubject'];
if(strlen($lastpostsubject) > 25)
{
$lastpostsubject = substr($lastpostsubject, 0, 25) . "...";
}
$lastpostsubject = htmlspecialchars_uni(dobadwords($lastpostsubject));
$fulllastpostsubject = htmlspecialchars_uni(dobadwords($fulllastpostsubject));
eval("\$lastpost = \"".$templates->get("forumbit_depth$depth$forumcat"."_lastpost")."\";");
Ersetzen durch:
PHP-Code:
if($forum['fid'] == "x" && ($mybb->user['usergroup'] != "y" || $mybb->user['usergroup'] != "z")) {
eval("\$lastpost = \"".$templates->get("forumbit_lastpost_empty")."\";");
} else {
$lastpostdate = mydate($mybb->settings['dateformat'], $forum['lastpost']);
$lastposttime = mydate($mybb->settings['timeformat'], $forum['lastpost']);
$lastposter = $forum['lastposter'];
$lastposttid = $forum['lastposttid'];
$lastpostsubject = $fulllastpostsubject = $forum['lastpostsubject'];
if(strlen($lastpostsubject) > 25)
{
$lastpostsubject = substr($lastpostsubject, 0, 25) . "...";
}
$lastpostsubject = htmlspecialchars_uni(dobadwords($lastpostsubject));
$fulllastpostsubject = htmlspecialchars_uni(dobadwords($fulllastpostsubject));
}
eval("\$lastpost = \"".$templates->get("forumbit_depth$depth$forumcat"."_lastpost")."\";");
Ersetze x durch die ID des Forums und y und z durch die IDs der Benutzergruppen, die Zugriff auf das Forum haben. Du kannst natürlich den Code um weitere Gruppen erweitern
Gruß,
Michael
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Beiträge: 121
Themen: 33
Registriert seit: 07.04.2006
Hallo Michael,
hat soweit alles geklappt bis auf,
Zitat:Michael schrieb:
Erstelle ein Template mit dem Namen forumbit_lastpost_empty ohne Inhalt.
Hat er nicht angenommen, daraufhin habe ich folgendes Template erstellt:
Code:
<span class="smalltext"> -
</span>
Ergebnis siehe hier.
[Bild:
http://Serv1.imagehigh.com/imgs/ih000001...eitrag.jpg]
Wie müsste der Code aussehen, dass nur ein Strich, so wie ich es gerne hätte, dargestellt wird?
Mit der Änderung der index.phpp hat alles geklappt soweit ich es sehe.
Danke und Grüße,
BOGA
Beiträge: 18.383
Themen: 257
Registriert seit: 09.02.2005
Es sollte auch einfacher gehen, dazu musst du auch kein Template bearbeiten: Öffne die Datei index.php und suche nach:
PHP-Code:
if($forum['password'] != "" && $_COOKIE['forumpass'][$forum['fid']] != md5($mybb->user['uid'].$forum['password']))
Ersetze die Zeile durch:
PHP-Code:
if(($forum['password'] != "" && $_COOKIE['forumpass'][$forum['fid']] != md5($mybb->user['uid'].$forum['password'])) || ($forum['fid'] == "x" && ($mybb->user['usergroup'] != "y" || $mybb->user['usergroup'] != "z")))
Ersetze hier wieder x, y und z wie gehabt.
Gruß,
Michael
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Beiträge: 121
Themen: 33
Registriert seit: 07.04.2006
Hat prima geklappt.
Danke.
So jetzt müssen wir nur noch diese Beiträge aus der Liste "Letzte Beiträge" auf der Portalseite und aus den Suchfunktionen "Neueste Beiträge" und "Heutige Beiträge" heraus bekommen.
Wäre nett wenn einer mir da noch weiter helfen kann!
Gruß,
BOGA
Beiträge: 2.769
Themen: 28
Registriert seit: 18.03.2006
Kann sein, dass ich jetzt großen Unsinn erzähle, aber wenn man nicht die Berechtigungen zum Sehen dieses Beitrags hat, sollte der bie den Suchergebnissen nicht bei sein?!
Beiträge: 121
Themen: 33
Registriert seit: 07.04.2006
Ja das ist so, wenn man die Einstellungen im AdminCP so eingestellt hat, dass die Foren, wo man keine Berechtigungen hat, auch versteckt sind.
Habe ich allerdings nicht. Bei mir sind alle Foren zusehen, jedoch kein Zugang haben.
Somit werden auch die Letzten Beiträge für die User angezeigt, die keinen Zutritt haben.
Nun müssen halt diese "Letzten Beiträge" nicht erscheinen, damit kein anderer User anhand des Titels erkennen kann, was da gepsoetet wird.
Gruß,
BOGA
Beiträge: 121
Themen: 33
Registriert seit: 07.04.2006
Hat denn keiner ne Idee wie ich die Beiträge aus dem VIP-Forum aus der Übersicht Letzte Beiträge im Portal und bei der Suche Neueste Beiträge und Heutige Beiträge diese weg bekomme?
Helft mir doch weiter!!!!
Gruß,
Boga