diff options
author | brettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2011-02-12 22:39:46 +0000 |
---|---|---|
committer | brettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2011-02-12 22:39:46 +0000 |
commit | cc6b7d1d223241e397e0d41354924e74606eeffc (patch) | |
tree | 0ab9761a9b4db387edd3f3b17568bbee1c2b78c6 | |
parent | ca9ed0b16163dcf77154c0adc702e9f4c63df13c (diff) | |
download | elgg-cc6b7d1d223241e397e0d41354924e74606eeffc.tar.gz elgg-cc6b7d1d223241e397e0d41354924e74606eeffc.tar.bz2 |
Refs #650. Replaced calls to get_annotations() by elgg_get_annotations().
git-svn-id: http://code.elgg.org/elgg/trunk@8182 36083f99-b078-4883-b0ff-0f9b5a30f544
-rw-r--r-- | engine/classes/ElggEntity.php | 16 | ||||
-rw-r--r-- | engine/lib/annotations.php | 5 | ||||
-rw-r--r-- | engine/lib/views.php | 12 | ||||
-rw-r--r-- | engine/tests/objects/entities.php | 14 | ||||
-rw-r--r-- | mod/messageboard/history.php | 14 | ||||
-rw-r--r-- | views/default/core/likes/display.php | 9 | ||||
-rw-r--r-- | views/default/core/river/controls.php | 11 | ||||
-rw-r--r-- | views/default/core/river/footer.php | 16 |
8 files changed, 75 insertions, 22 deletions
diff --git a/engine/classes/ElggEntity.php b/engine/classes/ElggEntity.php index 8a7c45648..1154fd89a 100644 --- a/engine/classes/ElggEntity.php +++ b/engine/classes/ElggEntity.php @@ -519,13 +519,25 @@ abstract class ElggEntity extends ElggData implements * @param string $name Annotation name * @param int $limit Limit * @param int $offset Offset - * @param string $order asc or desc + * @param string $order Order by time: asc or desc * * @return array */ function getAnnotations($name, $limit = 50, $offset = 0, $order = "asc") { if ((int) ($this->guid) > 0) { - return get_annotations($this->getGUID(), "", "", $name, "", 0, $limit, $offset, $order); + + $options = array( + 'guid' => $this->guid, + 'annotation_name' => $name, + 'limit' => $limit, + 'offset' => $offset, + ); + + if ($order == 'desc') { + $options['order_by'] = 'n_table.time_created desc'; + } + + return elgg_get_annotations($options); } else { return $this->temp_annotations[$name]; } diff --git a/engine/lib/annotations.php b/engine/lib/annotations.php index a3f8f0bb9..a14853359 100644 --- a/engine/lib/annotations.php +++ b/engine/lib/annotations.php @@ -507,7 +507,10 @@ function export_annotation_plugin_hook($hook, $entity_type, $returnvalue, $param $guid = (int)$params['guid']; $name = $params['name']; - $result = get_annotations($guid); + $result = elgg_get_annotations(array( + 'guid' => $guid, + 'limit' => 0 + )); if ($result) { foreach ($result as $r) { diff --git a/engine/lib/views.php b/engine/lib/views.php index 21d606e01..d1782acc2 100644 --- a/engine/lib/views.php +++ b/engine/lib/views.php @@ -1088,13 +1088,21 @@ function elgg_view_comments($entity, $add_comment = true) { */ function elgg_view_latest_comments($owner_guid, $type = 'object', $subtype = '', $number = 4) { $title = elgg_echo('generic_comments:latest'); - $comments = get_annotations(0, $type, $subtype, 'generic_comment', '', 0, $number, 0, 'desc', 0, 0, $owner_guid); + $options = array( + 'annotation_name' => 'generic_comment', + 'owner_guid' => $owner_guid, + 'order_by' => 'n_table.time_created desc', + 'limit' => $number + + ); + $comments = elgg_get_annotations($options); + $body = elgg_view('layout/objects/list', array( 'items' => $comments, 'pagination' => false, 'list_class' => 'elgg-latest-comments', )); - + return elgg_view_module('aside', $title, $body); } diff --git a/engine/tests/objects/entities.php b/engine/tests/objects/entities.php index 590e404d8..67dd02596 100644 --- a/engine/tests/objects/entities.php +++ b/engine/tests/objects/entities.php @@ -119,18 +119,18 @@ class ElggCoreEntityTest extends ElggCoreUnitTest { $this->assertIdentical($annotations[0]->name, 'non_existent'); $this->assertEqual($this->entity->countAnnotations('non_existent'), 1); - $this->assertIdentical($annotations, get_annotations($this->entity->getGUID())); - $this->assertIdentical($annotations, get_annotations($this->entity->getGUID(), 'site')); - $this->assertIdentical($annotations, get_annotations($this->entity->getGUID(), 'site', 'testing')); - $this->assertIdentical(FALSE, get_annotations($this->entity->getGUID(), 'site', 'fail')); + $this->assertIdentical($annotations, elgg_get_annotations(array('guid' => $this->entity->getGUID()))); + $this->assertIdentical($annotations, elgg_get_annotations(array('guid' => $this->entity->getGUID(), 'type' => 'site'))); + $this->assertIdentical($annotations, elgg_get_annotations(array('guid' => $this->entity->getGUID(), 'type' => 'site', 'subtype' => 'testing'))); + $this->assertIdentical(FALSE, elgg_get_annotations(array('guid' => $this->entity->getGUID(), 'type' => 'site', 'subtype' => 'fail'))); // clear annotation $this->assertTrue($this->entity->clearAnnotations()); $this->assertEqual($this->entity->countAnnotations('non_existent'), 0); - $this->assertIdentical(array(), get_annotations($this->entity->getGUID())); - $this->assertIdentical(array(), get_annotations($this->entity->getGUID(), 'site')); - $this->assertIdentical(array(), get_annotations($this->entity->getGUID(), 'site', 'testing')); + $this->assertIdentical(array(), elgg_get_annotations(array('guid' => $this->entity->getGUID()))); + $this->assertIdentical(array(), elgg_get_annotations(array('guid' => $this->entity->getGUID(), 'type' => 'site'))); + $this->assertIdentical(array(), elgg_get_annotations(array('guid' => $this->entity->getGUID(), 'type' => 'site', 'subtype' => 'testing'))); // clean up $this->assertTrue($this->entity->delete()); diff --git a/mod/messageboard/history.php b/mod/messageboard/history.php index 648e45a78..3134165a8 100644 --- a/mod/messageboard/history.php +++ b/mod/messageboard/history.php @@ -14,11 +14,21 @@ require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php"); $current_user = elgg_get_logged_in_user_guid(); // this is the user how has posted on your messageboard that you want to display your history with -$history_user = get_input('user'); +$history_user = get_input('user'); $users_array = array($current_user, $history_user); -$contents = get_annotations($users_array, "user", "", "messageboard", $value = "", $users_array, $limit = 10, $offset = 0, $order_by = "desc"); +$options = array( + 'guids' => $users_array, + 'type' => 'user', + 'annotation_name' => 'messageboard', + 'owner_guids' => $users_array, + 'limit' => 10, + 'offset' => 0, + 'order_by' => 'n_table.time_created desc' +); + +$contents = elgg_get_annotations($options); // Get the content to display $area2 = elgg_view_title(elgg_echo('messageboard:history:title')); diff --git a/views/default/core/likes/display.php b/views/default/core/likes/display.php index 209b6de2d..a2f6b7799 100644 --- a/views/default/core/likes/display.php +++ b/views/default/core/likes/display.php @@ -1,6 +1,6 @@ <?php /** - * Elgg likes display + * Elgg likes display * * @package Elgg * @@ -25,7 +25,12 @@ if (!elgg_annotation_exists($guid, 'likes')) { ); $likes_button = elgg_view('output/url', $params); } else { - $likes = get_annotations($guid, '', '', 'likes', '', elgg_get_logged_in_user_guid()); + $options = array( + 'guid' => $guid, + 'annotation_name' => 'likes', + 'owner_guid' => get_logged_in_user_guid() + ); + $likes = elgg_get_annotations($options); $url = elgg_get_site_url() . "action/likes/delete?annotation_id={$likes[0]->id}"; $params = array( 'href' => $url, diff --git a/views/default/core/river/controls.php b/views/default/core/river/controls.php index 7c5e94581..dd9de656d 100644 --- a/views/default/core/river/controls.php +++ b/views/default/core/river/controls.php @@ -1,7 +1,7 @@ <?php /** * Controls on an river item - * + * * * @uses $vars['item'] */ @@ -18,7 +18,7 @@ if (elgg_is_logged_in()) { 'internalid' => "elgg-toggler-{$object->getGUID()}", ); echo elgg_view('output/url', $params); - + // like this if (!elgg_annotation_exists($object->getGUID(), 'likes')) { $url = "action/likes/add?guid={$object->getGUID()}"; @@ -29,7 +29,12 @@ if (elgg_is_logged_in()) { ); echo elgg_view('output/url', $params); } else { - $likes = get_annotations($guid, '', '', 'likes', '', elgg_get_logged_in_user_guid()); + $options = array( + 'guid' => $guid, + 'annotation_name' => 'likes', + 'owner_guid' => get_logged_in_user_guid() + ); + $likes = elgg_get_annotations($options); $url = elgg_get_site_url() . "action/likes/delete?annotation_id={$likes[0]->id}"; $params = array( 'href' => $url, diff --git a/views/default/core/river/footer.php b/views/default/core/river/footer.php index 1b0d14987..04f7d8daa 100644 --- a/views/default/core/river/footer.php +++ b/views/default/core/river/footer.php @@ -13,8 +13,18 @@ if ($item->annotation_id != 0 || !$object) { $comment_count = count_annotations($object->getGUID(), '', '', 'generic_comment'); -$comments = get_annotations($object->getGUID(), "", "", 'generic_comment', "", "", 3, 0, "desc"); +$options = array( + 'guid' => $object->getGUID(), + 'annotation_name' => 'generic_comment', + 'limit' => 3, + 'order_by' => 'n_table.time_created desc' +); +$comments = elgg_get_annotations($options); + if ($comments) { + // why is this reversing it? because we're asking for the 3 latest + // comments by sorting desc and limiting by 3, but we want to display + // these comments with the latest at the bottom. $comments = array_reverse($comments); ?> @@ -38,6 +48,6 @@ if ($comments) { // inline comment form echo elgg_view_form('comments/inline', array( - 'action' => 'action/comments/add', - 'internalid' => "elgg-togglee-{$object->getGUID()}", + 'action' => 'action/comments/add', + 'internalid' => "elgg-togglee-{$object->getGUID()}", ), array('entity' => $object)); |