diff options
Diffstat (limited to 'mod/likes/views/default/likes/button.php')
-rw-r--r-- | mod/likes/views/default/likes/button.php | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/mod/likes/views/default/likes/button.php b/mod/likes/views/default/likes/button.php new file mode 100644 index 000000000..2dc50ddd0 --- /dev/null +++ b/mod/likes/views/default/likes/button.php @@ -0,0 +1,65 @@ +<?php +/** + * Elgg likes display + * + * @uses $vars['entity'] + */ + +if (!isset($vars['entity'])) { + return true; +} + +$guid = $vars['entity']->getGUID(); + +// check to see if the user has already liked this +if (elgg_is_logged_in() && $vars['entity']->canAnnotate(0, 'likes')) { + if (!elgg_annotation_exists($guid, 'likes')) { + $url = elgg_get_site_url() . "action/likes/add?guid={$guid}"; + $params = array( + 'href' => $url, + 'text' => elgg_view_icon('thumbs-up'), + 'title' => elgg_echo('likes:likethis'), + 'is_action' => true, + ); + $likes_button = elgg_view('output/url', $params); + } else { + $options = array( + 'guid' => $guid, + 'annotation_name' => 'likes', + 'owner_guid' => elgg_get_logged_in_user_guid() + ); + $url = elgg_get_site_url() . "action/likes/delete?guid={$guid}"; + $params = array( + 'href' => $url, + 'text' => elgg_view_icon('thumbs-up-alt'), + 'title' => elgg_echo('likes:remove'), + 'is_action' => true, + ); + $likes_button = elgg_view('output/url', $params); + } +} + +echo $likes_button; + +$list = ''; +$num_of_likes = likes_count($vars['entity']); + +if ($num_of_likes) { + // display the number of likes + if ($num_of_likes == 1) { + $likes_string = elgg_echo('likes:userlikedthis', array($num_of_likes)); + } else { + $likes_string = elgg_echo('likes:userslikedthis', array($num_of_likes)); + } + $params = array( + 'text' => $likes_string, + 'title' => elgg_echo('likes:see'), + 'rel' => 'popup', + 'href' => "#likes-$guid" + ); + $list = elgg_view('output/url', $params); + $list .= "<div class='elgg-module elgg-module-popup elgg-likes-list hidden clearfix' id='likes-$guid'>"; + $list .= elgg_list_annotations(array('guid' => $guid, 'annotation_name' => 'likes', 'limit' => 99)); + $list .= "</div>"; + echo $list; +} |