From 37f9e037725de58bd9b611fff759f7d12cc6ee5a Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sun, 19 Jun 2011 22:34:04 +0200 Subject: [PATCH] improved check in oc_preferences if a key already exists --- lib/preferences.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/preferences.php b/lib/preferences.php index 5a9ed39508..0f4636f683 100644 --- a/lib/preferences.php +++ b/lib/preferences.php @@ -139,10 +139,12 @@ class OC_PREFERENCES{ */ public static function setValue( $user, $app, $key, $value ){ // Check if the key does exist - $exists = self::getValue( $user, $app, $key, null ); + $query = OC_DB::prepare( 'SELECT configvalue FROM *PREFIX*preferences WHERE userid = ? AND appid = ? AND configkey = ?' ); + $values=$query->execute(array($user,$app,$key))->fetchAll(); + error_log(print_r($values,true)); + $exists=(count($values)>0); - // null: does not exist. Insert. - if( is_null( $exists )){ + if( !$exists ){ $query = OC_DB::prepare( 'INSERT INTO *PREFIX*preferences ( userid, appid, configkey, configvalue ) VALUES( ?, ?, ?, ? )' ); $query->execute( array( $user, $app, $key, $value )); }