1<%@ taglib uri="/WEB-INF/jspwiki.tld" prefix="wiki" %>
2<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
3<%@ page import="java.security.Principal" %>
4<%@ page import="java.util.*" %>
5<%@ page import="com.ecyrd.jspwiki.*" %>
6<%@ page import="com.ecyrd.jspwiki.auth.PrincipalComparator" %>
7<%@ page import="com.ecyrd.jspwiki.auth.authorize.Group" %>
8<%@ page import="com.ecyrd.jspwiki.auth.authorize.GroupManager" %>
9<%@ page import="com.ecyrd.jspwiki.preferences.Preferences" %>
10<%@ page import="org.apache.log4j.*" %>
11<%@ page errorPage="/Error.jsp" %>
12<%@ page import="javax.servlet.jsp.jstl.fmt.*" %>
13<fmt:setLocale value="${prefs.Language}" />
14<fmt:setBundle basename="templates.default"/>
15<%!
16  Logger log = Logger.getLogger("JSPWiki");
17%>
18
19<%
20  WikiContext c = WikiContext.findContext( pageContext );
21
22  // Extract the group name and members
23  String name = request.getParameter( "group" );
24  Group group = (Group)pageContext.getAttribute( "Group",PageContext.REQUEST_SCOPE );
25  Principal[] members = null;
26  String modified = "";
27  String created = "";
28  String modifier = "";
29  String creator = "";
30
31  if ( group != null )
32  {
33    name = group.getName();
34    members = group.members();
35    Arrays.sort( members, new PrincipalComparator() );
36    creator = group.getCreator();
37    if ( group.getCreated() != null )
38    {
39      created = Preferences.renderDate(WikiContext.findContext( pageContext ), group.getCreated(),Preferences.TimeFormat.DATETIME);
40    }
41    modifier = group.getModifier();
42    if ( group.getLastModified() != null )
43    {
44      modified = Preferences.renderDate(WikiContext.findContext( pageContext ), group.getLastModified(),Preferences.TimeFormat.DATETIME) ;
45    }
46  }
47  name = TextUtil.replaceEntities(name);
48%>
49
50<wiki:TabbedSection defaultTab="${param.tab}">
51  <wiki:Tab id="viewgroup" title='<%=LocaleSupport.getLocalizedMessage(pageContext, "group.tab")%>'>
52  <h3><%=name%></h3>
53
54<%
55  if ( group == null )
56  {
57    if ( c.getWikiSession().getMessages( GroupManager.MESSAGES_KEY ).length == 0 )
58    {
59%>
60    <fmt:message key="group.doesnotexist"/>
61    <wiki:Permission permission="createGroups">
62      <fmt:message key="group.createsuggestion">
63        <fmt:param><wiki:Link jsp="NewGroup.jsp">
64                      <wiki:Param name="group" value="<%=name%>" />
65                      <wiki:Param name="group" value="<%=name%>" />
66                      <fmt:message key="group.createit"/>
67                   </wiki:Link>
68        </fmt:param>
69      </fmt:message>
70    </wiki:Permission>
71<%
72    }
73    else
74    {
75%>
76       <wiki:Messages div="error" topic="<%=GroupManager.MESSAGES_KEY%>" prefix='<%=LocaleSupport.getLocalizedMessage(pageContext,"group.errorprefix")%>'/>
77<%
78    }
79  }
80  else
81  {
82%>
83 <table class="wikitable">
84    <tr>
85      <th><fmt:message key="group.name"/></th>
86      <td>
87        <fmt:message key="group.groupintro">
88          <fmt:param><em><%=name%></em></fmt:param>
89        </fmt:message>
90      </td>
91    </tr>
92    <!-- Members -->
93    <tr>
94      <th><fmt:message key="group.members"/>
95      </th>
96      <td><%
97            for ( int i = 0; i < members.length; i++ )
98            {
99              out.println( members[i].getName().trim() );
100              if ( i < ( members.length - 1 ) )
101              {
102                out.println( "<br/>" );
103              }
104            }
105          %></td>
106          <%--fmt:message key="group.membership"/--%>
107      </tr>
108      <tr>
109        <td colspan="2">
110        <fmt:message key="group.modifier">
111           <fmt:param><%=modifier%></fmt:param>
112           <fmt:param><%=modified%></fmt:param>
113        </fmt:message>
114        </td>
115      </tr>
116      <tr>
117        <td colspan="2">
118        <fmt:message key="group.creator">
119           <fmt:param><%=creator%></fmt:param>
120           <fmt:param><%=created%></fmt:param>
121        </fmt:message>
122        </td>
123      </tr>
124    </table>
125<%
126  }
127%>
128
129  <wiki:Permission permission="deleteGroup">
130  <form action="<wiki:Link format='url' jsp='DeleteGroup.jsp'/>"
131         class="wikiform"
132            id="deleteGroup"
133        onsubmit="return( confirm('<fmt:message key="grp.deletegroup.confirm"/>')
134        && Wiki.submitOnce(this) );"
135        method="POST" accept-charset="UTF-8">
136      <input type="submit" name="ok" value="<fmt:message key="actions.deletegroup"/>" />
137      <input type="hidden" name="group" value="${param.group}" />
138  </form>
139  </wiki:Permission>
140
141</wiki:Tab>
142
143<wiki:Permission permission="editGroup">
144  <wiki:Tab id="editgroup" title='<%=LocaleSupport.getLocalizedMessage(pageContext, "actions.editgroup")%>'
145           url='<%=c.getURL(WikiContext.NONE, "EditGroup.jsp", "group="+request.getParameter("group") ) %>'
146           accesskey="e" >
147  </wiki:Tab>
148</wiki:Permission>
149
150</wiki:TabbedSection>
151