Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'core/Translate/Filter/EncodedEntities.php')
-rw-r--r--core/Translate/Filter/EncodedEntities.php49
1 files changed, 49 insertions, 0 deletions
diff --git a/core/Translate/Filter/EncodedEntities.php b/core/Translate/Filter/EncodedEntities.php
new file mode 100644
index 0000000000..4a8b757c1f
--- /dev/null
+++ b/core/Translate/Filter/EncodedEntities.php
@@ -0,0 +1,49 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ * @category Piwik
+ * @package Piwik
+ */
+
+namespace Piwik\Translate\Filter;
+
+use Piwik\Translate\Filter\FilterAbstract;
+use Piwik\Translate;
+
+/**
+ * @package Piwik
+ * @subpackage Piwik_Translate
+ */
+class EncodedEntities extends FilterAbstract
+{
+ /**
+ * Decodes all encoded entities in the given translations
+ *
+ * @param array $translations
+ *
+ * @return array filtered translations
+ *
+ */
+ public function filter($translations)
+ {
+ foreach ($translations AS $pluginName => $pluginTranslations) {
+ foreach ($pluginTranslations AS $key => $translation) {
+
+ // remove encoded entities
+ $decoded = Translate::clean($translation);
+ if ($translation != $decoded) {
+ $this->_filteredData[$pluginName][$key] = $translation;
+ $translations[$pluginName][$key] = $decoded;
+ continue;
+ }
+
+ }
+ }
+
+ return $translations;
+ }
+} \ No newline at end of file