* adjust for build lang file.

This commit is contained in:
wangyidong
2019-07-22 08:55:24 +08:00
parent 898fef566f
commit aee1a01e28
+12 -27
View File
@@ -532,6 +532,10 @@ class translateModel extends model
$value = "'" . addslashes($value) . "'";
}
}
elseif(strpos($value, "'") === false and strpos($value, '"') === false)
{
$value = "'" . addslashes($value) . "'";
}
else
{
$parts = explode('.', $value);
@@ -545,23 +549,22 @@ class translateModel extends model
$part = trim($part);
if(empty($part)) continue;
$processed = str_replace(array('\\"', '\\\''), '', $part);
$firstLetter = $part{0};
$lastLetter = $part{strlen($part) - 1};
/* Item like "a" or 'b'. */
if($firstLetter == $lastLetter and ($firstLetter == '"' or $firstLetter == "'"))
if(strlen($part) >= 2 and $firstLetter == $lastLetter and ($firstLetter == '"' or $firstLetter == "'"))
{
$isJoin = true;
$value = empty($value) ? $part : $value . " . $part";
}
/* Item like $test or $test). */
elseif($firstLetter != $lastLetter and $firstLetter == '$')
elseif($firstLetter != $lastLetter and $firstLetter == '$' and preg_match('/\s+/', $part) == 0)
{
$isJoin = true;
if($lastLetter == ')') $part = "'$part'";
$value = empty($value) ? $part : $value . " . $part";
}
elseif(empty($prePart))
elseif(empty($prePart) and strpos('\'|"', $firstLetter) !== false)
{
$value = $part;
}
@@ -578,29 +581,10 @@ class translateModel extends model
$value .= '.' . $part;
}
}
/* Item like '"a".<br/>'. */
elseif($prePart and strpos($prePart, '"') !== false and substr_count($prePart, '"') % 2 != 0)
/* Item like '"a".<br/>' or "'a'.<br/>". */
elseif($prePart and ((strpos($prePart, '"') !== false and substr_count($prePart, '"') % 2 != 0) or (strpos($prePart, "'") !== false and substr_count($prePart, "'") % 2 != 0)))
{
if(strpos($processed, '"') === false or (strpos($processed, '"') !== false and substr_count($processed, '"') % 2 != 0))
{
$value .= '.' . $part;
}
else
{
$value .= " . '" . addslashes($part) . "'";
}
}
/* Item like "'a'.<br/>". */
elseif($prePart and strpos($prePart, "'") !== false and substr_count($prePart, "'") % 2 != 0)
{
if(strpos($processed, "'") === false or (strpos($processed, "'") !== false and substr_count($processed, "'") % 2 != 0))
{
$value .= '.' . $part;
}
else
{
$value .= " . '" . addslashes($part) . "'";
}
$value .= '.' . $part;
}
/* Item like "aaa" . exec() or $test . exec(). */
elseif(($preLast and strpos('\'|"', $preLast) !== false or $preFirst == '$') and strpos('\'|"', $firstLetter) === false)
@@ -613,6 +597,7 @@ class translateModel extends model
{
$value = empty($value) ? "'" . addslashes($part) . "'" : $value . " . '" . addslashes($part) . "'";
}
/* Item like has function. */
elseif($lastLetter == ')')
{
$part = "'" . addslashes($part) . "'";
@@ -627,7 +612,7 @@ class translateModel extends model
$preFirst = $firstLetter;
$preLast = $lastLetter;
}
if(!$isJoin) $value = '"' . addslashes($value) . '"';
if(!$isJoin and strpos("\'|\"", $value{0}) === false) $value = '"' . addslashes($value) . '"';
}
}
$content .= $key . " = $value;\n";