chatroom-history-settings.jsp 5.66 KB
Newer Older
Matt Tucker's avatar
Matt Tucker committed
1 2 3
<%--
  -	$Revision$
  -	$Date$
Bill Lynch's avatar
Bill Lynch committed
4
  -
5
  - Copyright (C) 2004-2005 Jive Software. All rights reserved.
Bill Lynch's avatar
Bill Lynch committed
6 7 8
  -
  - This software is published under the terms of the GNU Public License (GPL),
  - a copy of which is included in this distribution.
Matt Tucker's avatar
Matt Tucker committed
9 10 11 12
--%>

<%@ page import="org.jivesoftware.util.*,
                 java.util.*,
13 14 15
                 org.jivesoftware.wildfire.*,
                 org.jivesoftware.wildfire.muc.HistoryStrategy,
                 org.jivesoftware.wildfire.muc.MultiUserChatServer"
Bill Lynch's avatar
Bill Lynch committed
16
    errorPage="error.jsp"
Matt Tucker's avatar
Matt Tucker committed
17 18
%>

19 20
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jstl/fmt_rt" prefix="fmt" %>
Bill Lynch's avatar
Bill Lynch committed
21

22 23
<jsp:useBean id="webManager" class="org.jivesoftware.util.WebManager"  />
<% webManager.init(request, response, session, application, out ); %>
Matt Tucker's avatar
Matt Tucker committed
24

25 26 27 28 29 30 31
<html>
    <head>
        <title><fmt:message key="chatroom.history.settings.title"/></title>
        <meta name="pageID" content="server-chatroom-history"/>
        <meta name="helpPage" content="edit_group_chat_history_settings.html"/>
    </head>
    <body>
Matt Tucker's avatar
Matt Tucker committed
32 33 34 35 36 37 38 39 40 41 42 43 44

<%! // Global vars and methods:
    static final int ALL = 1;
    static final int NONE = 2;
    static final int NUMBER = 3;
%>

<%  // Get parameters:
    boolean update = request.getParameter("update") != null;
    int policy = ParamUtils.getIntParameter(request,"policy",-1);
    int numMessages = ParamUtils.getIntParameter(request,"numMessages",0);

    // Get an audit manager:
45
    MultiUserChatServer muc = webManager.getMultiUserChatServer();
46
    HistoryStrategy historyStrat = muc.getHistoryStrategy();
Matt Tucker's avatar
Matt Tucker committed
47

48
    Map<String, String> errors = new HashMap<String, String>();
Matt Tucker's avatar
Matt Tucker committed
49 50 51 52 53 54 55 56 57 58 59
    if (update) {
        if (policy != ALL && policy != NONE && policy != NUMBER) {
            errors.put("general", "Please choose a valid chat history policy.");
        }
        else {
            if (policy == NUMBER && numMessages <= 0) {
                errors.put("numMessages", "Please enter a valid number of messages.");
            }
        }
        if (errors.size() == 0) {
            if (policy == ALL) {
60
                historyStrat.setType(HistoryStrategy.Type.all);
Matt Tucker's avatar
Matt Tucker committed
61 62
            }
            else if (policy == NONE) {
63
                historyStrat.setType(HistoryStrategy.Type.none);
Matt Tucker's avatar
Matt Tucker committed
64 65
            }
            else if (policy == NUMBER) {
66 67
                historyStrat.setType(HistoryStrategy.Type.number);
                historyStrat.setMaxNumber(numMessages);
Matt Tucker's avatar
Matt Tucker committed
68 69 70
            }
            // All done, redirect
            %>
Bill Lynch's avatar
Bill Lynch committed
71 72 73
    <div class="jive-success">
    <table cellpadding="0" cellspacing="0" border="0">
    <tbody>
74
        <tr><td class="jive-icon"><img src="images/success-16x16.gif" width="16" height="16" border="0" alt=""></td>
Bill Lynch's avatar
Bill Lynch committed
75
        <td class="jive-icon-label">
76
        <fmt:message key="chatroom.history.settings.saved_successfully" />
Bill Lynch's avatar
Bill Lynch committed
77 78 79 80
        </td></tr>
    </tbody>
    </table>
    </div><br>
Matt Tucker's avatar
Matt Tucker committed
81 82 83 84 85 86
            <%
        }
    }

    // Set page vars
    if (errors.size() == 0) {
87 88 89 90 91 92 93 94 95 96
        if (historyStrat.getType() == HistoryStrategy.Type.all) {
            policy = ALL;
        }
        else if (historyStrat.getType() == HistoryStrategy.Type.none) {
            policy = NONE;
        }
        else if (historyStrat.getType() == HistoryStrategy.Type.number) {
            policy = NUMBER;
        }
        numMessages = historyStrat.getMaxNumber();
Matt Tucker's avatar
Matt Tucker committed
97 98
    }
