public function dump(SecurityPolicyRules $rules) { $result = "<?php\n"; $result .= "return new Intaro\\TwigSandboxBundle\\SecurityPolicy\\SecurityPolicyRules(\n"; $result .= " array(\n"; foreach ($rules->getMethods() as $entity => $methods) { $result .= " '{$entity}' => array(\n"; if (sizeof($methods)) { $result .= " '" . implode("', '", $methods) . "'\n"; } $result .= " ),\n"; } $result .= " ),\n"; $result .= " array(\n"; foreach ($rules->getProperties() as $entity => $properties) { $result .= " '{$entity}' => array(\n"; if (sizeof($properties)) { $result .= " '" . implode("', '", $properties) . "'\n"; } $result .= " ),\n"; } $result .= " )\n"; $result .= ");\n"; return $result; }
public function merge(SecurityPolicyRules $rules) { $this->resources = array_merge($this->resources, $rules->getResources()); foreach ($rules->getMethods() as $class => $methods) { foreach ($methods as $method) { $this->addMethod($class, $method); } } foreach ($rules->getProperties() as $class => $properties) { foreach ($properties as $property) { $this->addProperty($class, $property); } } }