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.