Aslında tamamen aynı mantık, yalnız bu defa ileti gönderme flood kontrolünü bulup bunu sorgu içine alıyoruz.

[ AÇ ]

includes/functions_post.php

[ BUL ]

	if ($mode == 'newtopic' || $mode == 'reply' || $mode == 'editpost') 
	{
		//
		// Flood control
		//
		$where_sql = ($userdata['user_id'] == ANONYMOUS) ? "poster_ip = '$user_ip'" : 'poster_id = ' . $userdata['user_id'];
		$sql = "SELECT MAX(post_time) AS last_post_time
			FROM " . POSTS_TABLE . "
			WHERE $where_sql";
		if ($result = $db->sql_query($sql))
		{
			if ($row = $db->sql_fetchrow($result))
			{
				if (intval($row['last_post_time']) > 0 && ($current_time - intval($row['last_post_time'])) < intval($board_config['flood_interval']))
				{
					message_die(GENERAL_MESSAGE, $lang['Flood_Error']);
				}
			}
		}
	}
	
[ BUNUNLA DEĞİŞTİR ]

	if($userdata['user_level'] != ADMIN && $userdata['user_level'] != MOD)
	{
		if ($mode == 'newtopic' || $mode == 'reply' || $mode == 'editpost') 
		{
			//
			// Flood control
			//
			$where_sql = ($userdata['user_id'] == ANONYMOUS) ? "poster_ip = '$user_ip'" : 'poster_id = ' . $userdata['user_id'];
			$sql = "SELECT MAX(post_time) AS last_post_time
				FROM " . POSTS_TABLE . "
				WHERE $where_sql";
			if ($result = $db->sql_query($sql))
			{
				if ($row = $db->sql_fetchrow($result))
				{
					if (intval($row['last_post_time']) > 0 && ($current_time - intval($row['last_post_time'])) < intval($board_config['flood_interval']))
					{
						message_die(GENERAL_MESSAGE, $lang['Flood_Error']);
					}
				}
			}
		}
	}