You are here

protected function DiffOperation::processDomain in Zircon Profile 8.0

Same name and namespace in other branches
  1. 8 vendor/symfony/translation/Catalogue/DiffOperation.php \Symfony\Component\Translation\Catalogue\DiffOperation::processDomain()

Parameters

string $domain:

Overrides AbstractOperation::processDomain

File

vendor/symfony/translation/Catalogue/DiffOperation.php, line 24

Class

DiffOperation
Diff operation between two catalogues.

Namespace

Symfony\Component\Translation\Catalogue

Code

protected function processDomain($domain) {
  $this->messages[$domain] = array(
    'all' => array(),
    'new' => array(),
    'obsolete' => array(),
  );
  foreach ($this->source
    ->all($domain) as $id => $message) {
    if ($this->target
      ->has($id, $domain)) {
      $this->messages[$domain]['all'][$id] = $message;
      $this->result
        ->add(array(
        $id => $message,
      ), $domain);
      if (null !== ($keyMetadata = $this->source
        ->getMetadata($id, $domain))) {
        $this->result
          ->setMetadata($id, $keyMetadata, $domain);
      }
    }
    else {
      $this->messages[$domain]['obsolete'][$id] = $message;
    }
  }
  foreach ($this->target
    ->all($domain) as $id => $message) {
    if (!$this->source
      ->has($id, $domain)) {
      $this->messages[$domain]['all'][$id] = $message;
      $this->messages[$domain]['new'][$id] = $message;
      $this->result
        ->add(array(
        $id => $message,
      ), $domain);
      if (null !== ($keyMetadata = $this->target
        ->getMetadata($id, $domain))) {
        $this->result
          ->setMetadata($id, $keyMetadata, $domain);
      }
    }
  }
}