From d1fe561041bacfe257bb7fcc90762cb3a7789587 Mon Sep 17 00:00:00 2001 From: Clemens Schwaighofer Date: Fri, 9 Aug 2024 18:47:00 +0900 Subject: [PATCH] T Block: raise notice if target function is not callable To catch if the L10n functions where not loaded --- src/BlockHandler/T.php | 55 ++++++++++++++++++++++++++---------------- 1 file changed, 34 insertions(+), 21 deletions(-) diff --git a/src/BlockHandler/T.php b/src/BlockHandler/T.php index a033bba..d04ea6a 100644 --- a/src/BlockHandler/T.php +++ b/src/BlockHandler/T.php @@ -72,6 +72,17 @@ class T implements BlockHandlerInterface return strtr($str, $tr); } + /** + * raise a notice for missing callable, indicates L10n functions where not loaded + * + * @param string $function + * @return void + */ + private function reportL10nNotInitialized(string $function): void + { + trigger_error("Missing " . $function . ", L10n::loadFunctions() called?", E_NOTICE); + } + /** * main handler * @@ -120,55 +131,57 @@ class T implements BlockHandlerInterface // use plural if required parameters are set if (isset($count) && isset($plural)) { + // plural calls if (isset($domain) && isset($context)) { if (is_callable('_dnpgettext')) { $content = _dnpgettext($domain, $context, $content, $plural, $count); - }/* elseif (is_callable('dnpgettext')) { - $content = dnpgettext($domain, $context, $content, $plural, $count); - } */ + } else { + $this->reportL10nNotInitialized('_dnpgettext'); + } } elseif (isset($domain)) { if (is_callable('_dngettext')) { $content = _dngettext($domain, $content, $plural, $count); - } elseif (is_callable('dngettext')) { - $content = dngettext($domain, $content, $plural, $count); + } else { + $this->reportL10nNotInitialized('_dngettext'); } } elseif (isset($context)) { if (is_callable('_npgettext')) { $content = _npgettext($context, $content, $plural, $count); - }/* elseif (is_callable('npgettext')) { - $content = npgettext($context, $content, $plural, $count); - } */ + } else { + $this->reportL10nNotInitialized('_npgettext'); + } } else { if (is_callable('_ngettext')) { $content = _ngettext($content, $plural, $count); - } elseif (is_callable('ngettext')) { - $content = ngettext($content, $plural, $count); + } else { + $this->reportL10nNotInitialized('_ngettext'); } } - } else { // use normal + } else { + // use normal if (isset($domain) && isset($context)) { if (is_callable('_dpgettext')) { $content = _dpgettext($domain, $context, $content); - }/* elseif (is_callable('dpgettext')) { - $content = dpgettext($domain, $context, $content); - } */ + } else { + $this->reportL10nNotInitialized('_dpgettext'); + } } elseif (isset($domain)) { if (is_callable('_dgettext')) { $content = _dgettext($domain, $content); - } elseif (is_callable('dpgettext')) { - $content = dgettext($domain, $content); + } else { + $this->reportL10nNotInitialized('_dgettext'); } } elseif (isset($context)) { if (is_callable('_pgettext')) { $content = _pgettext($context, $content); - }/* elseif (is_callable('pgettext')) { - $content = pgettext($context, $content); - } */ + } else { + $this->reportL10nNotInitialized('_pgettext'); + } } else { if (is_callable('_gettext')) { $content = _gettext($content); - } elseif (is_callable('gettext')) { - $content = gettext($content); + } else { + $this->reportL10nNotInitialized('_gettext'); } } }