1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-05-06 07:35:29 +02:00

grmbl... another way to get your forum out of sync. ;)

git-svn-id: file:///svn/phpbb/trunk@4663 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Meik Sievertsen 2003-11-13 12:39:11 +00:00
parent 6a701d1cf5
commit 5f91c611d7

View File

@ -591,69 +591,75 @@ function delete_attachments($mode, $ids, $resync = TRUE)
$topic_ids = array_unique($topic_ids);
// Update post indicators
if ($mode == 'post' || $mode == 'topic')
if (sizeof($post_ids))
{
$db->sql_query('UPDATE ' . POSTS_TABLE . '
SET post_attachment = 0
WHERE post_id IN (' . implode(', ', $post_ids) . ')');
}
if ($mode == 'user' || $mode == 'attach')
{
$remaining = array();
$sql = 'SELECT post_id
FROM ' . ATTACHMENTS_TABLE . '
WHERE post_id IN (' . implode(', ', $post_ids) . ')';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$remaining[] = $row['post_id'];
}
$db->sql_fetchrow($result);
$unset_ids = array_diff($post_ids, $remaining);
if (sizeof($delete_ids))
if ($mode == 'post' || $mode == 'topic')
{
$db->sql_query('UPDATE ' . POSTS_TABLE . '
SET post_attachment = 0
WHERE post_id IN (' . implode(', ', $unset_ids) . ')');
WHERE post_id IN (' . implode(', ', $post_ids) . ')');
}
if ($mode == 'user' || $mode == 'attach')
{
$remaining = array();
$sql = 'SELECT post_id
FROM ' . ATTACHMENTS_TABLE . '
WHERE post_id IN (' . implode(', ', $post_ids) . ')';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$remaining[] = $row['post_id'];
}
$db->sql_fetchrow($result);
$unset_ids = array_diff($post_ids, $remaining);
if (sizeof($unset_ids))
{
$db->sql_query('UPDATE ' . POSTS_TABLE . '
SET post_attachment = 0
WHERE post_id IN (' . implode(', ', $unset_ids) . ')');
}
}
}
// Update topic indicator
if ($mode == 'topic')
if (sizeof($topic_ids))
{
$db->sql_query('UPDATE ' . TOPICS_TABLE . '
SET topic_attachment = 0
WHERE topic_id IN (' . implode(', ', $topic_ids) . ')');
}
if ($mode == 'post' || $mode == 'user' || $mode == 'attach')
{
$remaining = array();
$sql = 'SELECT topic_id
FROM ' . ATTACHMENTS_TABLE . '
WHERE topic_id IN (' . implode(', ', $topic_ids) . ')';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
// Update topic indicator
if ($mode == 'topic')
{
$remaining[] = $row['topic_id'];
}
$db->sql_fetchrow($result);
$unset_ids = array_diff($topic_ids, $remaining);
if (sizeof($unset_ids))
{
$db->sql_query('UPDATE ' . TOPICS_TABLE . '
$db->sql_query('UPDATE ' . TOPICS_TABLE . '
SET topic_attachment = 0
WHERE topic_id IN (' . implode(', ', $unset_ids) . ')');
WHERE topic_id IN (' . implode(', ', $topic_ids) . ')');
}
if ($mode == 'post' || $mode == 'user' || $mode == 'attach')
{
$remaining = array();
$sql = 'SELECT topic_id
FROM ' . ATTACHMENTS_TABLE . '
WHERE topic_id IN (' . implode(', ', $topic_ids) . ')';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$remaining[] = $row['topic_id'];
}
$db->sql_fetchrow($result);
$unset_ids = array_diff($topic_ids, $remaining);
if (sizeof($unset_ids))
{
$db->sql_query('UPDATE ' . TOPICS_TABLE . '
SET topic_attachment = 0
WHERE topic_id IN (' . implode(', ', $unset_ids) . ')');
}
}
}
return $num_deleted;
}