diff options
Diffstat (limited to 'engine/lib/metadata.php')
-rw-r--r-- | engine/lib/metadata.php | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/engine/lib/metadata.php b/engine/lib/metadata.php index ffa7b74e0..8b6fe364f 100644 --- a/engine/lib/metadata.php +++ b/engine/lib/metadata.php @@ -60,12 +60,19 @@ function remove_metadata($entity_guid, $name, $value = "") { $entity_guid = (int) $entity_guid; $name = sanitise_string($name); $value = sanitise_string($value); + + $name = get_metastring_id($name); + if ($name === FALSE) { + // name doesn't exist + return FALSE; + } - $query = "SELECT * from {$CONFIG->dbprefix}metadata" - . " WHERE entity_guid = $entity_guid and name_id=" . add_metastring($name); - + $query = "SELECT * from {$CONFIG->dbprefix}metadata WHERE entity_guid = '$entity_guid' and name_id = '$name'"; if ($value != "") { - $query .= " and value_id=" . add_metastring($value); + $value = get_metastring_id($value); + if ($value !== FALSE) { + $query .= " AND value_id = '$value'"; + } } if ($existing = get_data($query)) { |