/** * Init AuthorizationManager variables */ public function init() { if (!ResolvableAuthorizationInstance::getInstance()) { return false; } $this->_initialized = true; return true; }
/** * Test initialization */ public function testInitilization() { $this->component->startup(new Event("Controller.startup", $this->controller)); $this->assertNotNull(ResolvableAuthorizationInstance::getInstance()); $context = ResolvableAuthorizationInstance::getInstance()->context; $this->assertSame($this->controller->getUser(), $context->user); $this->assertSame($this->controller, $context->controller); $this->assertSame($this->request->params['action'], $context->action); $this->assertSame($this->component, $context->manager); $this->assertSame($this->request, $context->request); }
/** * Creates instances from an array. * * Example : * $array = [ * ['type', 'param'], * ['Group', 'user'], * 'ignoredAlreadyRegisteredResolvableAuthorization', * $ignoredAlreadyRegisteredResolvableAuthorization * ] * * @param $authorizationArray * @return array * @throws Exception * @throws InvalidArgumentException */ public function createFromArray($authorizationArray) { $resolvables = []; foreach ($authorizationArray as $resolvable) { if (!is_array($resolvable)) { $resolvables[] = ResolvableAuthorizationRegistry::get($resolvable); continue; } $resolvables[] = ResolvableAuthorizationInstance::getInstance()->create($resolvable[0], $resolvable[1]); } return $resolvables; }
/** * @param string $type * @param $params * @return ResolvableAuthorizationInterface */ public function getResolvable($type, $params) { return ResolvableAuthorizationInstance::getInstance()->create(ucwords(strtolower($type)), $params); }
/** * @expectedException InvalidArgumentException */ public function testCreateFromArrayWithUnregistered() { $result = ResolvableAuthorizationInstance::getInstance()->createFromArray(['unregistered']); }