📄 workgroup-variables.jsp
字号:
<%@ page import="org.jivesoftware.util.ParamUtils,
org.jivesoftware.xmpp.workgroup.WorkgroupManager,
org.jivesoftware.xmpp.workgroup.Workgroup,
org.xmpp.packet.JID,
org.jivesoftware.xmpp.workgroup.utils.ModelUtil,
java.util.List, org.jivesoftware.openfire.fastpath.dataforms.FormManager, org.jivesoftware.openfire.fastpath.dataforms.WorkgroupForm, org.jivesoftware.openfire.fastpath.dataforms.FormElement" errorPage="workgroup-error.jsp" %>
<%
String wgID = ParamUtils.getParameter(request, "wgID");
WorkgroupManager workgroupManager = WorkgroupManager.getInstance();
Workgroup workgroup = workgroupManager.getWorkgroup(new JID(wgID));
FormManager formManager = FormManager.getInstance();
WorkgroupForm workgroupForm = formManager.getWebForm(workgroup);
if (workgroupForm == null) {
workgroupForm = new WorkgroupForm();
formManager.addWorkgroupForm(workgroup, workgroupForm);
}
boolean delete = ParamUtils.getBooleanParameter(request, "delete");
boolean addVariable = ParamUtils.getParameter(request, "addVariable") != null;
if (addVariable) {
String variableType = ParamUtils.getParameter(request, "variableType");
String variableName = ParamUtils.getParameter(request, "variableName");
String variableValue = ParamUtils.getParameter(request, "variableValue");
String variableDescription = ParamUtils.getParameter(request, "variableDescription");
FormElement formElement = new FormElement();
formElement.setAnswerType(WorkgroupForm.FormEnum.hidden);
formElement.getAnswers().add(variableType + "_" + variableValue);
formElement.setVariable(variableName);
if (variableDescription != null) {
formElement.setDescription(variableDescription);
}
workgroupForm.addHiddenVar(formElement);
}
if (delete) {
int index = ParamUtils.getIntParameter(request, "index", -1);
if (index >= 0) {
// Re-add it based on the "direction" we're doing. First, remove it:
workgroupForm.removeHiddenVarAt(index);
// done, so redirect
response.sendRedirect("workgroup-variables.jsp?wgID=" + wgID);
return;
}
}
boolean save = ParamUtils.getParameter(request, "save") != null;
String message = "";
if (save) {
String title = ParamUtils.getParameter(request, "title");
String description = ParamUtils.getParameter(request, "description");
if (ModelUtil.hasLength(title)) {
workgroupForm.setTitle(title);
}
if (ModelUtil.hasLength(description)) {
workgroupForm.setDescription(description);
}
formManager.saveWorkgroupForm(workgroup);
message = "Web Variables has been saved.";
}
String formTitle = workgroupForm.getTitle();
String description = workgroupForm.getDescription();
if (!ModelUtil.hasLength(formTitle)) {
formTitle = "";
}
if (!ModelUtil.hasLength(description)) {
description = "";
}
%>
<html>
<head>
<title><%= "Workgroup Variables for "+wgID%></title>
<meta name="subPageID" content="workgroup-variables"/>
<meta name="extraParams" content="wgID=<%= wgID %>"/>
<!--<meta name="helpPage" content="create_a_form_variable.html"/>-->
<script type="text/javascript">
function Jtrim(st) {
var len = st.length;
var begin = 0, end = len - 1;
while (st.charAt(begin) == " " && begin < len) {
begin++;
}
while (st.charAt(end) == " " && end > begin) {
end--;
}
return st.substring(begin, end + 1);
}
function validateForm(){
if(!Jtrim(document.f.variableValue.value)){
alert("Please specify the name of the variable.");
document.f.variableValue.focus();
return false;
}
if(!Jtrim(document.f.variableName.value)){
alert("Please specify the the new name of the variable.");
document.f.variableName.focus();
return false;
}
return true;
}
</script>
</head>
<body>
<p>
Add all variables you wish to have collected during a Chat Request.
</p>
<p>
<b>Important:</b> Save the form to have your changes take affect.
</p>
<% if(save){ %>
<div class="jive-success">
<table cellpadding="0" cellspacing="0" border="0">
<tbody>
<tr>
<td class="jive-icon"><img alt="success image" src="images/success-16x16.gif" width="16" height="16" border="0"></td>
<td class="jive-icon-label"><%= message %></td>
</tr>
</tbody>
</table>
</div>
<br/>
<% } %>
<form name="f" action="workgroup-variables.jsp" method="post" onsubmit="return validateForm(); return false;">
<input type="hidden" name="wgID" value="<%= wgID %>">
<table class="jive-table" cellpadding="3" cellspacing="0" >
<tr>
<th colspan="7">Create New Variable From Chat Request</th>
</tr>
<tr valign="top">
<td width="25%">HTTP Type:</td>
<td colspan="7">
<select name="variableType">
<option value="getRequest">Request Parameter</option>
<option value="getCookie">Cookie</option>
<option value="getHeader">HTTP Header</option>
<option value="getSession">Session Attribute</option>
</select>
<br/><span class="jive-description">The type of variable to be retrieved.</span>
</td>
</tr>
<tr valign="top">
<td width="25%">Name:*</td><td colspan="6"><input type="text" name="variableValue" size="40"><br/><span class="jive-description">The name of the variable to retrieve.</span></td>
</tr>
<tr valign="top">
<td width="25%">Assign New Name:*</td><td colspan="6"><input type="text" name="variableName" size="40"><br/><span class="jive-description">Specify the name you wish to assign to the variable value upon retrieving the information.</span></td>
</tr>
<tr valign="top">
<td width="25%">Description:</td><td colspan="6"><input type="text" name="variableDescription" size="40"><br/><span class="jive-description">Specify a general description of the variable being retrieved.</span></td>
</tr>
<tr>
<td colspan="7"><input type="submit" name="addVariable" value="Add Variable"></td>
</tr>
</form>
<form action="workgroup-variables.jsp" method="post">
<tr>
<th>Type</th><th>Name</th><th>Returned Name</th><th>Description</th><th>Delete</th>
</tr>
<!-- Build table -->
<%
int counter = 0;
for(FormElement element : workgroupForm.getHiddenVars()){
if(element.getAnswerType() != WorkgroupForm.FormEnum.hidden){
counter++;
continue;
}
String variableValue = "";
List answers = element.getAnswers();
if(answers.size() > 0){
variableValue = (String)element.getAnswers().get(0);
}
String type = null;
if(variableValue.startsWith("getRequest_")){
type = "Request Parameter";
}
if(variableValue.startsWith("getCookie_")){
type = "Cookie";
}
else if(variableValue.startsWith("getHeader_")){
type = "HTTP Header";
}
else if(variableValue.startsWith("getSession_")){
type = "Session Attribute";
}
int indexOf = variableValue.indexOf("_");
String varValue = variableValue.substring(indexOf + 1);
if(type != null){%>
<tr valign="top">
<td><b><%= type %></b></td>
<td><%= element.getVariable() %></td>
<td><%= varValue %></td>
<td><span class="jive-description"><%= element.getDescription() != null ? element.getDescription() : " " %></span></td>
<td> <a href="workgroup-variables.jsp?wgID=<%=wgID%>&delete=true&index=<%=counter%>"><img src="images/delete-16x16.gif" border="0"></a></td>
</tr>
<% } %>
<% counter++; }%>
<tr>
<td colspan="7"><input type="submit" name="save" value="Save Form"></td>
<input type="hidden" name="wgID" value="<%= wgID %>">
</tr>
</table>
</form>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -