Merged revisions 50180 via svnmerge from

http://svn.silverstripe.com/open/modules/sapphire/branches/2.2.2

........
  r50180 | sminnee | 2008-02-26 12:03:24 +1300 (Tue, 26 Feb 2008) | 1 line
  
  Allow use of  on controller extensions
........


git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@50863 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
Sam Minnee 2008-03-11 01:30:19 +00:00
parent ecec061408
commit 1dd8c7f07c
2 changed files with 14 additions and 0 deletions

View File

@ -13,6 +13,12 @@
* @subpackage core
*/
abstract class Extension extends Object {
/**
* This is used by extensions designed to be applied to controllers.
* It works the same way as {@link Controller::$allowed_actions}.
*/
public static $allowed_actions = null;
/**
* The DataObject that owns this decorator.
* @var DataObject

View File

@ -573,6 +573,14 @@ class Controller extends ViewableData {
$className = get_parent_class($className);
}
// Add $allowed_actions from extensions
if($this->extension_instances) {
foreach($this->extension_instances as $inst) {
$accessPart = $inst->stat('allowed_actions');
if($accessPart !== null) $access = array_merge((array)$access, $accessPart);
}
}
if($access === null || (sizeof($accessParts) > 1 && $accessParts[0] === $accessParts[1])) {
// user_error("Deprecated: please define static \$allowed_actions on your Controllers for security purposes", E_USER_NOTICE);
return true;