chatroom-history-settings.jsp 4.88 KB
Newer Older
Matt Tucker's avatar
Matt Tucker committed
1 2 3 4 5 6 7 8 9 10 11
<%@ taglib uri="core" prefix="c"%>
<%@ taglib uri="fmt" prefix="fmt" %>
<%--
  -	$RCSfile$
  -	$Revision$
  -	$Date$
--%>

<%@ page import="org.jivesoftware.util.*,
                 java.util.*,
                 org.jivesoftware.messenger.*,
Derek DeMoro's avatar
Derek DeMoro committed
12
                 org.jivesoftware.admin.*,
Bill Lynch's avatar
Bill Lynch committed
13
                 org.jivesoftware.messenger.muc.HistoryStrategy"
Matt Tucker's avatar
Matt Tucker committed
14 15
%>

Bill Lynch's avatar
Bill Lynch committed
16
<%-- Define Administration Bean --%>
Matt Tucker's avatar
Matt Tucker committed
17 18 19
<jsp:useBean id="admin" class="org.jivesoftware.util.WebManager"  />
<% admin.init(request, response, session, application, out ); %>

Derek DeMoro's avatar
Derek DeMoro committed
20 21 22 23 24 25 26 27
<jsp:useBean id="pageinfo" scope="request" class="org.jivesoftware.admin.AdminPageBean" />
<%  // Title of this page and breadcrumbs
    String title = "Chat Room History Settings";
    pageinfo.setTitle(title);
    pageinfo.getBreadcrumbs().add(new AdminPageBean.Breadcrumb("Main", "main.jsp"));
    pageinfo.getBreadcrumbs().add(new AdminPageBean.Breadcrumb(title, "chatroom-history-settings.jsp"));
    pageinfo.setPageID("server-chatroom-history");
%>
Bill Lynch's avatar
Bill Lynch committed
28
<jsp:include page="top.jsp" flush="true" />
Derek DeMoro's avatar
Derek DeMoro committed
29
<jsp:include page="title.jsp" flush="true" />
Matt Tucker's avatar
Matt Tucker committed
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46


<%! // Global vars and methods:

    // Strategy definitions:
    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:
Bill Lynch's avatar
Bill Lynch committed
47 48
//    ChatServer chatServer = (ChatServer)admin.getServiceLookup().lookup(ChatServer.class);
//    HistoryStrategy historyStrat = chatServer.getHistoryStrategy();
Matt Tucker's avatar
Matt Tucker committed
49 50 51 52 53 54 55 56 57 58 59 60 61

    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) {
Bill Lynch's avatar
Bill Lynch committed
62
//                historyStrat.setType(HistoryStrategy.Type.all);
Matt Tucker's avatar
Matt Tucker committed
63 64
            }
            else if (policy == NONE) {
Bill Lynch's avatar
Bill Lynch committed
65
//                historyStrat.setType(HistoryStrategy.Type.none);
Matt Tucker's avatar
Matt Tucker committed
66 67
            }
            else if (policy == NUMBER) {
Bill Lynch's avatar
Bill Lynch committed
68 69
//                historyStrat.setType(HistoryStrategy.Type.number);
//                historyStrat.setMaxNumber(numMessages);
Matt Tucker's avatar
Matt Tucker committed
70 71 72 73 74 75 76 77 78 79 80 81
            }
            // All done, redirect
            %>
              <p class="jive-success-text">
    Settings updated.
    </p>
            <%
        }
    }

    // Set page vars
    if (errors.size() == 0) {
Bill Lynch's avatar
Bill Lynch committed
82 83 84 85 86 87 88 89 90 91
//        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
92 93
    }
%>
Derek DeMoro's avatar
Derek DeMoro committed
94

Matt Tucker's avatar
Matt Tucker committed
95
<table cellpadding="3" cellspacing="1" border="0" width="600">
Derek DeMoro's avatar
Derek DeMoro committed
96
<form action="chatroom-history-settings.jsp">
Matt Tucker's avatar
Matt Tucker committed
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
<tr><td class="text" colspan="2" >
Chatrooms can replay conversation histories to provide context to new members joining a room.
<fmt:message key="short.title" bundle="${lang}" /> provides several options for controlling how much history to store for each room.
</td>



<tr valign="top" class="">
    <td width="1%" nowrap>
        <input type="radio" name="policy" value="<%= NONE %>" id="rb01"
         <%= ((policy==NONE) ? "checked" : "") %>>
    </td>
    <td width="99%">
        <label for="rb01"><b>Don't Show History</b></label> - Do not show the entire chat
        history.
    </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%">
        <label for="rb02"><b>Show Entire Chat History</b></label> - Show the entire chat history
        to the user.
    </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%">
        <label for="rb03"><b>Show a Specific Number of Messages</b></label> - Show a specific
        number of the most recent messages in the chat. Use the box below to specify
        that number.
</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
</tr>
</table>

<br>

<input type="submit" name="update" value="Save Settings">

</form>

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