From b8c4f458fd9701f58299ce44995390cc7df4c460 Mon Sep 17 00:00:00 2001 From: marcus Date: Mon, 16 Jun 2008 16:06:52 +0000 Subject: CLOSED - #5: Boolean metadata values http://trac.elgg.org/elgg/ticket/5 git-svn-id: https://code.elgg.org/elgg/trunk@932 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/metadata.php | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/engine/lib/metadata.php b/engine/lib/metadata.php index 8cc6a7202..7923039b1 100644 --- a/engine/lib/metadata.php +++ b/engine/lib/metadata.php @@ -200,15 +200,23 @@ $id = false; $existing = get_data_row("SELECT * from {$CONFIG->dbprefix}metadata WHERE entity_guid = $entity_guid and name_id=" . add_metastring($name) . " limit 1"); - if (($existing) && (!$allow_multiple) && (!empty($value))) + if (($existing) && (!$allow_multiple) && (isset($value))) { $id = $existing->id; $result = update_metadata($id, $name, $value, $value_type, $owner_guid, $access_id); if (!$result) return false; } - else if (!empty($value)) + else if (isset($value)) { + // Support boolean types + if (is_bool($value)) { + if ($value) + $value = 1; + else + $value = 0; + } + // Add the metastrings $value = add_metastring($value); if (!$value) return false; @@ -219,7 +227,7 @@ // If ok then add it $id = insert_data("INSERT into {$CONFIG->dbprefix}metadata (entity_guid, name_id, value_id, value_type, owner_guid, time_created, access_id) VALUES ($entity_guid, '$name','$value','$value_type', $owner_guid, $time, $access_id)"); } else if ($existing) { - +// TODO: Check... are you sure you meant to do this Ben? :) $id = $existing->id; delete_metadata($id); @@ -243,7 +251,7 @@ global $CONFIG; $id = (int)$id; - + if (!$md = get_metadata($id)) return false; if (!$md->canEdit()) return false; @@ -258,6 +266,14 @@ $access = get_access_sql_suffix(); + // Support boolean types (as integers) + if (is_bool($value)) { + if ($value) + $value = 1; + else + $value = 0; + } + // Add the metastring $value = add_metastring($value); if (!$value) return false; -- cgit v1.2.3