From 5f892a1b17f116e56bfdc1585a20f4587c423765 Mon Sep 17 00:00:00 2001 From: Jared Hancock <jared@osticket.com> Date: Fri, 26 Sep 2014 16:39:17 -0500 Subject: [PATCH] i18n: Fix crash building language packs --- setup/cli/modules/i18n.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/setup/cli/modules/i18n.php b/setup/cli/modules/i18n.php index 04baeb734..269386dfd 100644 --- a/setup/cli/modules/i18n.php +++ b/setup/cli/modules/i18n.php @@ -581,10 +581,11 @@ class i18n_Compiler extends Module { $s = str_replace($root, '', $s); $this->stderr->write($s."\n"); $calls = array(); - preg_match_all('/__\(\s*[^\'"]*(([\'"])(?:(?<!\\\\)\2|.)+\2)\s*[^)]*\)/', + preg_match_all('/(?:function\s+)?__\(\s*[^\'"]*(([\'"])(?:(?<!\\\\)\2|.)+\2)\s*[^)]*\)/', $script, $calls, PREG_OFFSET_CAPTURE | PREG_SET_ORDER); foreach ($calls as $c) { - $call = $this->__find_strings(token_get_all('<?php '.$c[0][0]), $funcs, 0); + if (!($call = $this->__find_strings(token_get_all('<?php '.$c[0][0]), $funcs, 0))) + continue; $call = $call[0]; list($lhs) = str_split($script, $c[1][1]); -- GitLab