Pagina 1 van 2

Shoutbox posts

Geplaatst: 17 okt 2004, 18:32
door Mandrake Linux
Hallo
is er ook een mod
dat je onder je normaale post ook de shoutbox post heb staan

Dus post : 629
Shoutbox : 56
zo iets kan dat ?

Geplaatst: 18 okt 2004, 00:14
door mosymuis
Begin eens met te vertellen welke shoutbox je gebrukt. ;)

Geplaatst: 19 okt 2004, 19:31
door Mandrake Linux
de small shotubox :)

Geplaatst: 20 okt 2004, 21:11
door lordofhetringetje
ik zou dat ook wel willen weten, ik heb er nog geen shoutbox instaan dus jullie kunnen er gelijk bij vertellen welke ik het best kan gebruiken

Geplaatst: 20 okt 2004, 21:16
door mosymuis
Ik geloof niet dat de huidige shoutbox mods deze feature hebben, je zal het er dus zelf aan moeten toevoegen. Mijn forum kent dat wel, maar gebruikt geen standaard mod.

Geplaatst: 20 okt 2004, 21:18
door lordofhetringetje
helaas heb ik er niet zo veel verstand van, ik kan wel pagina's aanpassen maar niet zelf mod's maken etc.

Geplaatst: 20 okt 2004, 21:18
door Luuk
het gaat wel als de shouts worden opgeslagen in je database met user_id nummer (wat hetzelfde is aan alle andere user_id's)

Geplaatst: 20 okt 2004, 21:20
door lordofhetringetje
daar word ik ook niet wijzer van

Geplaatst: 20 okt 2004, 21:21
door mosymuis
Het gemakkelijkste is om alle shouts op te laten slaan in phpbb_users als user_shouts. Zo heb ik dat ook gedaan.

Geplaatst: 20 okt 2004, 21:22
door lordofhetringetje
en hoe sla ik ze op?

Geplaatst: 20 okt 2004, 21:23
door Luuk
op dezelfde manier als user_posts, kijk daarvoor maar eens in includes/functions_post.php :wink:

Geplaatst: 20 okt 2004, 21:29
door lordofhetringetje
is dit 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';
	}

	$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 = "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;
}

Geplaatst: 21 okt 2004, 11:00
door lordofhetringetje
:?:

Geplaatst: 21 okt 2004, 12:02
door Luuk
ja, het princiepe staat daar in.

Geplaatst: 21 okt 2004, 13:56
door lordofhetringetje
maar hoe zorg ik er nou voor dat dat omgezet wordt voor het opslaan van profiel posts of post in de shoutbox?

Geplaatst: 21 okt 2004, 14:42
door Luuk
bij het posten van een shout:

Code: Selecteer alles

$sql = "UPDATE " . USERS_TABLE . " 
         SET user_shouts = user_shouts '+1'
         WHERE user_id = $user_id"; 
      if (!$db->sql_query($sql, END_TRANSACTION)) 
      { 
         message_die(GENERAL_ERROR, 'Error in updating user_shouts', '', __LINE__, __FILE__, $sql); 
      } 
en bij het verwijderen

Code: Selecteer alles

$sql = "UPDATE " . USERS_TABLE . " 
         SET user_shouts = user_shouts '-1'
         WHERE user_id = $user_id"; 
      if (!$db->sql_query($sql, END_TRANSACTION)) 
      { 
         message_die(GENERAL_ERROR, 'Error in updating user_shouts', '', __LINE__, __FILE__, $sql); 
      } 

Geplaatst: 21 okt 2004, 14:48
door lordofhetringetje
en dat komt gewoon onder die code op de vorige pagina

Geplaatst: 21 okt 2004, 15:16
door Mandrake Linux
ik wil gewoon
dat er een post komen te staan
en daar onder de shoutpost :D

Geplaatst: 21 okt 2004, 15:18
door mosymuis
lordofhetringetje schreef:en dat komt gewoon onder die code op de vorige pagina
Natuurlijk niet, dat moet je plaatsen in je shoutbox code.

Geplaatst: 21 okt 2004, 19:25
door lordofhetringetje
mosymuis schreef:
lordofhetringetje schreef:en dat komt gewoon onder die code op de vorige pagina
Natuurlijk niet, dat moet je plaatsen in je shoutbox code.
ok en ik moet natuurlijk ook een tabel aanmaken in mijn database :?:

ps: we zijn niet allemaal zo slim op het gebied van php etc als jij mosymuis