Post
Topic
Board Meta
Re: Quoting from locked threads (SMF patch)
by
Quickseller
on 15/06/2024, 07:08:31 UTC

Code:

+ // Previous posts won't be displayed by the template when $context['only_peeking'] is true, so save some cycles...
+ $limit = $context['only_peeking'] ? ' LIMIT 0' : $limit;
+
  // If you're modifying, get only those posts before the current one. (otherwise get all.)
  $request = db_query("
  SELECT IFNULL(mem.realName, m.posterName) AS posterName, m.posterTime, m.body, m.smileysEnabled, m.ID_MSG
  FROM {$db_prefix}messages AS m
  LEFT JOIN {$db_prefix}members AS mem ON (mem.ID_MEMBER = m.ID_MEMBER)
  WHERE m.ID_TOPIC = $topic" . (isset($_REQUEST['msg']) ? "
  AND m.ID_MSG < " . (int) $_REQUEST['msg'] : '') . "
  ORDER BY m.ID_MSG DESC$limit", __FILE__, __LINE__);
  $context['previous_posts'] = array();
  while ($row = mysql_fetch_assoc($request))
  {
  // Censor, BBC, ...
  censorText($row['body']);
  $row['body'] = parse_bbc($row['body'], $row['smileysEnabled'], $row['ID_MSG']);
 

I am not 100% certain, but this may be an unnecessary query to the database. When quoting from a locked thread, the limit is set to zero, so no rows will be returned in the query, but the query will still run.