muc-history-settings.jsp 5.79 KB
Newer Older
Matt Tucker's avatar
Matt Tucker committed
1 2 3
<%--
  -	$Revision$
  -	$Date$
Bill Lynch's avatar
Bill Lynch committed
4 5 6 7 8
  -
  - Copyright (C) 2004 Jive Software. All rights reserved.
  -
  - 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
--%>
Bill Lynch's avatar
Bill Lynch committed
10

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

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

Matt Tucker's avatar
Matt Tucker committed
21 22 23 24 25 26 27
<%!  // Global vars and methods:

    // Strategy definitions:
    static final int ALL = 1;
    static final int NONE = 2;
    static final int NUMBER = 3;
%>
Bill Lynch's avatar
Bill Lynch committed
28

29 30
<jsp:useBean id="webManager" class="org.jivesoftware.util.WebManager"/>
<%  webManager.init(request, response, session, application, out ); %>
Bill Lynch's avatar
Bill Lynch committed
31

Matt Tucker's avatar
Matt Tucker committed
32 33 34 35 36 37
<%   // Get parameters:
    boolean update = request.getParameter("update") != null;
    int policy = ParamUtils.getIntParameter(request,"policy",-1);
    int numMessages = ParamUtils.getIntParameter(request,"numMessages",0);

	// Get muc history
38
    MultiUserChatServer mucServer = webManager.getMultiUserChatServer();
Matt Tucker's avatar
Matt Tucker committed
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
    HistoryStrategy historyStrat = mucServer.getHistoryStrategy();

    Map errors = new HashMap();
    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) {
                // Update MUC history strategy
                historyStrat.setType(HistoryStrategy.Type.all);
            }
            else if (policy == NONE) {
                // Update MUC history strategy
                historyStrat.setType(HistoryStrategy.Type.none);
            }
            else if (policy == NUMBER) {
                // Update MUC history strategy
                historyStrat.setType(HistoryStrategy.Type.number);
                historyStrat.setMaxNumber(numMessages);
            }
            // All done, redirect
Bill Lynch's avatar
Bill Lynch committed
66 67
            response.sendRedirect("muc-history-settings.jsp?success=true");
            return;
Matt Tucker's avatar
Matt Tucker committed
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
        }
    }

    // Set page vars
    if (errors.size() == 0) {
        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();
    }
%>
Derek DeMoro's avatar
Derek DeMoro committed
85

86 87 88 89 90 91 92
<html>
    <head>
        <title><fmt:message key="groupchat.history.settings.title"/></title>
        <meta name="pageID" content="muc-history"/>
        <meta name="helpPage" content="edit_group_chat_history_settings.html"/>
    </head>
    <body>
Bill Lynch's avatar
Bill Lynch committed
93 94

<p>
95
<fmt:message key="groupchat.history.settings.introduction" />
Bill Lynch's avatar
Bill Lynch committed
96 97 98 99 100 101 102 103 104
</p>

<%  if ("true".equals(request.getParameter("success"))) { %>

    <div class="jive-success">
    <table cellpadding="0" cellspacing="0" border="0">
    <tbody>
        <tr><td class="jive-icon"><img src="images/success-16x16.gif" width="16" height="16" border="0"></td>
        <td class="jive-icon-label">
105
        <fmt:message key="groupchat.history.settings.saved_successfully" />
Bill Lynch's avatar
Bill Lynch committed
106 107 108 109 110 111 112 113 114 115
        </td></tr>
    </tbody>
    </table>
    </div><br>

<%  } %>

<form action="muc-history-settings.jsp" method="post">

<fieldset>
116
    <legend><fmt:message key="groupchat.history.settings.legend" /></legend>
Bill Lynch's avatar
Bill Lynch committed
117 118 119
    <div>
    <table cellpadding="3" cellspacing="0" border="0" width="100%">
    <tbody>
Matt Tucker's avatar
Matt Tucker committed
120
        <tr valign="middle" class="">
Bill Lynch's avatar
Bill Lynch committed
121 122 123 124 125
            <td width="1%" nowrap>
                <input type="radio" name="policy" value="<%= NONE %>" id="rb01"  <%= ((policy==NONE) ? "checked" : "") %> />
            </td>
            <td width="99%">
                <label for="rb01">
126 127
                <b><fmt:message key="groupchat.history.settings.label1_no_history" /></b>
                </label><fmt:message key="groupchat.history.settings.label2_no_history" />
Bill Lynch's avatar
Bill Lynch committed
128 129
            </td>
        </tr>
Matt Tucker's avatar
Matt Tucker committed
130
        <tr valign="middle">
Bill Lynch's avatar
Bill Lynch committed
131 132 133 134 135
            <td width="1%" nowrap>
                <input type="radio" name="policy" value="<%= ALL %>" id="rb02"  <%= ((policy==ALL) ? "checked" : "") %>/>
            </td>
            <td width="99%">
                <label for="rb02">
136 137
                <b><fmt:message key="groupchat.history.settings.label1_entire_history" /></b>
                </label><fmt:message key="groupchat.history.settings.label2_entire_history" />
Bill Lynch's avatar
Bill Lynch committed
138 139 140 141 142 143 144 145
            </td>
        </tr>
        <tr valign="top">
            <td width="1%" nowrap>
                <input type="radio" name="policy" value="<%= NUMBER %>" id="rb03"  <%= ((policy==NUMBER) ? "checked" : "") %> />
            </td>
            <td width="99%">
                <label for="rb03">
146 147
                <b><fmt:message key="groupchat.history.settings.label1_number_messages" /></b>
                </label><fmt:message key="groupchat.history.settings.label2_number_messages" />
Bill Lynch's avatar
Bill Lynch committed
148 149
            </td>
        </tr>
Matt Tucker's avatar
Matt Tucker committed
150
        <tr valign="middle" class="">
Bill Lynch's avatar
Bill Lynch committed
151 152
            <td width="1%" nowrap>&nbsp;</td>
            <td width="99%">
153
                <input type="text" name="numMessages" size="5" maxlength="10" onclick="this.form.policy[2].checked=true;" value="<%= ((numMessages > 0) ? ""+numMessages : "") %>"/> <fmt:message key="groupchat.history.settings.messages" />
Bill Lynch's avatar
Bill Lynch committed
154 155 156 157 158 159 160 161 162
            </td>
        </tr>
    </tbody>
    </table>
    </div>
</fieldset>

<br><br>

163
<input type="submit" name="update" value="<fmt:message key="groupchat.history.settings.save" />"/>
Bill Lynch's avatar
Bill Lynch committed
164

Matt Tucker's avatar
Matt Tucker committed
165 166
</form>

167 168
    </body>
</html>