Seite 1 von 2

Beitrag ungelesen markieren

Verfasst: 13.03.2009 15:45
von tafelsalz
Da es die Mods irgendwie übersehen meine Anfrage von Administration und Benutzung zu verschieben mache ich hier mal neu auf.

Ich suche eine Mod, mit der ich Beiträge als ungelesen markieren kann für andere User.
Ich habe folgendes gefunden: http://www.phpbb.com/community/viewtopi ... &t=1055665

Bei der Mod wird aber das Datum verändert, das möchte ich nicht. Kennt jemand von euch
da eine Mod?

Re: Beitrag ungelesen markieren

Verfasst: 13.03.2009 16:52
von BaerchenHH
Das suche ich (bekannterweise) ja auch... habe bisher aber besseres nichts gefunden - gibt es wohl anscheinend noch nicht.

Re: Beitrag ungelesen markieren

Verfasst: 13.03.2009 20:26
von carooo
Ich schaue mir das mal an und bastel ein wenig dran rum, vielleicht finde ich ja eine Lösung :D

Re: Beitrag ungelesen markieren

Verfasst: 13.03.2009 21:53
von Tim
Öffne: includes/functions_posting.php

Finde:

Code: Alles auswählen

	// First of all make sure the subject and topic title are having the correct length.
Füge danach statt

Code: Alles auswählen

// Start : Mark edited posts as unread MOD	
	if($post_mode == 'edit_last_post' || $post_mode == 'edit_topic')
	{
		$sql_update_posts = 'UPDATE ' . POSTS_TABLE . '
				SET post_time = ' . $current_time . '
				WHERE post_id = ' . $data['post_id'] . ' 
					AND topic_id = ' . $data['topic_id'];
		$db->sql_query($sql_update_posts);

		$sql_update_topics = 'UPDATE ' . TOPICS_TABLE . ' 
				SET topic_last_post_time = ' . $current_time . ' 
				WHERE topic_id = ' . $data['topic_id'];
		$db->sql_query($sql_update_topics);            
	
		update_post_information('forum', $data['forum_id']);
		markread('post', $data['forum_id'], $data['topic_id'], $data['post_time']);
	}
// End : Mark edited posts as unread MOD
folgendes ein:

Code: Alles auswählen

// Start : Mark edited posts as unread MOD	
	if($post_mode == 'edit_last_post' || $post_mode == 'edit_topic')
	{
		$sql_update_posts = 'UPDATE ' . POSTS_TABLE . '
				SET post_time = ' . $data['post_time'] . '
				WHERE post_id = ' . $data['post_id'] . ' 
					AND topic_id = ' . $data['topic_id'];
		$db->sql_query($sql_update_posts);

		$sql_update_topics = 'UPDATE ' . TOPICS_TABLE . ' 
				SET topic_last_post_time = ' . $current_time . ' 
				WHERE topic_id = ' . $data['topic_id'];
		$db->sql_query($sql_update_topics);            
	
		update_post_information('forum', $data['forum_id']);
		markread('post', $data['forum_id'], $data['topic_id'], $data['post_time']);
	}
// End : Mark edited posts as unread MOD
Änderung liegt in Zeile 5, damit bleibt die Zeit wie sie ist. :wink: LG Tim

Re: Beitrag ungelesen markieren

Verfasst: 13.03.2009 22:36
von BaerchenHH
Mist... meine Area51 ist z.Zt. down...

Bei .com hatte ich das mal angemerkt..

War ich zu undeutlich mit meinem gebrochenen Englisch?
http://www.phpbb.com/community/viewtopi ... 5#p7243645

Théonaute hatte ja direkt geantwortet, daß die Zeit zwingend geändert werden müßte, damit es funktioniert...

Re: Beitrag ungelesen markieren

Verfasst: 13.03.2009 23:46
von Tim
Tja, Fehlinformation, probier es aus, bei mir läuft es so :wink: :geek:

Re: Beitrag ungelesen markieren

Verfasst: 13.03.2009 23:50
von BaerchenHH
Das wäre mein fehlendes Mosaiksteinchen - wäre obergeil...

mache ich, sobald mein Testboard wieder online ist!
Schonmal besten Dank dafür :D

Re: Beitrag ungelesen markieren

Verfasst: 14.03.2009 00:01
von Tim
Gerne, habe es ja auch für mich gemacht. :wink:
Glaube es funktioniert, weil die Zeit ja neu gesetzt wird aber einfach der Wert aus der post_time genommen wird. :wink:

Re: Beitrag ungelesen markieren

Verfasst: 14.03.2009 01:06
von BaerchenHH
Wenn dem so ist, also die Zeit neu gesetzt wird, aber Wert aus der post_time genommen wird, dann müßte das aber dennoch irgendwo in der DB eingetragen werden, worauf sich der "if_neue_Zeit > post_time = post_unread"-Code beziehen kann, oder?
[ externes Bild ]

Re: Beitrag ungelesen markieren

Verfasst: 14.03.2009 07:47
von Tim
So ganz verstehe ich nicht, was du meinst :D
Schau mal, die vorherige Posttime wurde durch die aktuelle Zeit ($current_time) ersetzt, die Zeit wurde also neu in die DB eingetragen.
Mit der Änderung wird die Zeit auch neu eingetragen, nur ist es die gleiche Zeit, da der Wert aus der 'post_time' verwendet wird. :wink:

Allerdings ist mir mittlerweile ein Problem aufgefallen:
Beiträge, die von anderen bearbeitet wurden, erscheinen ungelesen, auch wenn man sie angeschaut hat.
Sie werden erst ungelesen, wenn man in dem Forum den Button "Alle Themen als gelesen markieren" klickt.
Da muss ich noch mal nach schauen, wie sich das lösen lässt. Leider lässt auch mein Englisch zu wünschen übrig. :geek: