| @@ 424-453 (lines=30) @@ | ||
| 421 | /** |
|
| 422 | * Required by the Removable interface. |
|
| 423 | */ |
|
| 424 | public function remove(LoggerInterface $logger) |
|
| 425 | { |
|
| 426 | $hasRemovableElements = $this->configuration->get('element-blacklist') != ''; |
|
| 427 | $hasRemovableTypes = $this->configuration->get('type-blacklist') != ''; |
|
| 428 | foreach ($this->children as $child) { |
|
| 429 | // Check types. |
|
| 430 | if ($hasRemovableTypes && |
|
| 431 | !$this->configuration->isAllowedType($child->getType())) { |
|
| 432 | $logger->debug('Removing ' . $child); |
|
| 433 | $this->removeChild($child); |
|
| 434 | ||
| 435 | continue; |
|
| 436 | } |
|
| 437 | ||
| 438 | // Check elements. |
|
| 439 | if ($hasRemovableElements && |
|
| 440 | $child instanceof self && |
|
| 441 | !$this->configuration->isAllowedElement($child->getName())) { |
|
| 442 | $logger->debug('Removing ' . $child); |
|
| 443 | $this->removeChild($child); |
|
| 444 | ||
| 445 | continue; |
|
| 446 | } |
|
| 447 | ||
| 448 | // Check children. |
|
| 449 | if ($child instanceof Removable) { |
|
| 450 | $child->remove($logger); |
|
| 451 | } |
|
| 452 | } |
|
| 453 | } |
|
| 454 | ||
| 455 | /** |
|
| 456 | * Required by the Token interface. |
|
| @@ 92-121 (lines=30) @@ | ||
| 89 | /** |
|
| 90 | * Required by the Removable interface. |
|
| 91 | */ |
|
| 92 | public function remove(LoggerInterface $logger) |
|
| 93 | { |
|
| 94 | $hasRemovableElements = $this->configuration->get('element-blacklist') != ''; |
|
| 95 | $hasRemovableTypes = $this->configuration->get('type-blacklist') != ''; |
|
| 96 | foreach ($this->children as $child) { |
|
| 97 | // Check types. |
|
| 98 | if ($hasRemovableTypes && |
|
| 99 | !$this->configuration->isAllowedType($child->getType())) { |
|
| 100 | $logger->debug('Removing ' . $child . ' on type blacklist.'); |
|
| 101 | $this->removeChild($child); |
|
| 102 | ||
| 103 | continue; |
|
| 104 | } |
|
| 105 | ||
| 106 | // Check elements. |
|
| 107 | if ($hasRemovableElements && |
|
| 108 | $child instanceof Element && |
|
| 109 | !$this->configuration->isAllowedElement($child->getName())) { |
|
| 110 | $logger->debug('Removing ' . $child . ' on element blacklist.'); |
|
| 111 | $this->removeChild($child); |
|
| 112 | ||
| 113 | continue; |
|
| 114 | } |
|
| 115 | ||
| 116 | // Check children. |
|
| 117 | if ($child instanceof Removable) { |
|
| 118 | $child->remove($logger); |
|
| 119 | } |
|
| 120 | } |
|
| 121 | } |
|
| 122 | } |
|
| 123 | ||