📄 pluginsedit.jsp
字号:
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="/WEB-INF/c.tld" prefix="c"%>
<jsp:include page="../cp_header.jsp" />
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="guide">
<tr><td><a href="#" onClick="parent.menu.location='admincp.jsp?action=menu'; parent.main.location='admincp.jsp?action=home';return false;">系统设置首页</a> » 插件管理</td></tr>
</table>
<br />
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="tableborder">
<tr class="header"><td><div style="float:left; margin-left:0px; padding-top:8px"><a href="###" onclick="collapse_change('tip')">技巧提示</a></div><div style="float:right; margin-right:4px; padding-bottom:9px"><a href="###" onclick="collapse_change('tip')"><img id="menuimg_tip" src="./images/admincp/menu_reduce.gif" border="0"/></a></div></td></tr>
<tbody id="menu_tip" style="display:">
<tr>
<td>
<ul><li>本功能仅供插件开发者使用,如果您只是安装或使用本插件,切勿修改本设置。插件开发人员在使用本功能前请务必仔细阅读《用户使用说明书》中关于插件设计部分的文档。</ul>
<ul><li>插件后台管理模块请尽量使用 JspRun! 通用后台管理程序(即本页下方的“插件变量配置”),可以基本满足大部分插件需求。如果自行设计后台管理模块,请确保进行安全验证。</ul>
<ul><li>警告: 不正确的插件设计或安装可能危及到整个论坛的正常使用。</ul>
</td>
</tr>
</tbody>
</table>
<br />
<a name="common"></a>
<form method="post" action="admincp.jsp?action=pluginsedit&type=common&pluginid=${plugin.pluginid}">
<a name="2f2a470a8d36789b"></a>
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="tableborder">
<tr class="header"><td colspan="2">编辑插件 - ${plugin.name}<a href="###" onclick="collapse_change('2f2a470a8d36789b')"><img id="menuimg_2f2a470a8d36789b" src="./images/admincp/menu_reduce.gif" border="0" style="float: right; margin-top: -12px; margin-right: 8px;" /></a></td></tr>
<tbody id="menu_2f2a470a8d36789b" style="display: yes">
<tr>
<td width="45%" class="altbg1" ><b>插件名称(name):</b><br /><span class="smalltxt">此插件的名称,中英文均可,最多 40 个字节</span></td>
<td class="altbg2"><input type="text" size="50" name="namenew" value="${plugin.name}" ></td>
</tr>
<c:if test="${plugin.copyright==''}">
<tr>
<td width="45%" class="altbg1" ><b>版权信息(copyright):</b><br /><span class="smalltxt">设置插件的版权信息,最多 100 个字节,一旦设置无法更改</span></td>
<td class="altbg2"><input type="text" size="50" name="copyrightnew" value="${plugin.copyright}" ></td>
</tr>
</c:if>
<tr>
<td width="45%" class="altbg1" ><b>唯一标识符(identifier):</b><br /><span class="smalltxt">插件的唯一英文标识,不能够与现有插件标识重复。可使用字母、数字、下划线命名,不能包含其它符号或特殊字符,最大 40 个字节</span></td>
<td class="altbg2"><input type="text" size="50" name="identifiernew" value="${plugin.identifier}" ></td>
</tr>
<tr>
<td width="45%" class="altbg1" ><b>后台权限等级(adminid):</b><br /><span class="smalltxt">使用系统设置中插件接口自带的插件参数设置程序所需的最低权限等级要求。注意: 插件的后台模块拥有自己的权限设置,因此不受此限制</span></td>
<td class="altbg2">
<select name="adminidnew">
<option value="1" ${plugin.adminid==1?"selected":""}>管理员</option>
<option value="2" ${plugin.adminid==2?"selected":""}>超级版主</option>
<option value="3" ${plugin.adminid==3?"selected":""}>版主</option>
</select>
</td>
</tr>
<tr>
<td width="45%" class="altbg1" ><b>插件目录(directory):</b><br /><span class="smalltxt">插件程序(包括前台和后台)相对于 ./plugins/ 的相对路径,必须以 "/" 结尾,否则会产生错误。如果不指定本设置,则默认插件的前后台程序均放置于 ./plugins/ 里。 </span></td>
<td class="altbg2"><input type="text" size="50" name="directorynew" value="${plugin.directory}" ></td>
</tr>
<tr>
<td width="45%" class="altbg1" ><b>插件数据表(datatables):</b><br /><span class="smalltxt">插件单独使用的数据表,用于在备份功能中将插件的数据表一同备份。请勿包含数据表前缀。多个数据表可以使用半角逗号 ","(不含引号) 分割。</span></td>
<td class="altbg2"><input type="text" size="50" name="datatablesnew" value="${plugin.datatables}" ></td>
</tr>
<tr>
<td width="45%" class="altbg1" valign="top"><b>插件描述(description):</b><br /><span class="smalltxt">插件的简单描述,最多 100 个字节,可选填</span></td>
<td class="altbg2"><img src="images/admincp/zoomin.gif" onmouseover="this.style.cursor='pointer'" onclick="zoomtextarea('descriptionnew', 1)"> <img src="images/admincp/zoomout.gif" onmouseover="this.style.cursor='pointer'" onclick="zoomtextarea('descriptionnew', 0)"><br /><textarea rows="6" name="descriptionnew" id="descriptionnew" cols="50">${plugin.description}</textarea></td>
</tr>
</tbody>
</table>
<br /><center><input class="button" type="submit" name="editsubmit" value="提 交"></center>
</form>
<br />
<a name="modules"></a>
<form method="post" action="admincp.jsp?action=pluginsedit&type=modules&pluginid=${plugin.pluginid}">
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="tableborder">
<tr class="header"><td colspan="7">插件模块和自定义菜单</td></tr>
<tr class="category" align="center">
<td width="45"><input class="checkbox" type="checkbox" name="chkall" onclick="checkall(this.form,'delete')">删?</td>
<td>程序模块(必填)</td>
<td>菜单名称</td>
<td>直接链接 URL</td>
<td>模块类型</td>
<td>使用等级</td>
<td>显示顺序</td>
</tr>
<c:forEach items="${modules}" var="module">
<tr class="altbg1" align="center">
<td class="altbg1"><input class="checkbox" type="checkbox" name="delete[${module.key}]" value="${module.key}"></td>
<td class="altbg2"><input type="text" size="15" name="namenew[${module.key}]" value="${module.value.name}"></td>
<td class="altbg1"><input type="text" size="15" name="menunew[${module.key}]" value="${module.value.menu}"></td>
<td class="altbg2"><input type="text" size="15" name="urlnew[${module.key}]" value="${module.value.url}"></td>
<td class="altbg1"><select name="typenew[${module.key}]"><c:forEach items="${moduleoptions}" var="moduleoption"><option value="${moduleoption.key}" ${moduleoption.key == module.value.type ? "selected" : ""}>${moduleoption.value}</option></c:forEach></select></td>
<td class="altbg2"><select name="adminidnew[${module.key}]"><c:forEach items="${moduleadmins}" var="moduleadmin"><option value="${moduleadmin.key}" ${moduleadmin.key == module.value.adminid ? "selected" : ""}>${moduleadmin.value}</option></c:forEach></select></td>
<td class="altbg1"><input type="text" size="2" name="ordernew[${module.key}]" value="${module.value.displayorder}"></td>
</tr>
</c:forEach>
<tr class="altbg1" align="center">
<td>新增:</td><td><input type="text" size="15" name="newname"></td>
<td><input type="text" size="15" name="newmenu"></td>
<td><input type="text" size="15" name="newurl"></td>
<td><select name="newtype"><option value="1">直接链接(前台菜单)</option><option value="2">前台调用(前台菜单)</option><option value="3">后台调用(后台菜单)</option><option value="4">包含运行(无菜单)</option><option value="5">直接链接(前台下拉菜单)</option><option value="5">前台调用(前台下拉菜单)</option></select></td>
<td><select name="newadminid"><option value="0">普通用户</option><option value="1" selected>管理员</option><option value="2">超级版主</option><option value="3">版主</option></select></td>
<td><input type="text" size="2" name="neworder"></td>
</tr>
</table>
<br /><center><input class="button" type="submit" name="editsubmit" value="提 交"></center>
</form>
<br />
<a name="hooks"></a>
<form method="post" action="admincp.jsp?action=pluginsedit&type=hooks&pluginid=${plugin.pluginid}">
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="tableborder">
<tr class="header"><td colspan="6">插件钩子设置</td></tr>
<tr class="category" align="center">
<td width="45"><input class="checkbox" type="checkbox" name="chkall" onclick="checkall(this.form,'delete')">删?</td>
<td width="20%">钩子名称</td>
<td width="25%">调用代码</td>
<td width="25%">钩子描述</td>
<td width="45">可用</td>
<td>编辑</td>
</tr>
<c:forEach items="${pluginhooks}" var="pluginhook">
<tr align="center">
<td class="altbg1"><input class="checkbox" type="checkbox" name="delete" value="${pluginhook.pluginhookid}"></td>
<td class="altbg2"><input type="text" name="titlenew[${pluginhook.pluginhookid}]" size="15" value="${pluginhook.title}"></td>
<td class="altbg1"><input type="text" name="hookevalcode${pluginhook.pluginhookid}" id="hookevalcode${pluginhook.pluginhookid}" size="30" value="${pluginhook.available>0?pluginhook.evalcode : 'N/A'}" readonly></td>
<td class="altbg2">${pluginhook.description}</td>
<td class="altbg1"><input class="checkbox" type="checkbox" name="availablenew[${pluginhook.pluginhookid}]" value="1" ${pluginhook.available>0?"checked" : ""} onclick="if(this.checked) {$('hookevalcode${pluginhook.pluginhookid}').value='${pluginhook.evalcode}';}else{$('hookevalcode${pluginhook.pluginhookid}').value='N/A';}"></td>
<td class="altbg2"><a href="admincp.jsp?action=pluginhooks&pluginid=${plugin.pluginid}&pluginhookid=${pluginhook.pluginhookid}">[编辑]</a></td>
</tr>
</c:forEach>
<tr class="altbg1" align="center">
<td>新增:</td>
<td><input type="text" name="newtitle" size="15"></td>
<td colspan="4"> </td>
</tr>
</table>
<br /><center><input class="button" type="submit" name="editsubmit" value="提 交"></center>
</form><br />
<a name="vars"></a>
<form method="post" action="admincp.jsp?action=pluginsedit&type=vars&pluginid=${plugin.pluginid}">
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="tableborder">
<tr class="header"><td colspan="6">插件变量配置</td></tr>
<tr class="category" align="center">
<td width="45"><input class="checkbox" type="checkbox" name="chkall" class="category" onclick="checkall(this.form,'delete')">删?</td>
<td>配置名称(必填)</td>
<td>配置变量名(必填)</td>
<td>配置类型</td>
<td>显示顺序</td>
<td>编辑</td>
</tr>
<c:forEach items="${pluginvars}" var="pluginvar">
<tr align="center">
<td class="altbg1"><input class="checkbox" type="checkbox" name="delete" value="${pluginvar.pluginvarid}"></td>
<td class="altbg2">${pluginvar.title}</td>
<td class="altbg1">${pluginvar.variable}</td>
<td class="altbg2">${types[pluginvar.type]}</td>
<td class="altbg1"><input type="text" size="2" name="displayordernew[${pluginvar.pluginvarid}]" value="${pluginvar.displayorder}"></td>
<td class="altbg2"><a href="admincp.jsp?action=pluginvars&pluginid=${plugin.pluginid}&pluginvarid=${pluginvar.pluginvarid}">[详情]</a></td>
</tr>
</c:forEach>
<tr align="center" class="altbg1">
<td>新增:</td>
<td><input type="text" size="15" name="newtitle"></td>
<td><input type="text" size="15" name="newvariable"></td>
<td><select name="newtype"><option value="number">数字(number)</option><option value="text" selected>字串(text)</option><option value="textarea">文本(textarea)</option><option value="radio">开关(radio)</option><option value="select">选择(select)</option><option value="color">颜色(color)</option></seletc></td>
<td><input type="text" size="2" name="newdisplayorder" value="0"></td>
<td> </td>
</tr>
</table>
<br /><center><input class="button" type="submit" name="editsubmit" value="提 交"></center>
</form>
<jsp:include page="../cp_footer.jsp" />
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -