Bugfix: some tracked post citations were not being purged upon thread deletion
This commit is contained in:
parent
c0968639c4
commit
88092e4f9e
|
@ -829,6 +829,8 @@
|
||||||
else return false;
|
else return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$ids = array();
|
||||||
|
|
||||||
// Delete posts and maybe replies
|
// Delete posts and maybe replies
|
||||||
while($post = $query->fetch()) {
|
while($post = $query->fetch()) {
|
||||||
if(!$post['thread']) {
|
if(!$post['thread']) {
|
||||||
|
@ -846,15 +848,17 @@
|
||||||
// Delete file
|
// Delete file
|
||||||
file_unlink($board['dir'] . $config['dir']['img'] . $post['file']);
|
file_unlink($board['dir'] . $config['dir']['img'] . $post['file']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$ids[] = (int)$post['id'];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$query = prepare(sprintf("DELETE FROM `posts_%s` WHERE `id` = :id OR `thread` = :id", $board['uri']));
|
$query = prepare(sprintf("DELETE FROM `posts_%s` WHERE `id` = :id OR `thread` = :id", $board['uri']));
|
||||||
$query->bindValue(':id', $id, PDO::PARAM_INT);
|
$query->bindValue(':id', $id, PDO::PARAM_INT);
|
||||||
$query->execute() or error(db_error($query));
|
$query->execute() or error(db_error($query));
|
||||||
|
|
||||||
$query = prepare("SELECT `board`, `post` FROM `cites` WHERE `target_board` = :board AND `target` = :id");
|
$query = prepare("SELECT `board`, `post` FROM `cites` WHERE `target_board` = :board AND (`target` = " . implode(' OR `target` = ', $ids) . ")");
|
||||||
$query->bindValue(':board', $board['uri']);
|
$query->bindValue(':board', $board['uri']);
|
||||||
$query->bindValue(':id', $id, PDO::PARAM_INT);
|
|
||||||
$query->execute() or error(db_error($query));
|
$query->execute() or error(db_error($query));
|
||||||
while($cite = $query->fetch()) {
|
while($cite = $query->fetch()) {
|
||||||
if($board['uri'] != $cite['board']) {
|
if($board['uri'] != $cite['board']) {
|
||||||
|
|
Loading…
Reference in New Issue