PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.15.3
Independent Analytics – WordPress Analytics Plugin v2.15.3
2.15.5 2.15.4 2.15.3 2.15.2 2.15.1 2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / vendor / symfony / translation / Catalogue / MergeOperation.php
independent-analytics / vendor / symfony / translation / Catalogue Last commit date
AbstractOperation.php 1 month ago MergeOperation.php 2 years ago OperationInterface.php 1 month ago TargetOperation.php 2 years ago
MergeOperation.php
55 lines
1 <?php
2
3 /*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11 namespace IAWPSCOPED\Symfony\Component\Translation\Catalogue;
12
13 use IAWPSCOPED\Symfony\Component\Translation\MessageCatalogueInterface;
14 /**
15 * Merge operation between two catalogues as follows:
16 * all = source ∪ target = {x: x ∈ source ∨ x ∈ target}
17 * new = all ∖ source = {x: x ∈ target ∧ x ∉ source}
18 * obsolete = source ∖ all = {x: x ∈ source ∧ x ∉ source ∧ x ∉ target} = �
19
20 * Basically, the result contains messages from both catalogues.
21 *
22 * @author Jean-François Simon <contact@jfsimon.fr>
23 * @internal
24 */
25 class MergeOperation extends AbstractOperation
26 {
27 /**
28 * {@inheritdoc}
29 */
30 protected function processDomain(string $domain)
31 {
32 $this->messages[$domain] = ['all' => [], 'new' => [], 'obsolete' => []];
33 $intlDomain = $domain . MessageCatalogueInterface::INTL_DOMAIN_SUFFIX;
34 foreach ($this->source->all($domain) as $id => $message) {
35 $this->messages[$domain]['all'][$id] = $message;
36 $d = $this->source->defines($id, $intlDomain) ? $intlDomain : $domain;
37 $this->result->add([$id => $message], $d);
38 if (null !== ($keyMetadata = $this->source->getMetadata($id, $d))) {
39 $this->result->setMetadata($id, $keyMetadata, $d);
40 }
41 }
42 foreach ($this->target->all($domain) as $id => $message) {
43 if (!$this->source->has($id, $domain)) {
44 $this->messages[$domain]['all'][$id] = $message;
45 $this->messages[$domain]['new'][$id] = $message;
46 $d = $this->target->defines($id, $intlDomain) ? $intlDomain : $domain;
47 $this->result->add([$id => $message], $d);
48 if (null !== ($keyMetadata = $this->target->getMetadata($id, $d))) {
49 $this->result->setMetadata($id, $keyMetadata, $d);
50 }
51 }
52 }
53 }
54 }
55