Simple Subforums - Alle Themen als gelesen markieren

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
Seimon
Mitglied
Beiträge: 893
Registriert: 23.02.2005 18:10
Wohnort: Linz, Österreich

Simple Subforums - Alle Themen als gelesen markieren

Beitrag von Seimon »

Nach dem Einbau des Simple Subforen MODs: http://www.phpbb.com/phpBB/viewtopic.php?t=336974

sieht die Stelle "Handle marking posts" in meiner viewforum.php so aus:

Code: Alles auswählen

//
// Handle marking posts
//
if ( $mark_read == 'topics' )
{


	// Begin Simple Subforums MOD
	$mark_list = ( isset($HTTP_GET_VARS['mark_list']) ) ? explode(',', $HTTP_GET_VARS['mark_list']) : array($forum_id);
	$old_forum_id = $forum_id;
	// End Simple Subforums MOD


	if ( $userdata['session_logged_in'] )
	{
		$sql = "SELECT MAX(post_time) AS last_post
			FROM " . POSTS_TABLE . "
			WHERE forum_id = $forum_id";
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, 'Could not obtain forums information', '', __LINE__, __FILE__, $sql);
		}

		if ( $row = $db->sql_fetchrow($result) )
		{
			$tracking_forums = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) : array();
			$tracking_topics = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) : array();

			if ( ( count($tracking_forums) + count($tracking_topics) ) >= 150 && empty($tracking_forums[$forum_id]) )
			{
				asort($tracking_forums);
				unset($tracking_forums[key($tracking_forums)]);
			}

			if ( $row['last_post'] > $userdata['user_lastvisit'] )
			{
				$tracking_forums[$forum_id] = time();

//				setcookie($board_config['cookie_name'] . '_f', serialize($tracking_forums), 0, $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);
				// Begin Simple Subforums MOD
				$set_cookie = true;
				if( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) )
				{
					$HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f'] = serialize($tracking_forums);
				}
				// End Simple Subforums MOD


			}
		}


		// Begin Simple Subforums MOD
		if( $set_cookie )
		{
			setcookie($board_config['cookie_name'] . '_f', serialize($tracking_forums), 0, $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);
		}
		$forum_id = $old_forum_id;
		// End Simple Subforums MOD



		$template->assign_vars(array(
			'META' => '<meta http-equiv="refresh" content="3;url=' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id") . '">')
		);
	}

	$message = $lang['Topics_marked_read'] . '<br /><br />' . sprintf($lang['Click_return_forum'], '<a href="' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id") . '">', '</a> ');
	message_die(GENERAL_MESSAGE, $message);
}
//
// End handle marking posts
//
Fängt ja ganz gut an... Er holt sich aus den GET Variablen aus dem Link:

Code: Alles auswählen

viewforum.php?f=35&mark=topics&mark_list=40,35
die "mark_list", aber dann ??

Die Liste wird dann gar nicht mehr verwendet... [Sie wird weiter unten verwendet um den Link zu generieren ;)]

Und mir ist schleierhaft, was die anderen 2 Änderungen in diesem Codeabschnitt bewirken sollen.


Wenn ich auf den Link klicke sind im Forum 35 alle gelesen, im Forum 40 bleibt alles ungelesen, wie es vorher war.


Hat jemand einen Tipp für mich? :)
Antworten

Zurück zu „phpBB 2.0: Mod Support“