Pagina 1 van 1
					
				Tijd en naam poster achter forum klopt niet
				Geplaatst: 03 sep 2006, 12:42
				door LDawg
				Support Template
- Wat is het probleem? De tijden en de laatste poster achter de forums zijn ermee gestopt
Wanneer ontstond het probleem? 31 augustus dacht ik 
Adres van je forum: http://www.pokesea.siteburg.com/forum
Modifications op je forum: Yellow Card, Quick Reply en nog een aantal
Huidige stijl: Anubis
phpBB versie: 2.0.21
Waar is je forum gehost: siteburg 
Heb je onlangs iets verandert aan je forum? stijl, mods geinstalleerd 
Overige opmerkingen:
Het is vrij lastig, omdat je niet makkelijk kan zien waar er het laatst gepost is.
Help please 

 
			 
			
					
				
				Geplaatst: 03 sep 2006, 12:45
				door Astro
				er staat toch elke post een data en een tijd achter  ? alleen je hebt je gmt te laag staan moet je +1 doen je forum loopt een uur achter
			 
			
					
				
				Geplaatst: 03 sep 2006, 12:46
				door Raimon
				Wat is de laatse MOD die je op u forum heeft geinstalleerd?
			 
			
					
				
				Geplaatst: 03 sep 2006, 12:47
				door LDawg
				Ja maar erna zijn er allang weer posts gemaakt vandaag enzo. Maar er blijft staan 30 aug en 31 aug...
De tijd staat op GMT +1
			 
			
					
				
				Geplaatst: 03 sep 2006, 12:48
				door Astro
				o nee nu snap ik hem
solly
			 
			
					
				
				Geplaatst: 04 sep 2006, 11:27
				door LDawg
				Raimon schreef:Wat is de laatse MOD die je op u forum heeft geinstalleerd?
De laatste was dat de topic titel boven de tijd en de poster achter het forum komt te staan. Maar daar ligt het niet aan, want als ik die naar de standaard index.php overzet maakt het geen verschil.
Daarvoor was de yellow card mod de laatste, en zeg maar jij, ik ben nog maar 16 

 
			 
			
					
				
				Geplaatst: 04 sep 2006, 14:27
				door Luuk
				Staat dit nog in includes/functions_post.php ?
Code: Selecteer alles
		$sql = "UPDATE " . FORUMS_TABLE . " SET 
			$forum_update_sql 
			WHERE forum_id = $forum_id";
		if (!$db->sql_query($sql))
		{
			message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
		}
Om het nu recht te krijgen moet je in het admin paneel bij forum management voor elk forum op sync klikken (rechts), dan zou hij als het goed is alles opnieuw moeten berekenen.
 
			 
			
					
				
				Geplaatst: 04 sep 2006, 16:05
				door LDawg
				Ja! Bedankt, hij doet het nu helemaal goed! Echt bedankt!
 
EDIT:
Hij doet het niet helemaal ><
Moet ik dat stukje script wat jij gaf ergens plaatsen of verwijderen ofzo?
 
			 
			
					
				
				Geplaatst: 04 sep 2006, 18:49
				door Luuk
				Post hier eens het stuk uit includes/functions_post.php van
tot
Dat is de gehele functie update_post_stats(...).
 
			 
			
					
				
				Geplaatst: 04 sep 2006, 19:48
				door LDawg
				Hier is het:
Code: Selecteer alles
//
// Update post stats and details
//
function update_post_stats(&$mode, &$post_data, &$forum_id, &$topic_id, &$post_id, &$user_id)
{
	global $db;
	$sign = ($mode == 'delete') ? '- 1' : '+ 1';
	$forum_update_sql = "forum_posts = forum_posts $sign";
	$topic_update_sql = '';
	if ($mode == 'delete')
	{
		if ($post_data['last_post'])
		{
			if ($post_data['first_post'])
			{
				$forum_update_sql .= ', forum_topics = forum_topics - 1';
			}
			else
			{
				$topic_update_sql .= 'topic_replies = topic_replies - 1';
				$sql = "SELECT MAX(post_id) AS last_post_id
					FROM " . POSTS_TABLE . " 
					WHERE topic_id = $topic_id";
				if (!($result = $db->sql_query($sql)))
				{
					message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
				}
				if ($row = $db->sql_fetchrow($result))
				{
					$topic_update_sql .= ', topic_last_post_id = ' . $row['last_post_id'];
				}
			}
			if ($post_data['last_topic'])
			{
				$sql = "SELECT MAX(post_id) AS last_post_id
					FROM " . POSTS_TABLE . " 
					WHERE forum_id = $forum_id"; 
				if (!($result = $db->sql_query($sql)))
				{
					message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
				}
				if ($row = $db->sql_fetchrow($result))
				{
					$forum_update_sql .= ($row['last_post_id']) ? ', forum_last_post_id = ' . $row['last_post_id'] : ', forum_last_post_id = 0';
				}
			}
		}
		else if ($post_data['first_post']) 
		{
			$sql = "SELECT MIN(post_id) AS first_post_id
				FROM " . POSTS_TABLE . " 
				WHERE topic_id = $topic_id";
			if (!($result = $db->sql_query($sql)))
			{
				message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
			}
			if ($row = $db->sql_fetchrow($result))
			{
				$topic_update_sql .= 'topic_replies = topic_replies - 1, topic_first_post_id = ' . $row['first_post_id'];
			}
		}
		else
		{
			$topic_update_sql .= 'topic_replies = topic_replies - 1';
		}
	}
	else if ($mode != 'poll_delete')
	{
		$forum_update_sql .= ", forum_last_post_id = $post_id" . (($mode == 'newtopic') ? ", forum_topics = forum_topics $sign" : ""); 
		$topic_update_sql = "topic_last_post_id = $post_id" . (($mode == 'reply') ? ", topic_replies = topic_replies $sign" : ", topic_first_post_id = $post_id");
	}
	else 
	{
		$topic_update_sql .= 'topic_vote = 0';
	}
		if ($mode != 'poll_delete')
	{
		$sql = "SELECT forum_count_posts FROM ". FORUMS_TABLE . " WHERE forum_id = " . $forum_id;
		$result = $db->sql_query($sql);
		if( $row = $db->sql_fetchrow($result) ) 
		{ 
			if( $row['forum_count_posts'] == 1 )
			{
				$sql = "UPDATE " . USERS_TABLE . "
					SET user_posts = user_posts $sign 
					WHERE user_id = $user_id";
				if (!$db->sql_query($sql, END_TRANSACTION))
				{
					message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
				}
			}
		}
	}
	if ($topic_update_sql != '')
	{
		$sql = "UPDATE " . TOPICS_TABLE . " SET 
			$topic_update_sql 
			WHERE topic_id = $topic_id";
		if (!$db->sql_query($sql))
		{
			message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
		}
	}
	return;
}
//
// Delete a post/poll
//
 
			 
			
					
				
				Geplaatst: 04 sep 2006, 19:56
				door Luuk
				Daar zit inderdaad de fout, je hebt wat verkeerds gewijzigd bij ik denk een mod die ervoor zorgt dat bepaalde forums niet meetellen bij de user postcount.
