From 58534f76c50a5d624059e0b8fabb66eb478c01eb Mon Sep 17 00:00:00 2001 From: Sam Minnee Date: Wed, 13 Jan 2010 00:03:05 +0000 Subject: [PATCH] BUGFIX: Updated onAfterUnpublish to republish page from static cache as well as unpublish them. (from r90002) git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/cms/branches/2.4@96799 467b73ca-7a2a-4603-9d3b-597d59a354a9 --- code/staticpublisher/StaticPublisher.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/code/staticpublisher/StaticPublisher.php b/code/staticpublisher/StaticPublisher.php index b8e29173..fe690043 100644 --- a/code/staticpublisher/StaticPublisher.php +++ b/code/staticpublisher/StaticPublisher.php @@ -84,6 +84,7 @@ abstract class StaticPublisher extends DataObjectDecorator { function onAfterUnpublish($page) { if (self::$disable_realtime) return; + // Get the affected URLs if($this->owner->hasMethod('pagesAffectedByUnpublishing')) { $urls = $this->owner->pagesAffectedByUnpublishing(); $urls = array_unique($urls); @@ -91,7 +92,16 @@ abstract class StaticPublisher extends DataObjectDecorator { $urls = array($this->owner->AbsoluteLink()); } - $this->unpublishPages($urls); + $legalPages = $this->owner->allPagesToCache(); + + $urlsToRepublish = array_intersect($urls, $legalPages); + $urlsToUnpublish = array_diff($urls, $legalPages); + + Debug::dump($urlsToRepublish); + Debug::dump($urlsToUnpublish); + + $this->unpublishPages($urlsToUnpublish); + $this->publishPages($urlsToRepublish); } /**