From cb4d6ff57d378a92a4ae4980f6b690e632fcd2d0 Mon Sep 17 00:00:00 2001 From: Peter Rotich <peter@osticket.com> Date: Mon, 15 Oct 2012 18:00:55 -0400 Subject: [PATCH] Fix function spelling on "AttachmentChunkedData::deleteOrphans()" call. --- include/class.file.php | 38 +++++++++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/include/class.file.php b/include/class.file.php index b44f7af45..364e7f14a 100644 --- a/include/class.file.php +++ b/include/class.file.php @@ -114,7 +114,13 @@ class AttachmentFile { function delete() { $sql='DELETE FROM '.FILE_TABLE.' WHERE id='.db_input($this->getId()).' LIMIT 1'; - return (db_query($sql) && db_affected_rows()); + if(!db_query($sql) || !db_affected_rows()) + return false; + + //Delete file data. + AttachmentChunkedData::deleteOrphans(); + + return true; } @@ -209,8 +215,8 @@ class AttachmentFile { * canned-response, or faq point to any more. */ /* static */ function deleteOrphans() { - $res=db_query( - 'DELETE FROM '.FILE_TABLE.' WHERE id NOT IN (' + + $sql = 'DELETE FROM '.FILE_TABLE.' WHERE id NOT IN (' # DISTINCT implies sort and may not be necessary .'SELECT DISTINCT(file_id) FROM (' .'SELECT file_id FROM '.TICKET_ATTACHMENT_TABLE @@ -219,9 +225,15 @@ class AttachmentFile { .' UNION ALL ' .'SELECT file_id FROM '.FAQ_ATTACHMENT_TABLE .') still_loved' - .')'); + .')'; + + db_query($sql); + + //Delete orphaned chuncked data! AttachmentChunkedData::deleteOrphans(); - return db_affected_rows(); + + return true; + } } @@ -263,13 +275,17 @@ class AttachmentChunkedData { return false; $offset += strlen($block); } - return true; + + return $this->_pos; } - function deleteOrpans() { - db_query( - 'DELETE FROM '.FILE_CHUNK_TABLE.' WHERE file_id NOT IN ' - .'( SELECT id FROM '.FILE_TABLE.') still_loved'); - return db_affected_rows(); + function deleteOrphans() { + + $sql = 'DELETE c.* FROM '.FILE_CHUNK_TABLE.' c ' + . ' LEFT JOIN '.FILE_TABLE.' f ON(f.id=c.file_id) ' + . ' WHERE f.id IS NULL'; + + return db_query($sql)?db_affected_rows():0; } } +?> -- GitLab