Vervang dat stuk eens met
Code: Selecteer alles
//
// Update post stats and details
//
function update_post_stats(&$mode, &$post_data, &$forum_id, &$topic_id, &$post_id, &$user_id)
{
	global $db;
	$sign = ($mode == 'delete') ? '- 1' : '+ 1';
	$forum_update_sql = "forum_posts = forum_posts $sign";
	$topic_update_sql = '';
	if ($mode == 'delete')
	{
		if ($post_data['last_post'])
		{
			if ($post_data['first_post'])
			{
				$forum_update_sql .= ', forum_topics = forum_topics - 1';
			}
			else
			{
				$topic_update_sql .= 'topic_replies = topic_replies - 1';
				$sql = "SELECT MAX(post_id) AS last_post_id
					FROM " . POSTS_TABLE . " 
					WHERE topic_id = $topic_id";
				if (!($result = $db->sql_query($sql)))
				{
					message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
				}
				if ($row = $db->sql_fetchrow($result))
				{
					$topic_update_sql .= ', topic_last_post_id = ' . $row['last_post_id'];
				}
			}
			if ($post_data['last_topic'])
			{
				$sql = "SELECT MAX(post_id) AS last_post_id
					FROM " . POSTS_TABLE . " 
					WHERE forum_id = $forum_id"; 
				if (!($result = $db->sql_query($sql)))
				{
					message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
				}
				if ($row = $db->sql_fetchrow($result))
				{
					$forum_update_sql .= ($row['last_post_id']) ? ', forum_last_post_id = ' . $row['last_post_id'] : ', forum_last_post_id = 0';
				}
			}
		}
		else if ($post_data['first_post']) 
		{
			$sql = "SELECT MIN(post_id) AS first_post_id
				FROM " . POSTS_TABLE . " 
				WHERE topic_id = $topic_id";
			if (!($result = $db->sql_query($sql)))
			{
				message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
			}
			if ($row = $db->sql_fetchrow($result))
			{
				$topic_update_sql .= 'topic_replies = topic_replies - 1, topic_first_post_id = ' . $row['first_post_id'];
			}
		}
		else
		{
			$topic_update_sql .= 'topic_replies = topic_replies - 1';
		}
	}
	else if ($mode != 'poll_delete')
	{
		$forum_update_sql .= ", forum_last_post_id = $post_id" . (($mode == 'newtopic') ? ", forum_topics = forum_topics $sign" : ""); 
		$topic_update_sql = "topic_last_post_id = $post_id" . (($mode == 'reply') ? ", topic_replies = topic_replies $sign" : ", topic_first_post_id = $post_id");
	}
	else 
	{
		$topic_update_sql .= 'topic_vote = 0';
	}
	if ($mode != 'poll_delete')
	{
		$sql = "UPDATE " . FORUMS_TABLE . " SET 
			$forum_update_sql 
			WHERE forum_id = $forum_id";
		if (!$db->sql_query($sql))
		{
			message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
		}
	}
	if ($topic_update_sql != '')
	{
		$sql = "UPDATE " . TOPICS_TABLE . " SET 
			$topic_update_sql 
			WHERE topic_id = $topic_id";
		if (!$db->sql_query($sql))
		{
			message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
		}
	}
	if ($mode != 'poll_delete')
	{
		$sql = "SELECT forum_count_posts FROM ". FORUMS_TABLE . " WHERE forum_id = " . $forum_id;
 		$result = $db->sql_query($sql);
		if( $row = $db->sql_fetchrow($result) )
		{
			if( $row['forum_count_posts'] == 1 )
			{
				$sql = "UPDATE " . USERS_TABLE . "
					SET user_posts = user_posts $sign
					WHERE user_id = $user_id";
				if (!$db->sql_query($sql, END_TRANSACTION))
				{
					message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
				}
			}
		}
	}
	return;
}
//
// Delete a post/poll
//
 
			 
			
					
				
				Geplaatst: 04 sep 2006, 20:06
				door LDawg
				Ik heb het erin geplaatst, maar het heeft geen verschil gemaakt... 
