From 7a704aa287b1b3c4eeb1d1c3ea5a69688e9fc5d7 Mon Sep 17 00:00:00 2001 From: Gabriel Wicke Date: Fri, 20 Feb 2004 12:10:00 +0000 Subject: [PATCH] Image purging. Are scaled versions of images deleted at all? --- includes/ImagePage.php | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/includes/ImagePage.php b/includes/ImagePage.php index 91521c6d82..4eef270023 100644 --- a/includes/ImagePage.php +++ b/includes/ImagePage.php @@ -158,6 +158,7 @@ class ImagePage extends Article { { global $wgOut, $wgUser, $wgLang; global $image, $oldimage, $wpReason; + global $wgUseSquid, $wgInternalServer, $wgDeferredUpdateList; $fname = "Article::doDelete"; if ( $image ) { @@ -174,10 +175,29 @@ class ImagePage extends Article { $sql = "SELECT oi_archive_name FROM oldimage WHERE oi_name='" . wfStrencode( $image ) . "'"; $res = wfQuery( $sql, DB_READ, $fname ); + + # Squid purging + if ( $wgUseSquid ) { + $urlArr = Array( + $wgInternalServer.wfImageUrl( $image ) + ); + wfPurgeSquidServers($urlArr); + } + + $urlArr = Array(); while ( $s = wfFetchObject( $res ) ) { $this->doDeleteOldImage( $s->oi_archive_name ); + $urlArr[] = $wgInternalServer.wfImageArchiveUrl( $s->oi_archive_name ); } + + # Squid purging, part II + if ( $wgUseSquid ) { + /* this needs to be done after LinksUpdate */ + $u = new SquidUpdate($this->mTitle, $urlArr); + array_push( $wgDeferredUpdateList, $u ); + } + $sql = "DELETE FROM oldimage WHERE oi_name='" . wfStrencode( $image ) . "'"; wfQuery( $sql, DB_WRITE, $fname ); @@ -190,6 +210,13 @@ class ImagePage extends Article { $deleted = $image; } else if ( $oldimage ) { + # Squid purging + if ( $wgUseSquid ) { + $urlArr = Array( + $wgInternalServer.wfImageArchiveUrl( $oldimage ) + ); + wfPurgeSquidServers($urlArr); + } $this->doDeleteOldImage( $oldimage ); $sql = "DELETE FROM oldimage WHERE oi_archive_name='" . wfStrencode( $oldimage ) . "'"; @@ -229,6 +256,7 @@ class ImagePage extends Article { { global $wgOut; global $oldimage; + global $wgUseSquid, $wgInternalServer, $wgDeferredUpdateList; if ( strlen( $oldimage ) < 16 ) { $wgOut->unexpectedValueError( "oldimage", $oldimage ); @@ -260,6 +288,14 @@ class ImagePage extends Article { $wgOut->fileCopyError( "${archive}/{$oldimage}", $curfile ); } wfRecordUpload( $name, $oldver, $size, wfMsg( "reverted" ) ); + # Squid purging + if ( $wgUseSquid ) { + $urlArr = Array( + $wgInternalServer.wfImageArchiveUrl( $name ), + $wgInternalServer.wfImageUrl( $name ) + ); + wfPurgeSquidServers($urlArr); + } $wgOut->setPagetitle( wfMsg( "actioncomplete" ) ); $wgOut->setRobotpolicy( "noindex,nofollow" ); -- 2.20.1