You are here

protected function DiffOperation::processDomain in Plug 7

Parameters

string $domain:

Overrides AbstractOperation::processDomain

File

lib/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);
      }
    }
  }
}