From 75c430a9867d600c1f9412203b2a7fe6b7490e90 Mon Sep 17 00:00:00 2001 From: Jakub Vrana Date: Wed, 26 Sep 2012 21:45:04 -0700 Subject: [PATCH] Revert "Unuse binary characters" This reverts commit f3c59bb3a55761056b3ba65853f18fcccdddc101. --- adminer/include/functions.inc.php | 10 ---------- compile.php | 20 ++++++++++---------- 2 files changed, 10 insertions(+), 20 deletions(-) diff --git a/adminer/include/functions.inc.php b/adminer/include/functions.inc.php index b164f8a1..b047726e 100644 --- a/adminer/include/functions.inc.php +++ b/adminer/include/functions.inc.php @@ -978,13 +978,3 @@ function lzw_decompress($binary) { } 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') -} diff --git a/compile.php b/compile.php index 24f9872d..e8da3b76 100755 --- a/compile.php +++ b/compile.php @@ -8,12 +8,12 @@ function add_apo_slashes($s) { 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) { @@ -114,8 +114,8 @@ function put_file_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"]; @@ -127,7 +127,7 @@ if (!$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); } } @@ -272,7 +272,7 @@ function compile_file($match) { 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";