mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
MINOR redirector link tracking is more intelligent (from r96461) (from r98139)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@102611 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
parent
9b650a4e6c
commit
864a15db8e
@ -1435,11 +1435,20 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
|
||||
} else {
|
||||
$virtualPages = DataObject::get('VirtualPage', "SiteTree$suffix.ID = SiteTree$suffix.ID AND CopyContentFromID = {$this->ID}");
|
||||
}
|
||||
if(class_exists('Subsite')) {
|
||||
$redirectorPages = Subsite::get_from_all_subsites('RedirectorPage', "SiteTree$suffix.ID = SiteTree$suffix.ID AND LinkToID = {$this->ID}");
|
||||
} else {
|
||||
$redirectorPages = DataObject::get('RedirectorPage', "SiteTree$suffix.ID = SiteTree$suffix.ID AND LinkToID = {$this->ID}");
|
||||
}
|
||||
|
||||
if($virtualPages) foreach($virtualPages as $page) {
|
||||
// $page->write() calls syncLinkTracking, which does all the hard work for us.
|
||||
$page->write();
|
||||
}
|
||||
if($redirectorPages) foreach($redirectorPages as $page) {
|
||||
// $page->write() calls syncLinkTracking, which does all the hard work for us.
|
||||
$page->write();
|
||||
}
|
||||
|
||||
parent::onAfterDelete();
|
||||
}
|
||||
@ -2022,6 +2031,18 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
|
||||
}
|
||||
if ($virtualPages) foreach($virtualPages as $vp) $vp->doUnpublish();
|
||||
|
||||
$suffix = Versioned::current_stage() == 'Live' ? '_Live' : '';
|
||||
if(class_exists('Subsite')) {
|
||||
$redirectorPages = Subsite::get_from_all_subsites('RedirectorPage', "SiteTree$suffix.ID = SiteTree$suffix.ID AND LinkToID = {$this->ID}");
|
||||
} else {
|
||||
$redirectorPages = DataObject::get('RedirectorPage', "SiteTree$suffix.ID = SiteTree$suffix.ID AND LinkToID = {$this->ID}");
|
||||
}
|
||||
|
||||
if($redirectorPages) foreach($redirectorPages as $page) {
|
||||
// $page->write() calls syncLinkTracking, which does all the hard work for us.
|
||||
$page->write();
|
||||
}
|
||||
|
||||
$this->extend('onAfterUnpublish');
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user