class MergeOperation in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/symfony/translation/Catalogue/MergeOperation.php \Symfony\Component\Translation\Catalogue\MergeOperation
Merge operation between two catalogues.
@author Jean-François Simon <contact@jfsimon.fr>
Hierarchy
- class \Symfony\Component\Translation\Catalogue\AbstractOperation implements OperationInterface
- class \Symfony\Component\Translation\Catalogue\MergeOperation
Expanded class hierarchy of MergeOperation
1 file declares its use of MergeOperation
- MergeOperationTest.php in vendor/
symfony/ translation/ Tests/ Catalogue/ MergeOperationTest.php
File
- vendor/
symfony/ translation/ Catalogue/ MergeOperation.php, line 19
Namespace
Symfony\Component\Translation\CatalogueView source
class MergeOperation extends AbstractOperation {
/**
* {@inheritdoc}
*/
protected function processDomain($domain) {
$this->messages[$domain] = array(
'all' => array(),
'new' => array(),
'obsolete' => array(),
);
foreach ($this->source
->all($domain) as $id => $message) {
$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);
}
}
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);
}
}
}
}
}