-
Notifications
You must be signed in to change notification settings - Fork 0
/
pagelikes.vm
36 lines (36 loc) · 1.31 KB
/
pagelikes.vm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
## Macro name: pagelikes
## Visibility: Visible to all users in the Macro Browser
## Macro title: Page Likes
## Description: Returns the number of likes for a given page
## Categories: Confluence content
## Macro body processing: No macro body
##
## Developed by: Charles Hall
## Date created: 27.04.2016
## Installed by: Charles Hall
## @param PageID:title=Page ID|type=int|required=false|desc=ID of page to count likes
##
## Check for page id parameter, otherwise use default of current page
#if (!$paramPageID)
#set ($paramPageID=$content.id)
#end
##
#set( $containerManagerClass=$content.class.forName('com.atlassian.spring.container.ContainerManager') )
#set( $getInstanceMethod=$containerManagerClass.getDeclaredMethod('getInstance',null) )
#set( $containerManager=$getInstanceMethod.invoke(null,null) )
#set( $containerContext=$containerManager.containerContext )
#set( $pageManager=$containerContext.getComponent('pageManager') )
#set( $likeManager=$containerContext.getComponent('likeManager') )
##
#set ($targetPage = $action.page)
## Set up integer object to handle string conversion of page id
#set($Integer = 0)
##
#if ($pageManager)
#set ($targetPage = $pageManager.getPage($Integer.parseInt($paramPageID)))
#end
##
#set($count = $likeManager.countLikes($targetPage))
#if ($likeManager)
<span class="likecount">$count</span>
#end