You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

421 lines
21 KiB

<%@page import="kr.co.kihyun.text.html.TagFilter"%>
<% /**********************************************************************************
프로그램명 : board_modify.jsp
프로그램설명 : 집계문서에관한 공지 글 쓰기
작 성 자 : 강 원 중
작 성 일 : 2004. 06.07
최신변경일 : 2005. 05.11
***********************************************************************************/
%>
<%@ page contentType="text/html; charset=euc-kr"%>
<%@ page import="kr.co.kihyun.text.html.ServletUtil"%>
<%@ page import="kr.co.kihyun.beans.user.HttpSSOLogin"%>
<%@ page import="java.net.URLEncoder"%>
<%@ page import="kr.co.kihyun.moumi.Moumi"%>
<%@ page import="kr.co.kihyun.lang.Encoder"%>
<%@ page import="kr.co.kihyun.lang.MString"
import="kr.co.kihyun.lang.MLong" import="javax.jdo.PersistenceManager"
import="javax.jdo.Transaction"
import="kr.co.kihyun.beans.entity.util.*"
import="kr.co.kihyun.beans.entity.Board"%>
<%@ page import="java.util.Map.Entry"%>
<%@ page import="java.util.List"%>
<%@ include file="/totsys/common/inc/sec/secure.inc.jsp"%>
<% PersistenceManager pm = new MPersistenceManager(PMF.get().getPersistenceManager());
Transaction tx = pm.currentTransaction();
try {
/*********** User HttpSSOLogin check ***********/
if (!HttpSSOLogin.isLogin(request)) {
String connURL = "opener.location='/totsys/login/login.jsp';";
out.println(ServletUtil.getJavaScript(connURL));
out.println(ServletUtil.getJavaScript("window.close();"));
return;
}
/********** session내의 userId **********/
String usID = HttpSSOLogin.getLoginID(request);
/****** Parameter ******/
Long boardID = null;
String strPage = clearXSS(request.getParameter("strPage"), "");
String findOption = clearXSS(request.getParameter("findOption"),null);
String findWord = clearXSS(Encoder.toJava(request.getParameter("findWord")),null);
boardID = MLong.parseLong(request.getParameter("boardID"), null);
/*********** Board View vlaues ***********/
Board board = null;
String userID = "";
String boardTitle = "";
String boardContents = "";
String usrFilenames = "";
String svrFilenames = "";
String boardGroupID = "";
int fileCount = 0;
tx.begin();
board = boardID == null ? null : pm.getObjectById(Board.class, boardID);
userID = board.getUser(pm) == null ? null : board.getUser(pm).getId();
tx.rollback();
boardTitle = TagFilter.unconvertedMeta(board.getTitle());
boardContents = board.getContents();
boardContents = TagFilter.unconvertedMeta(boardContents);
String checkPopup = board.getPopupYn();
for (Entry<String, List<Byte>> entry : board.getAttachments().entrySet()) {
usrFilenames += entry.getKey() + ";";
svrFilenames += entry.getKey() + ";";
}
fileCount = board.getAttachments().size();
boardGroupID = board.getCategory().getId();
String boardType = "";
if ("ID_SYSTEM_NOTICE".equals(boardGroupID)) {
boardType = Moumi.getMessageBundle().getString("moumi.message.board.notice");
} else if ("ID_FAQ".equals(boardGroupID)) {
boardType = Moumi.getMessageBundle().getString("moumi.message.board.faq");
} else if ("ID_QNA".equals(boardGroupID)) {
boardType = Moumi.getMessageBundle().getString("moumi.message.board.qna");
} else if ("ID_PDS".equals(boardGroupID)) {
boardType = Moumi.getMessageBundle().getString("moumi.message.board.pds");
}
/*********** append file name vlaues ***********/
String[] usrFilenameList = usrFilenames.split(";");
String[] svrFilenameList = svrFilenames.split(";");
session.setAttribute("modifyTargetURI", "location.replace('/totsys/sysadm/board/board_view.jsp?boardID=" + boardID + "&boardUserID=" + userID + "')");
%>
<HTML>
<HEAD>
<TITLE><%=Moumi.getTitle()%></TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=euc-kr">
<link rel="stylesheet" href="/totsys/common/css/text.css" type="text/css">
<link rel="stylesheet" href="/totsys/common/css/kecttep.css" type="text/css">
<script src="/totsys/common/js/rollover.js"></script>
<script src="/totsys/common/js/util.js"></script>
<script type="text/javascript" src="/test/jquery-1.6.4.js"></script>
<script type="text/javascript" src="/totsys/common/js/jquery.custom.indicator.js"></script>
<script language="javascript">
<!--
function checkUser(isManager){
if(isManager == "false"){
alert("공지사항에 대한 쓰기 권한이 없습니다.");
window.close();
}
}
if('<%=userID%>' != '<%=usID%>' && '<%=HttpSSOLogin.getSysAuth(request)%>'=='<%=Moumi.TOTPER%>'){
alert("정상적인 방법으로 이용해주시기 바랍니다.");
location.replace('/totsys/sysadm/board/board_list.jsp?boardGroupID=<%=boardGroupID%>')
}
num = <%= fileCount%>;
usrFilenames = "<%= usrFilenames%>";
svrFilenames = "<%= svrFilenames%>";
fileInfos = "";
userFilePath = "";
/********** userfile list와 serverfile list를 배열로 저장 **********/
function checkFile(Filename, Filename2){
frm = document.multiUpload;
mkFileList(Filename, Filename2, 'add');
num++;
frm.fileCount.value = num;
}
function mkFileList(Filename, Filename2, size, mode) {
var tmpSvrFilenames = "";
var tmpUsrFilenames = "";
var tmpFileInfos = "";
//var nList4 = "";
if (!mode){
mode = "add";
}
subFilename = Filename;
subFilename2 = cut_str( 1, Filename2, "/");
subinfo = size;
svrFilenameList = svrFilenames.split(";", num);
usrFilenameList = usrFilenames.split(";", num);
fileInfoList = fileInfos.split(";", num);
if (mode == "add") {
if (svrFilenames && usrFilenames) {
for (i=0; i<num; i++) {
tmpSvrFilenames += svrFilenameList[i] + ";";
tmpUsrFilenames += usrFilenameList[i] + ";";
tmpFileInfos += fileInfoList[i] + ";";
}
tmpSvrFilenames += subFilename;
tmpUsrFilenames += subFilename2;
tmpFileInfos += subinfo;
} else {
tmpSvrFilenames = subFilename;
tmpUsrFilenames = subFilename2;
tmpFileInfos = subinfo;
}
} else {
for (i=0; i<num; i++) {
if (subFilename == svrFilenameList[i])
continue;
else {
tmpSvrFilenames += svrFilenameList[i] + ";";
tmpUsrFilenames += usrFilenameList[i] + ";";
tmpFileInfos += fileInfoList[i] + ";";
}
}
}
svrFilenames = tmpSvrFilenames;
usrFilenames = tmpUsrFilenames;
fileInfos = tmpFileInfos;
}
function cut_str( state, value, separator ) {
if (!separator){
separator = ".";
}
if ( state == 0 ){
return value.substring(0, value.lastIndexOf(separator));
}
if ( state == 1 ){
return value.substring(value.lastIndexOf(separator)+1, value.length );
}
}
function delFrm() {
var list = document.subUpload.delFrm.fileList;
var a = list.options[list.selectedIndex].value;
var no = -1;
svrFilenameList = svrFilenames.split(";", num);
usrFilenameList = usrFilenames.split(";", num);
for(i=0; i<num; i++) {
if (a == svrFilenameList[i]) {
no = i;
mkFileList(svrFilenameList[i], usrFilenameList[i], 0,"delete");
}
}
if (no != -1) {
frm = document.multiUpload;
dname = "uForm_" + no;
if (num > 0){
num--;
}
frm2 = document.subUpload.delFrm;
frm2.submit();
}
}
function checkForm(){
var frm = document.multiUpload;
//if (!num || !svrFilenames || !usrFilenames){
// alert ("첨부된 파일이 없습니다. 다시 시도해 주세요.");
//} else {
if (frm.title.value == "") {
alert("제목을 입력해 주세요.");
frm.title.focus();
return;
}
if(getByteSize(frm.title.value) > 200) {
alert("제목의 길이는 한글기준 66자 이내여야 합니다.");
frm.title.focus();
return;
}
if (frm.title.value.indexOf("\\") > -1) {
alert("제목에는 특수기호 역슬래시(\\) 문자를 사용할 수 없습니다.");
frm.title.focus();
return;
}
if(frm.contents.value == ""){
alert("내용을 입력해 주세요.");
frm.contents.focus();
return;
}
/*frm.fileCount.value = num;
frm.svrFilenames.value = svrFilenames;
frm.usrFilenames.value = usrFilenames;
frm.fileInfos.value = fileInfos;*/
$.customIndicator.show(window.self);
frm.target = "hiddenFrame";
frm.submit();
}
/*
* 상세보기페이지로 이동처리하는 함수
* @param {type} p_boardId
* @returns {undefined}
*/
function fn_goToView() {
document.f_view.submit();
}
//-->
</script>
</HEAD>
<body style='' BGCOLOR=#FFFFFF LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0>
<form name="f_view" method="post" action="./board_view.jsp">
<input type="hidden" name="boardID" value="<%= boardID %>">
<input type="hidden" name="strPage" value="<%= strPage %>">
<input type="hidden" name="boardGroupID" value="<%= boardGroupID %>">
<input type="hidden" name="findWord" value="<%= findWord %>">
<input type="hidden" name="findOption" value="<%= findOption %>">
</form>
<table width="100%" height="70" border="0" cellpadding="0" cellspacing="0">
<jsp:include page="/totsys/common/inc/sysadm/top/top.jsp" flush="true" />
<tr>
<td nowrap width="0"></td>
<td valign="top">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<jsp:include page="/totsys/common/inc/title/title.jsp" flush="true">
<jsp:param value='<%= URLEncoder.encode(boardType, "UTF-8")%>' name="title" />
<jsp:param value='<%= URLEncoder.encode(boardTitle, "UTF-8")%>' name="desc" />
</jsp:include>
<tr>
<td height="1"></td>
</tr>
<tr>
<td valign="top">
<FORM name="multiUpload" action="/servlet/kr.co.kihyun.beans.totsys.board.HttpBoardModify" method="post">
<INPUT type="hidden" name="userID" value="<%= userID%>">
<INPUT type="hidden" name="boardGroupID" value="<%= boardGroupID%>">
<INPUT type="hidden" name="fileCount" value="<%=MString.isNull(usrFilenameList[0]) == true ? 0 : svrFilenameList.length%>">
<INPUT type="hidden" name="usrFilenames" value="<%= usrFilenames%>">
<INPUT type="hidden" name="svrFilenames" value="<%= svrFilenames%>">
<INPUT type="hidden" name="fileInfos">
<input type="hidden" name="boardID" value="<%=boardID%>">
<input type="hidden" name="callbackFunc" value="parent.fn_goToView()">
<table border="1px" class="kecttep_list_table" bordercolor="#e3e3e3" width="100%" cellpadding="0" cellspacing="0">
<!---- 제목 시작 ---->
<tr>
<td class="kecttep_tdmenu" width="120" nowrap height="25" style="padding-left:20px;">
제목
</td>
<td class="kecttep_last_graytd" align=center style="padding-left: 5px;">
<input style="width: 99%" name="title" class=inputtxt value="<%= boardTitle%>" style="ime-mode: active;" />
</td>
</tr>
<!---- 제목 끝 ---->
<!---- 내용 시작 ---->
<tr valign="top">
<td class="kecttep_tdmenu" width="120" nowrap height="25" style="padding-top: 10px; padding-left:20px;">
내용
</td>
<td class="kecttep_last_graytd">
<textarea class=inputtxt style="margin: 10px 10px 10px 10px; width: 100%; height: 320px; ime-mode: active" name="contents"><%= boardContents%></textarea>
</td>
</tr>
<!---- 내용 끝 ---->
<!---- 파일첨부 ---->
<tr>
<td class="kecttep_tdmenu" width="120" valign="middle" style="padding-top: 10px; padding-left:20px;">
관련자료 첨부
</td>
<td class="kecttep_last_graytd" valign=top>
<iframe src="/totsys/common/inc/board/doc/write_file_upload.jsp?boardGroupID=<%=boardGroupID%>&execMode=init&mode=sysadm&boardID=<%=boardID%>"
name='subUpload' width="100%" frameborder=0 scrolling=no
marginheight=0 marginwidth=2 height="70"></iframe>
</td>
</tr>
<!---- 파일첨부 끝 ---->
<!---- 팝업공지 체크 ---->
<% if("ID_SYSTEM_NOTICE".equals(boardGroupID)) { %>
<tr>
<td class="kecttep_tdmenu" width="120" nowrap height="25" style="padding-left:20px;">
팝업공지
</td>
<td class="kecttep_last_graytd" align="left" style="padding-left: 5px;">
<label for="">
<input type="checkbox" name="checkPopup" <% if (checkPopup == "Y") {%> checked <% }%>>&nbsp;로그인시 팝업으로 공지함
</label>
</td>
</tr>
<% } %>
<!---- 팝업공지 체크 ---->
</table>
</FORM>
</td>
</tr>
<tr>
<td height="10"></td>
</tr>
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="0" align="center">
<!---- 버튼 (확인, 취소) ---->
<tr>
<td height="10">
<!-- <a href="#" onclick="javascript:checkForm();"
onMouseOut="MM_swapImgRestore()"
onMouseOver="MM_swapImage('bt_enter','','./images/bt_enter.gif',1)"><img
name="bt_enter" border="0" src="./images/bt_enter.gif"></a>-->
<a href="#" onclick="javascript:checkForm();" title="저장">
<img name="bt_enter" border="0" src="/totsys/common/images/bt_save.gif" alt="저장" />
</a>
</td>
<td width="10">&nbsp;</td>
<td height="10">
<!-- <a
href="./board_view.jsp?boardID=<%= boardID%>&strPage=<%= strPage%>&findOption=<%= findOption%>&findWord=<%= findWord%>"
onMouseOut="MM_swapImgRestore()"
onMouseOver="MM_swapImage('bt_cancel3.gif','','./images/bt_cancel3.gif',1)"><img
name="bt_cancel3.gif" border="0" src="./images/bt_cancel3.gif"></a>-->
<a href="javascript:fn_goToView();" title="취소">
<img name="bt_cancel3.gif" border="0" src="/totsys/common/images/bt_cancle.gif" alt="취소" />
</a>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
<td nowrap width="10">&nbsp;</td>
</tr>
<!------------------------------- top menu start ------------------------------->
<!--%@ include file="/totsys/common/inc/buttom/buttom.jsp"%-->
<!------------------------------- top menu end ------------------------------->
</table>
<iframe name='hiddenFrame' width=0 height=0 style='display:none;'></iframe>
</BODY>
</HTML>
<%
} catch (Exception ex) {
//38.오류메세지를 통한 정보 노출(getMessage)_CWE-209 : Update by YOUNGJUN,CHO
//out.println(ex);//앤개
ex.printStackTrace();
//out.println("<html><body style='overflow=auto' bgcolor='white'><h1>Can't contact servlet runner</h1><br><br>Message : " + ex.getMessage() + "</body></html>");
//out.println("<META HTTP-EQUIV='refresh' CONTENT='0.1; URL=/error/exception.jsp'>");
//================================================
} finally {
if (tx.isActive()) {
tx.rollback();
}
pm.close();
}
%>