}
return $return;
}
-
-// used in compiled version
-function latin_binary($s) {
- return preg_replace_callback('~ (.)~', 'latin_binary_callback', $s);
-}
-
-// used in compiled version
-function latin_binary_callback($match) {
- return chr(ord($match[1]) - 48); // 48 = ord('0')
-}
return addcslashes($s, "\\'");
}
-function binary_latin($s) {
- return preg_replace_callback('~[\0- ]~', 'binary_latin_callback', $s);
-}
-
-function binary_latin_callback($match) {
- return ' ' . chr(ord($match[0]) + ord('0'));
+function add_quo_slashes($s) {
+ $return = $s;
+ $return = addcslashes($return, "\n\r\$\"\\");
+ $return = preg_replace('~\0(?![0-7])~', '\\\\0', $return);
+ $return = addcslashes($return, "\0");
+ return $return;
}
function remove_lang($match) {
$translation_ids[$lang_ids[$key]] = implode("\t", (array) $val);
}
}
- $return .= "
- case '$lang': \$compressed = '" . add_apo_slashes(binary_latin(lzw_compress(implode("\n", $translation_ids)))) . "'; break;";
+ $return .= '
+ case "' . $lang . '": $compressed = "' . add_quo_slashes(lzw_compress(implode("\n", $translation_ids))) . '"; break;';
}
$translations_version = crc32($return);
return '$translations = &$_SESSION["translations"];
switch ($LANG) {' . $return . '
}
$translations = array();
- foreach (explode("\n", lzw_decompress(latin_binary($compressed))) as $val) {
+ foreach (explode("\n", lzw_decompress($compressed)) as $val) {
$translations[] = (strpos($val, "\t") ? explode("\t", $val) : $val);
}
}
if ($match[2]) {
$file = call_user_func($match[2], $file);
}
- return "latin_binary('" . add_apo_slashes(binary_latin($file)) . "')";
+ return '"' . add_quo_slashes($file) . '"';
}
$project = "adminer";