From 5f4db01d382159858a1d37c5fd1708d9165b1911 Mon Sep 17 00:00:00 2001 From: Brett Profitt Date: Sat, 25 Jun 2011 12:36:53 -0400 Subject: datalist_get() was incorrectly setting escaped values in the cache. --- engine/lib/configuration.php | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'engine/lib/configuration.php') diff --git a/engine/lib/configuration.php b/engine/lib/configuration.php index cbc083bd0..b756d2e70 100644 --- a/engine/lib/configuration.php +++ b/engine/lib/configuration.php @@ -282,8 +282,8 @@ function datalist_set($name, $value) { return false; } - $name = sanitise_string($name); - $value = sanitise_string($value); + $sanitised_name = sanitise_string($name); + $sanitised_value = sanitise_string($value); // If memcache is available then invalidate the cached copy static $datalist_memcache; @@ -295,13 +295,16 @@ function datalist_set($name, $value) { $datalist_memcache->delete($name); } - insert_data("INSERT into {$CONFIG->dbprefix}datalists" - . " set name = '{$name}', value = '{$value}'" - . " ON DUPLICATE KEY UPDATE value='{$value}'"); - - $DATALIST_CACHE[$name] = $value; + $success = insert_data("INSERT into {$CONFIG->dbprefix}datalists" + . " set name = '{$sanitised_name}', value = '{$sanitised_value}'" + . " ON DUPLICATE KEY UPDATE value='{$sanitised_value}'"); - return true; + if ($success) { + $DATALIST_CACHE[$name] = $value; + return true; + } else { + return false; + } } /** -- cgit v1.2.3