muc-history-settings.jsp 6.25 KB
Newer Older
Matt Tucker's avatar
Matt Tucker committed
1 2 3 4
<%--
  -	$RCSfile$
  -	$Revision$
  -	$Date$
Bill Lynch's avatar
Bill Lynch committed
5 6 7 8 9
  -
  - 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
10
--%>
Bill Lynch's avatar
Bill Lynch committed
11

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

21 22
<%@ 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
23

Matt Tucker's avatar
Matt Tucker committed
24 25 26 27 28 29 30
<%!  // 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
31 32 33 34

<jsp:useBean id="admin" class="org.jivesoftware.util.WebManager"/>
<%  admin.init(request, response, session, application, out ); %>

Matt Tucker's avatar
Matt Tucker committed
35 36 37 38 39 40
<%   // 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
41
    MultiUserChatServer mucServer = admin.getMultiUserChatServer();
Matt Tucker's avatar
Matt Tucker committed
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
    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
69 70
            response.sendRedirect("muc-history-settings.jsp?success=true");
            return;
Matt Tucker's avatar
Matt Tucker committed
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
        }
    }

    // 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
88

Bill Lynch's avatar
Bill Lynch committed
89 90
<jsp:useBean id="pageinfo" scope="request" class="org.jivesoftware.admin.AdminPageBean" />
<%  // Title of this page and breadcrumbs
91
    String title = LocaleUtils.getLocalizedString("groupchat.history.settings.title");
Bill Lynch's avatar
Bill Lynch committed
92
    pageinfo.setTitle(title);
93 94
    pageinfo.getBreadcrumbs().add(new AdminPageBean.Breadcrumb(LocaleUtils.getLocalizedString("global.main"), "index.jsp"));
    pageinfo.getBreadcrumbs().add(new AdminPageBean.Breadcrumb(title, "muc-history-settings.jsp"));
Bill Lynch's avatar
Bill Lynch committed
95 96 97 98 99 100
    pageinfo.setPageID("muc-history");
%>
<jsp:include page="top.jsp" flush="true" />
<jsp:include page="title.jsp" flush="true" />

<p>
101
<fmt:message key="groupchat.history.settings.introduction" />
Bill Lynch's avatar
Bill Lynch committed
102 103 104 105 106 107 108 109 110
</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">
111
        <fmt:message key="groupchat.history.settings.saved_successfully" />
Bill Lynch's avatar
Bill Lynch committed
112 113 114 115 116 117 118 119 120 121
        </td></tr>
    </tbody>
    </table>
    </div><br>

<%  } %>

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

<fieldset>
122
    <legend><fmt:message key="groupchat.history.settings.legend" /></legend>
Bill Lynch's avatar
Bill Lynch committed
123 124 125
    <div>
    <table cellpadding="3" cellspacing="0" border="0" width="100%">
    <tbody>
Matt Tucker's avatar
Matt Tucker committed
126
        <tr valign="middle" class="">
Bill Lynch's avatar
Bill Lynch committed
127 128 129 130 131
            <td width="1%" nowrap>
                <input type="radio" name="policy" value="<%= NONE %>" id="rb01"  <%= ((policy==NONE) ? "checked" : "") %> />
            </td>
            <td width="99%">
                <label for="rb01">
132 133
                <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
134 135
            </td>
        </tr>
Matt Tucker's avatar
Matt Tucker committed
136
        <tr valign="middle">
Bill Lynch's avatar
Bill Lynch committed
137 138 139 140 141
            <td width="1%" nowrap>
                <input type="radio" name="policy" value="<%= ALL %>" id="rb02"  <%= ((policy==ALL) ? "checked" : "") %>/>
            </td>
            <td width="99%">
                <label for="rb02">
142 143
                <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
144 145 146 147 148 149 150 151
            </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">
152 153
                <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
154 155
            </td>
        </tr>
Matt Tucker's avatar
Matt Tucker committed
156
        <tr valign="middle" class="">
Bill Lynch's avatar
Bill Lynch committed
157 158
            <td width="1%" nowrap>&nbsp;</td>
            <td width="99%">
159
                <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
160 161 162 163 164 165 166 167 168
            </td>
        </tr>
    </tbody>
    </table>
    </div>
</fieldset>

<br><br>

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

Matt Tucker's avatar
Matt Tucker committed
171 172
</form>

Bill Lynch's avatar
Bill Lynch committed
173
<jsp:include page="bottom.jsp" flush="true" />