ENHANCEMENT: Dramatically improved performance of large-scale canEdit() and canDelete() checks, so that big sites can be supported in the CMS.

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/cms/trunk@83443 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
Sam Minnee 2009-07-31 05:43:47 +00:00
parent 56281b7f3e
commit 037e73a8cb

View File

@ -506,6 +506,10 @@ class LeftAndMain extends Controller {
// Ensure current page is exposed
if($p = $this->currentPage()) $obj->markToExpose($p);
// NOTE: SiteTree/CMSMain coupling :-(
SiteTree::prepopuplate_permission_cache('edit', $obj->markedNodeIDs());
SiteTree::prepopuplate_permission_cache('delete', $obj->markedNodeIDs());
// getChildrenAsUL is a flexible and complex way of traversing the tree
$titleEval = '