public function FieldPresenceEnhancer::enhance

Update the defaults based on its own data and the request.

Parameters

array $defaults the getRouteDefaults array:

Return value

array the modified defaults. Each enhancer MUST return the $defaults but may add or remove values

Overrides RouteEnhancerInterface::enhance

File

drupal/core/vendor/symfony-cmf/routing/Symfony/Cmf/Component/Routing/Enhancer/FieldPresenceEnhancer.php, line 44

Class

FieldPresenceEnhancer
This enhancer can set a field to a fixed value if an other field is present.

Namespace

Symfony\Cmf\Component\Routing\Enhancer

Code

public function enhance(array $defaults, Request $request) {
  if (isset($defaults[$this->target])) {

    // no need to do anything
    return $defaults;
  }
  if (!isset($defaults[$this->source])) {
    return $defaults;
  }
  $defaults[$this->target] = $this->value;
  return $defaults;
}