/** * Deletes a single release by GUID, and all the corresponding files. * * @param array $identifiers ['g' => Release GUID(mandatory), 'id => ReleaseID(optional, pass false)] * @param NZB $nzb * @param ReleaseImage $releaseImage */ public function deleteSingle($identifiers, $nzb, $releaseImage) { // Delete NZB from disk. $nzbPath = $nzb->getNZBPath($identifiers['g']); if ($nzbPath) { @unlink($nzbPath); } // Delete images. $releaseImage->delete($identifiers['g']); //Delete from sphinx. $this->sphinxSearch->deleteRelease($identifiers, $this->pdo); // Delete from DB. $this->pdo->queryDelete(sprintf(' DELETE r, rn, rc, uc, rf, ra, rs, rv, re FROM releases r LEFT OUTER JOIN releasenfo rn ON rn.releaseid = r.id LEFT OUTER JOIN releasecomment rc ON rc.releaseid = r.id LEFT OUTER JOIN usercart uc ON uc.releaseid = r.id LEFT OUTER JOIN releasefiles rf ON rf.releaseid = r.id LEFT OUTER JOIN releaseaudio ra ON ra.releaseid = r.id LEFT OUTER JOIN releasesubs rs ON rs.releaseid = r.id LEFT OUTER JOIN releasevideo rv ON rv.releaseid = r.id LEFT OUTER JOIN releaseextrafull re ON re.releaseid = r.id WHERE r.guid = %s', $this->pdo->escapeString($identifiers['g']))); }