Seite 1 von 1
Kategorie/Forum von der Anzeige neuer Beiträge ausnehmen
Verfasst: 25.04.2009 19:36
von Olli74
Hat jemand eine Mod oder ein Snippet mit dem ich eine Kategorie oder mehrere Foren von der Anzeige:
"Ungelesene Beiträge anzeigen (123)"
ausnehmen kann?
Hab schon lange Zeit mit Suchen verbracht und bin für jede Hilfe dankbar.
Re: Kategorie/Forum von der Anzeige neuer Beiträge ausnehmen
Verfasst: 25.04.2009 22:11
von Red-Benz
Das geht mit
Code: Alles auswählen
$forum_ids = '32,36,54,55'; // IDs der Foren die nicht angezeigt werden sollen
und die SQL Abfrage mit der Erweiterung
WHERE forum_id NOT IN (". $forum_ids . ")
versehen.
BEISPIEL
case 'postcount':
case 'topiccount':
$sql = "SELECT SUM(forum_topics) AS topic_total, SUM(forum_posts) AS post_total
FROM " . FORUMS_TABLE . "
WHERE forum_id NOT IN (". $forum_ids . ")";
break;
Dieser Code ist überall wo Foren von der Anzeige ausgenommen werden sollen anwendbar.
Gruß
Red Benz
Re: Kategorie/Forum von der Anzeige neuer Beiträge ausnehmen
Verfasst: 26.04.2009 09:12
von Olli74
Ah Super!
Dann muss ich nur noch schauen in welcher php-Datei jetzt diese Anzeige gemacht wird (vermute mal page_header oder so), aber das krieg ich hin.
Dankeschön.
Re: Kategorie/Forum von der Anzeige neuer Beiträge ausnehmen
Verfasst: 16.07.2009 08:05
von Olli74
Ok, die Datei war die includes/functions.php .
Jedoch, auch wenn die Anzahl der Beiträge des entsprechenden Forums nicht mehr in der Anzahl berücksichtigt werden, so werden sie dennoch in der Liste der Beiträge (wenn man auf "Ungelesene Beiträge anzeigen (123)" klickt) angezeigt.
Das sollte nach Möglichkeit ebenfalls verhindert werden.
Ich schätze mal, das müsste in diesem Abschnitt der search.php stattfinden:
Code: Alles auswählen
if ( $search_id == 'newposts' || $search_id == 'egosearch' || ( $search_author != '' && $search_keywords == '' || $search_ip != '' ) )
{
if ( $search_id == 'newposts' )
{
if ( $userdata['session_logged_in'] )
{
$sql = "SELECT post_id
FROM " . POSTS_TABLE . "
WHERE post_time >= " . $userdata['user_lastvisit'];
}
else
{
redirect(append_sid("login.$phpEx?redirect=search.$phpEx&search_id=newposts", true));
}
$show_results = 'topics';
$sort_by = 0;
$sort_dir = 'DESC';
}
Dementsprechend hab ich das jetzt so gemacht (die Variable hab ich nur umbenannt, weil es mir so eher im Gedächtnis bleibt worum es ging):
Code: Alles auswählen
f ( $search_id == 'newposts' || $search_id == 'egosearch' || ( $search_author != '' && $search_keywords == '' || $search_ip != '' ) )
{
if ( $search_id == 'newposts' )
{
if ( $userdata['session_logged_in'] )
{
$forum_notnew = '6';
$sql = "SELECT post_id
FROM " . POSTS_TABLE . "
WHERE forum_id NOT IN (". $forum_notnew . ")
AND post_time >= " . $userdata['user_lastvisit'];
}
else
{
redirect(append_sid("login.$phpEx?redirect=search.$phpEx&search_id=newposts", true));
}
$show_results = 'topics';
$sort_by = 0;
$sort_dir = 'DESC';
}
Es scheint zu funktionieren, soweit ich das bisher sehen kann.