%>
Derek DeMoro's avatar
Derek DeMoro committed
99

Bill Lynch's avatar
Bill Lynch committed
100
<p>
101 102
<fmt:message key="chatroom.history.settings.info_response1" />
<fmt:message key="short.title" /> <fmt:message key="chatroom.history.settings.info_response2" />
Bill Lynch's avatar
Bill Lynch committed
103 104
</p>

105
<form action="chatroom-history-settings.jsp" method="post">
Bill Lynch's avatar
Bill Lynch committed
106 107

<fieldset>
108
    <legend><fmt:message key="chatroom.history.settings.policy" /></legend>
Bill Lynch's avatar
Bill Lynch committed
109 110 111 112 113 114 115 116 117
    <div>
    <table cellpadding="3" cellspacing="0" border="0" width="100%">
    <tbody>
        <tr valign="top" class="">
            <td width="1%" nowrap>
                <input type="radio" name="policy" value="<%= NONE %>" id="rb01"
                 <%= ((policy==NONE) ? "checked" : "") %>>
            </td>
            <td width="99%">
118 119
                <label for="rb01"><b><fmt:message key="chatroom.history.settings.label_show_title" /></b>
                </label><fmt:message key="chatroom.history.settings.label_show_content" />
Bill Lynch's avatar
Bill Lynch committed
120 121 122 123 124 125 126 127
            </td>
        </tr>
        <tr valign="top">
            <td width="1%" nowrap>
                <input type="radio" name="policy" value="<%= ALL %>" id="rb02"
                 <%= ((policy==ALL) ? "checked" : "") %>>
            </td>
            <td width="99%">
128 129
                <label for="rb02"><b><fmt:message key="chatroom.history.settings.label_show_Entire_title" /></b></label>
                <fmt:message key="chatroom.history.settings.label_show_Entire_content" />  
Bill Lynch's avatar
Bill Lynch committed
130 131 132 133 134 135 136 137
            </td>
        </tr>
        <tr valign="top" class="">
            <td width="1%" nowrap>
                <input type="radio" name="policy" value="<%= NUMBER %>" id="rb03"
                 <%= ((policy==NUMBER) ? "checked" : "") %>>
            </td>
            <td width="99%">
138 139
                <label for="rb03"><b><fmt:message key="chatroom.history.settings.label_show_message_number_title" /></b></label> - 
                <fmt:message key="chatroom.history.settings.label_show_message_number_content" />
Bill Lynch's avatar
Bill Lynch committed
140 141 142 143 144 145 146 147 148
        </tr>
        <tr valign="top" class="">
            <td width="1%" nowrap>
                &nbsp;
            </td>
            <td width="99%">
                <input type="text" name="numMessages" size="5" maxlength="10"
                 onclick="this.form.policy[2].checked=true;"
                 value="<%= ((numMessages > 0) ? ""+numMessages : "") %>"> messages
149
            </td>
Bill Lynch's avatar
Bill Lynch committed
150 151 152 153 154 155 156
        </tr>
    </tbody>
    </table>
    </div>
</fieldset>

<br><br>
Matt Tucker's avatar
Matt Tucker committed
157

158
<input type="submit" name="update" value="<fmt:message key="global.save_settings" />">
Matt Tucker's avatar
Matt Tucker committed
159 160 161

</form>

162 163
    </body>
</html>