diff options
-rw-r--r-- | engine/lib/annotations.php | 21 | ||||
-rw-r--r-- | engine/lib/metadata.php | 18 |
2 files changed, 34 insertions, 5 deletions
diff --git a/engine/lib/annotations.php b/engine/lib/annotations.php index c249420f3..c02ad10fa 100644 --- a/engine/lib/annotations.php +++ b/engine/lib/annotations.php @@ -102,6 +102,21 @@ } /** + * Convert a database row to a new ElggAnnotation + * + * @param stdClass $row + * @return stdClass or ElggAnnotation + */ + function row_to_elggannotation($row) + { + if (!($row instanceof stdClass)) + return $row; + + return new ElggAnnotation($row); + } + + + /** * Get a specific annotation. * * @param int $annotation_id @@ -113,7 +128,7 @@ $annotation_id = (int) $annotation_id; $access = get_access_list(); - return get_data_row("select o.* from {$CONFIG->dbprefix}annotations where id=$annotation_id and (o.access_id in {$access} or (o.access_id = 0 and o.owner_id = {$_SESSION['id']}))"); + return row_to_elggannotation(get_data_row("select o.* from {$CONFIG->dbprefix}annotations where id=$annotation_id and (o.access_id in {$access} or (o.access_id = 0 and o.owner_id = {$_SESSION['id']}))")); } /** @@ -164,8 +179,8 @@ if ($n > 0) $query .= " and "; $query .= $where[$n]; } - error_log($query); - return get_data($query); + + return get_data($query, "row_to_elggannotation"); } /** diff --git a/engine/lib/metadata.php b/engine/lib/metadata.php index a02ff1ad7..777d3b58e 100644 --- a/engine/lib/metadata.php +++ b/engine/lib/metadata.php @@ -103,6 +103,20 @@ } /** + * Convert a database row to a new ElggMetadata + * + * @param stdClass $row + * @return stdClass or ElggMetadata + */ + function row_to_elggmetadata($row) + { + if (!($row instanceof stdClass)) + return $row; + + return new ElggMetadata($row); + } + + /** * Detect the value_type for a given value. * Currently this is very crude. * @@ -210,7 +224,7 @@ $id = (int)$id; $access = get_access_list(); - return get_data_row("SELECT * from {$CONFIG->dbprefix}metadata where id=$id and (access_id in {$access} or (access_id = 0 and owner_id = {$_SESSION['id']}))"); + return row_to_elggmetadata(get_data_row("SELECT * from {$CONFIG->dbprefix}metadata where id=$id and (access_id in {$access} or (access_id = 0 and owner_id = {$_SESSION['id']}))")); } /** @@ -262,7 +276,7 @@ $query .= $where[$n]; } - return get_data($query); + return get_data($query, "row_to_elggmetadata"); } /** |