diff options
Diffstat (limited to 'includes/filerepo')
-rw-r--r-- | includes/filerepo/file/LocalFile.php | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/includes/filerepo/file/LocalFile.php b/includes/filerepo/file/LocalFile.php index 639228b9..4f50bfaa 100644 --- a/includes/filerepo/file/LocalFile.php +++ b/includes/filerepo/file/LocalFile.php @@ -1484,6 +1484,7 @@ class LocalFile extends File { * @return FileRepoStatus object. */ function delete( $reason, $suppress = false ) { + global $wgUseSquid; if ( $this->getRepo()->getReadOnlyReason() !== false ) { return $this->readOnlyFatalStatus(); } @@ -1506,6 +1507,15 @@ class LocalFile extends File { $this->purgeOldThumbnails( $archiveName ); } + if ( $wgUseSquid ) { + // Purge the squid + $purgeUrls = array(); + foreach ($archiveNames as $archiveName ) { + $purgeUrls[] = $this->getArchiveUrl( $archiveName ); + } + SquidUpdate::purge( $purgeUrls ); + } + return $status; } @@ -1524,6 +1534,7 @@ class LocalFile extends File { * @return FileRepoStatus object. */ function deleteOld( $archiveName, $reason, $suppress = false ) { + global $wgUseSquid; if ( $this->getRepo()->getReadOnlyReason() !== false ) { return $this->readOnlyFatalStatus(); } @@ -1541,6 +1552,11 @@ class LocalFile extends File { $this->purgeHistory(); } + if ( $wgUseSquid ) { + // Purge the squid + SquidUpdate::purge( array( $this->getArchiveUrl( $archiveName ) ) ); + } + return $status; } |