diff --git a/dibi/libs/DibiTranslator.php b/dibi/libs/DibiTranslator.php index b385c1e4..b38ee5f5 100644 --- a/dibi/libs/DibiTranslator.php +++ b/dibi/libs/DibiTranslator.php @@ -361,8 +361,11 @@ final class DibiTranslator extends DibiObject return 'NULL'; } elseif (is_string($value) && preg_match('#[+-]?\d++(?:e\d+)?\z#A', $value)) { return $value; // support for long numbers - keep them unchanged + } elseif (is_string($value) && substr($value, 1, 1) === 'x' && is_numeric($value)) { + trigger_error('Support for hex strings has been deprecated.', E_USER_DEPRECATED); + return (string) hexdec($value); } else { - return (string) (int) ($value + 0); + return (string) (int) $value; } case 'f': // float diff --git a/tests/dibi/DibiTranslator.phpt b/tests/dibi/DibiTranslator.phpt index 659c55db..84776ae4 100644 --- a/tests/dibi/DibiTranslator.phpt +++ b/tests/dibi/DibiTranslator.phpt @@ -73,12 +73,6 @@ Assert::same( $conn->translate("SELECT %f", '-.12345678912345678912345678e10') ); -// hex numbers -Assert::same( - reformat('SELECT 17'), - $conn->translate("SELECT %i", '0x11') -); - // invalid input $e = Assert::exception(function() use ($conn) { $conn->translate("SELECT %s", (object) array(123), ', %m', 123);