<% ' ---------------------------------------------------------------------------------------------------- ' ## 공통변수 및 사용자정의변수 정의 ' ---------------------------------------------------------------------------------------------------- ' DB 관련 변수 Dim dbConn, rs, rs2, var_SQL,var_SQL2, var_AddSQL, var_AddSQL2, i, j Dim paramInfo, paramInfos Dim var_strTables, var_strFilter, var_strSort, var_strGroup, var_strFields, var_PrimaryKey ' Page 관련 변수 Dim var_BlockSize, var_Page, var_TotalPage, var_PageSize, var_RowCount, var_TotalRecord, var_number Dim strPaging ' 검색 관련 변수 Dim search_field, search_keyword, arrkeyword Dim search_division, search_category, search_view_yn, search_language_type ' 파라미터 변수 Dim var_Num ' 컬럼변수 Dim col_board_seq, col_division, col_category, col_subject, col_content Dim col_hit, col_notice_yn, col_view_yn, col_user_name, col_password Dim col_delegate_img_path, col_delegate_img_file, col_delegate_img_save Dim col_register_ip, col_del_yn, col_language_type, col_reg_date Dim col_etc_1, col_etc_2, col_etc_3, col_etc_4, col_etc_5 Dim col_etc_6, col_etc_7, col_etc_8, col_etc_9, col_etc_10 Dim col_file_count Dim col_file_seq, col_file_path, col_file_name, col_file_save, col_file_size, col_down_count ' 기타 변수 Dim arrCategory, nCategorySize Dim imgSize, img_width, img_height Dim arrCategoryCount(10) ' 디버그 모드 'Call clsDB.SetDebugMode(True) ' ---------------------------------------------------------------------------------------------------- ' ## 페이지 검증 ' ---------------------------------------------------------------------------------------------------- ' ---------------------------------------------------------------------------------------------------- ' ## Receive Parameters ' ---------------------------------------------------------------------------------------------------- search_category = clsFN.GetParameter(Request("search_category"), "") search_view_yn = "Y" search_division = BOARD_DIVISION search_language_type = BOARD_LANGUAGE var_Num = clsFN.GetParameter(Request("num"), "") ' ---------------------------------------------------------------------------------------------------- ' ## 필수 입력 항목 체크 ' ---------------------------------------------------------------------------------------------------- ' #################################################################################################### ' ## 최신글 ' #################################################################################################### if var_Num <> "" Then var_SQL = "SELECT " var_SQL = var_SQL & " A.BOARD_SEQ, A.DIVISION, A.CATEGORY, A.SUBJECT, A.CONTENT " var_SQL = var_SQL & " , A.HIT, A.NOTICE_YN, A.VIEW_YN, A.USER_NAME, A.PASSWORD " var_SQL = var_SQL & " , A.DELEGATE_IMG_PATH, A.DELEGATE_IMG_FILE, A.DELEGATE_IMG_SAVE " var_SQL = var_SQL & " , A.REGISTER_IP, A.DEL_YN, A.LANGUAGE_TYPE, A.REG_DATE " var_SQL = var_SQL & " , A.ETC_1, A.ETC_2, A.ETC_3, A.ETC_4, A.ETC_5 " var_SQL = var_SQL & " , A.ETC_6, A.ETC_7, A.ETC_8, A.ETC_9, A.ETC_10 " var_SQL = var_SQL & " FROM "& BOARD_TABLENAME & " A WITH(NOLOCK) " var_SQL = var_SQL & " WHERE A.DEL_YN = 'N' AND A.VIEW_YN = 'Y' AND A.BOARD_SEQ = ? " ReDim paramInfo(0) paramInfo(0) = clsDB.MakeParam("@BOARD_SEQ", adInteger, adParamInput, 0, var_Num) Set rs = clsDB.ExecSQLReturnRS(var_SQL, paramInfo, Nothing) Else var_SQL = "SELECT TOP 1 " var_SQL = var_SQL & " A.BOARD_SEQ, A.DIVISION, A.CATEGORY, A.SUBJECT, A.CONTENT " var_SQL = var_SQL & " , A.HIT, A.NOTICE_YN, A.VIEW_YN, A.USER_NAME, A.PASSWORD " var_SQL = var_SQL & " , A.DELEGATE_IMG_PATH, A.DELEGATE_IMG_FILE, A.DELEGATE_IMG_SAVE " var_SQL = var_SQL & " , A.REGISTER_IP, A.DEL_YN, A.LANGUAGE_TYPE, A.REG_DATE " var_SQL = var_SQL & " , A.ETC_1, A.ETC_2, A.ETC_3, A.ETC_4, A.ETC_5 " var_SQL = var_SQL & " , A.ETC_6, A.ETC_7, A.ETC_8, A.ETC_9, A.ETC_10 " var_SQL = var_SQL & " FROM "& BOARD_TABLENAME & " A WITH(NOLOCK) " var_SQL = var_SQL & " WHERE A.DEL_YN = 'N' AND A.VIEW_YN = 'Y' AND A.DIVISION = '"& BOARD_DIVISION &"' " If search_category <> "" Then var_SQL = var_SQL & " AND A.CATEGORY = ? " var_SQL = var_SQL & " ORDER BY A.BOARD_SEQ DESC " ReDim paramInfo(0) paramInfo(0) = clsDB.MakeParam("CATEGORY", adVarChar, adParamInput, 255, search_category) Set rs = clsDB.ExecSQLReturnRS(var_SQL, paramInfo, Nothing) Else var_SQL = var_SQL & " ORDER BY A.BOARD_SEQ DESC " Set rs = clsDB.ExecSQLReturnRS(var_SQL, Nothing, Nothing) End If End If If Not rs.EOF Then col_board_seq = Trim(rs("BOARD_SEQ")) col_division = Trim(rs("DIVISION")) col_category = Trim(rs("CATEGORY")) col_subject = Trim(rs("SUBJECT")) col_content = Trim(rs("CONTENT")) col_hit = Trim(rs("HIT")) col_notice_yn = Trim(rs("NOTICE_YN")) col_view_yn = Trim(rs("VIEW_YN")) col_user_name = Trim(rs("USER_NAME")) col_password = Trim(rs("PASSWORD")) col_delegate_img_path = Trim(rs("DELEGATE_IMG_PATH")) col_delegate_img_file = Trim(rs("DELEGATE_IMG_FILE")) col_delegate_img_save = Trim(rs("DELEGATE_IMG_SAVE")) col_register_ip = Trim(rs("REGISTER_IP")) col_del_yn = Trim(rs("DEL_YN")) col_language_type = Trim(rs("LANGUAGE_TYPE")) col_reg_date = Trim(rs("REG_DATE")) col_etc_1 = Trim(rs("ETC_1")) col_etc_2 = Trim(rs("ETC_2")) col_etc_3 = Trim(rs("ETC_3")) col_etc_4 = Trim(rs("ETC_4")) col_etc_5 = Trim(rs("ETC_5")) col_etc_6 = Trim(rs("ETC_6")) col_etc_7 = Trim(rs("ETC_7")) col_etc_8 = Trim(rs("ETC_8")) col_etc_9 = Trim(rs("ETC_9")) col_etc_10 = Trim(rs("ETC_10")) Else ' Call clsFN.JsAlertLocation(FRONTROOT, DB_001) End If clsDB.closeRS(rs) ' #################################################################################################### ' ## 분류 정보 ' #################################################################################################### var_SQL = "SELECT " var_SQL = var_SQL & " (SELECT COUNT(BOARD_SEQ) FROM "& BOARD_TABLENAME & " A WITH(NOLOCK) " var_SQL = var_SQL & " WHERE A.DEL_YN = 'N' AND A.VIEW_YN = 'Y' AND A.DIVISION = 'RELIC') AS CATEGORY_0 " var_SQL = var_SQL & " , (SELECT COUNT(BOARD_SEQ) FROM "& BOARD_TABLENAME & " A WITH(NOLOCK) " var_SQL = var_SQL & " WHERE A.DEL_YN = 'N' AND A.VIEW_YN = 'Y' AND A.DIVISION = 'RELIC' AND A.CATEGORY = 1) AS CATEGORY_1 " var_SQL = var_SQL & " , (SELECT COUNT(BOARD_SEQ) FROM "& BOARD_TABLENAME & " A WITH(NOLOCK) " var_SQL = var_SQL & " WHERE A.DEL_YN = 'N' AND A.VIEW_YN = 'Y' AND A.DIVISION = 'RELIC' AND A.CATEGORY = 2) AS CATEGORY_2 " var_SQL = var_SQL & " , (SELECT COUNT(BOARD_SEQ) FROM "& BOARD_TABLENAME & " A WITH(NOLOCK) " var_SQL = var_SQL & " WHERE A.DEL_YN = 'N' AND A.VIEW_YN = 'Y' AND A.DIVISION = 'RELIC' AND A.CATEGORY = 3) AS CATEGORY_3 " var_SQL = var_SQL & " , (SELECT COUNT(BOARD_SEQ) FROM "& BOARD_TABLENAME & " A WITH(NOLOCK) " var_SQL = var_SQL & " WHERE A.DEL_YN = 'N' AND A.VIEW_YN = 'Y' AND A.DIVISION = 'RELIC' AND A.CATEGORY = 4) AS CATEGORY_4 " var_SQL = var_SQL & " , (SELECT COUNT(BOARD_SEQ) FROM "& BOARD_TABLENAME & " A WITH(NOLOCK) " var_SQL = var_SQL & " WHERE A.DEL_YN = 'N' AND A.VIEW_YN = 'Y' AND A.DIVISION = 'RELIC' AND A.CATEGORY = 5) AS CATEGORY_5 " var_SQL = var_SQL & " , (SELECT COUNT(BOARD_SEQ) FROM "& BOARD_TABLENAME & " A WITH(NOLOCK) " var_SQL = var_SQL & " WHERE A.DEL_YN = 'N' AND A.VIEW_YN = 'Y' AND A.DIVISION = 'RELIC' AND A.CATEGORY = 6) AS CATEGORY_6 " var_SQL = var_SQL & " , (SELECT COUNT(BOARD_SEQ) FROM "& BOARD_TABLENAME & " A WITH(NOLOCK) " var_SQL = var_SQL & " WHERE A.DEL_YN = 'N' AND A.VIEW_YN = 'Y' AND A.DIVISION = 'RELIC' AND A.CATEGORY = 7) AS CATEGORY_7 " var_SQL = var_SQL & " , (SELECT COUNT(BOARD_SEQ) FROM "& BOARD_TABLENAME & " A WITH(NOLOCK) " var_SQL = var_SQL & " WHERE A.DEL_YN = 'N' AND A.VIEW_YN = 'Y' AND A.DIVISION = 'RELIC' AND A.CATEGORY = 8) AS CATEGORY_8 " var_SQL = var_SQL & " , (SELECT COUNT(BOARD_SEQ) FROM "& BOARD_TABLENAME & " A WITH(NOLOCK) " var_SQL = var_SQL & " WHERE A.DEL_YN = 'N' AND A.VIEW_YN = 'Y' AND A.DIVISION = 'RELIC' AND A.CATEGORY = 9) AS CATEGORY_9 " var_SQL = var_SQL & " , (SELECT COUNT(BOARD_SEQ) FROM "& BOARD_TABLENAME & " A WITH(NOLOCK) " var_SQL = var_SQL & " WHERE A.DEL_YN = 'N' AND A.VIEW_YN = 'Y' AND A.DIVISION = 'RELIC' AND A.CATEGORY = 10) AS CATEGORY_10 " Set rs = clsDB.ExecSQLReturnRS(var_SQL, Nothing, Nothing) If Not rs.EOF Then arrCategoryCount(0) = Trim(rs("CATEGORY_0")) arrCategoryCount(1) = Trim(rs("CATEGORY_1")) arrCategoryCount(2) = Trim(rs("CATEGORY_2")) arrCategoryCount(3) = Trim(rs("CATEGORY_3")) arrCategoryCount(4) = Trim(rs("CATEGORY_4")) arrCategoryCount(5) = Trim(rs("CATEGORY_5")) arrCategoryCount(6) = Trim(rs("CATEGORY_6")) arrCategoryCount(7) = Trim(rs("CATEGORY_7")) arrCategoryCount(8) = Trim(rs("CATEGORY_8")) arrCategoryCount(9) = Trim(rs("CATEGORY_9")) arrCategoryCount(10) = Trim(rs("CATEGORY_10")) Else ' Call clsFN.JsAlertLocation(FRONTROOT, DB_001) End If clsDB.closeRS(rs) ' #################################################################################################### ' ## 게시판 정보 ' #################################################################################################### ' 검색 조건 var_AddSQL = " A.DEL_YN= 'N' AND A.NOTICE_YN= 'N' AND A.DIVISION = '"& clsFN.convSql(search_division) &"' " If search_language_type <> "" Then var_AddSQL = var_AddSQL & " AND A.LANGUAGE_TYPE = '" & clsFN.convSql(search_language_type) & "' " End If If search_category <> "" Then var_AddSQL = var_AddSQL & " AND A.CATEGORY = '" & clsFN.convSql(search_category) & "' " End If If search_view_yn <> "" Then var_AddSQL = var_AddSQL & " AND A.VIEW_YN = '" & clsFN.convSql(search_view_yn) & "' " End If If search_keyword <> "" And search_field <> "" Then If Instr(search_keyword, " ") > 0 Then arrkeyword = Split(search_keyword, " ") For Each item In arrkeyword If search_field = "all" Then var_AddSQL2 = var_AddSQL2 & " OR ( A.SUBJECT LIKE N'%" & clsFN.convSql(item) & "%' OR A.CONTENT LIKE N'%" & clsFN.convSql(item) & "%' ) " Else var_AddSQL2 = var_AddSQL2 & " OR " & clsFN.convSql(search_field) &" LIKE N'%" & clsFN.convSql(item) & "%' " End If Next var_AddSQL = var_AddSQL & " AND (" & Mid(var_AddSQL2, 4, Len(var_AddSQL2)) & ") " Else If search_field = "all" Then var_AddSQL = var_AddSQL & " AND ( A.SUBJECT LIKE N'%" & clsFN.convSql(search_keyword) & "%' OR A.CONTENT LIKE N'%" & clsFN.convSql(search_keyword) & "%' ) " Else var_AddSQL = var_AddSQL & " AND " & clsFN.convSql(search_field) &" LIKE N'%" & clsFN.convSql(search_keyword) & "%' " End If End If End If ' 게시판 기본 변수 var_PageSize = 5 var_BlockSize = 10 ' 매개변수 var_strTables = BOARD_TABLENAME & " A WITH(NOLOCK) " var_strFilter = var_AddSQL var_strSort = "A.BOARD_SEQ DESC" var_strGroup = "" var_strFields = "" var_strFields = var_strFields & " A.BOARD_SEQ, A.DIVISION, A.CATEGORY, A.SUBJECT, A.CONTENT " var_strFields = var_strFields & " , A.HIT, A.NOTICE_YN, A.VIEW_YN, A.USER_NAME, A.PASSWORD " var_strFields = var_strFields & " , A.DELEGATE_IMG_PATH, A.DELEGATE_IMG_FILE, A.DELEGATE_IMG_SAVE " var_strFields = var_strFields & " , A.REGISTER_IP, A.DEL_YN, A.LANGUAGE_TYPE, A.REG_DATE " var_strFields = var_strFields & " , A.ETC_1, A.ETC_2, A.ETC_3, A.ETC_4, A.ETC_5 " var_strFields = var_strFields & " , A.ETC_6, A.ETC_7, A.ETC_8, A.ETC_9, A.ETC_10 " var_strFields = var_strFields & " , ( SELECT COUNT(FILE_SEQ) FROM "& BOARD_TABLENAME &"_FILE B WHERE A.BOARD_SEQ = B.BOARD_SEQ) AS FILE_COUNT " var_PrimaryKey = "A.BOARD_SEQ" ReDim paramInfo(2) paramInfo(0) = clsDB.MakeParam("@strActType", adChar, adParamInput, 6, "CNTING") paramInfo(1) = clsDB.MakeParam("@strTables", adVarChar , adParamInput, 2000, var_strTables) paramInfo(2) = clsDB.MakeParam("@strFilter", adWChar , adParamInput, 2000, var_strFilter) ' 총 레코드 수 / 현재 글번호 Set rs = clsDB.ExecSPReturnRS("SP_GET_TARGET_PAGING", paramInfo, Nothing) var_TotalRecord = Trim(rs("RECORDCOUNT")) var_number = var_TotalRecord - (var_PageSize * (var_Page-1)) clsDB.closeRS(rs) ' 총 페이지 수 If var_TotalRecord Mod var_PageSize = 0 Then var_TotalPage = var_TotalRecord \ var_PageSize Else var_TotalPage = var_TotalRecord \ var_PageSize + 1 End If ' 페이징 'Dim var_aryReqParams(1,2) 'var_aryReqParams(1, 1) = "search_division" 'var_aryReqParams(1, 2) = search_division 'var_aryReqParams(2, 1) = "search_category" 'var_aryReqParams(2, 2) = search_category 'var_aryReqParams(3, 1) = "search_view_yn" 'var_aryReqParams(3, 2) = search_view_yn PrintNavTargetLink("board_list.asp") PrintNavTargetImagePath(FRONTROOT) 'var_Page = PageProcessing(var_Page, var_TotalPage, var_PageSize, var_BlockSize, var_aryReqParams) var_Page = PageProcessing(var_Page, var_TotalPage, var_PageSize, var_BlockSize, NULL) strPaging = PrintNavUserOneLineButton() %>

<%=BOARD_MENU%>

<% if col_board_seq <> "" Then %>
<% var_SQL = " SELECT " var_SQL = var_SQL & " FILE_SEQ, FILE_PATH, FILE_NAME, FILE_SAVE, FILE_SIZE, DOWN_COUNT, REG_DATE " var_SQL = var_SQL & " FROM "& BOARD_TABLENAME &"_FILE WITH(NOLOCK) " var_SQL = var_SQL & " WHERE BOARD_SEQ = ? " var_SQL = var_SQL & " ORDER BY FILE_SEQ " ReDim paramInfo(0) paramInfo(0) = clsDB.MakeParam("@BOARD_SEQ", adInteger, adParamInput, 0, col_board_seq) Set rs = clsDB.ExecSQLReturnRS(var_SQL, paramInfo, Nothing) If Not rs.EOF Then Do While Not rs.EOF col_file_seq = Trim(rs("FILE_SEQ")) col_file_path = Trim(rs("FILE_PATH")) col_file_name = Trim(rs("FILE_NAME")) col_file_save = Trim(rs("FILE_SAVE")) col_file_size = Trim(rs("FILE_SIZE")) col_down_count = Trim(rs("DOWN_COUNT")) %> <% rs.MoveNext Loop clsDB.closeRS(rs) Else %> <% End If %>
<%=col_subject %><%=col_content %>
<% Else End If %>
    <% ' #################################################################################################### ' ## 게시판 정보 ' #################################################################################################### If var_TotalRecord > 0 Then var_RowCount = 0 ReDim paramInfos(9) paramInfos(0) = clsDB.MakeParam("@strActType", adChar, adParamInput, 6, "TOPING") paramInfos(1) = clsDB.MakeParam("@strTables", adVarChar, adParamInput, 2000, var_strTables) paramInfos(2) = clsDB.MakeParam("@strFilter", adWChar, adParamInput, 2000, var_strFilter) paramInfos(3) = clsDB.MakeParam("@strSort", adVarChar , adParamInput, 2000, var_strSort) paramInfos(4) = clsDB.MakeParam("@strGroup", adVarChar, adParamInput, 2000, var_strGroup) paramInfos(5) = clsDB.MakeParam("@strFields", adVarChar, adParamInput, 2000, var_strFields) paramInfos(6) = clsDB.MakeParam("@strPK", adVarChar, adParamInput, 100, var_PrimaryKey) paramInfos(7) = clsDB.MakeParam("@intPageNo", adInteger, adParamInput, 0, var_Page) paramInfos(8) = clsDB.MakeParam("@intPageSize", adInteger, adParamInput, 0, var_PageSize) paramInfos(9) = clsDB.MakeParam("@debug", adChar, adParamInput, 1, "0") Set rs = clsDB.ExecSPReturnRS("SP_GET_TARGET_PAGING", paramInfos, Nothing) If paramInfos(9)(4) = "1" Then clsFN.Out RS(0) Response.End End If Do While Not rs.EOF and var_RowCount < var_PageSize col_board_seq = Trim(rs("BOARD_SEQ")) col_division = Trim(rs("DIVISION")) col_category = Trim(rs("CATEGORY")) col_subject = Trim(rs("SUBJECT")) col_content = Trim(rs("CONTENT")) col_hit = Trim(rs("HIT")) col_notice_yn = Trim(rs("NOTICE_YN")) col_view_yn = Trim(rs("VIEW_YN")) col_password = Trim(rs("PASSWORD")) col_register_ip = Trim(rs("REGISTER_IP")) col_delegate_img_path = Trim(rs("DELEGATE_IMG_PATH")) col_delegate_img_file = Trim(rs("DELEGATE_IMG_FILE")) col_delegate_img_save = Trim(rs("DELEGATE_IMG_SAVE")) col_language_type = Trim(rs("LANGUAGE_TYPE")) col_reg_date = Trim(rs("REG_DATE")) col_etc_1 = Trim(rs("ETC_1")) col_etc_2 = Trim(rs("ETC_2")) col_etc_3 = Trim(rs("ETC_3")) col_etc_4 = Trim(rs("ETC_4")) col_etc_5 = Trim(rs("ETC_5")) col_etc_6 = Trim(rs("ETC_6")) col_etc_7 = Trim(rs("ETC_7")) col_etc_8 = Trim(rs("ETC_8")) col_etc_9 = Trim(rs("ETC_9")) col_etc_10 = Trim(rs("ETC_10")) col_file_count = Trim(rs("FILE_COUNT")) col_subject = clsFN.GetString(col_SUBJECT,50) ' col_subject = clsFN.GetXssEncode(col_subject) ' col_category = clsFN.GetXssEncode(col_category) ' col_user_name = clsFN.GetXssEncode(col_user_name) %>
  • <% var_number = var_number - 1 rs.MoveNext Loop clsDB.closeRS(rs) Else %> <% If (search_keyword <> "" And search_field <> "") Then %> <%=DB_004 %> <% Else %> <%=DB_005 %> <% End If %> <% End If %>
<%=strPaging %>
<% ' ---------------------------------------------------------------------------------------------------- ' ## 자원 반환 ' ---------------------------------------------------------------------------------------------------- %> <% BOARD_CATEGORY.RemoveAll Set BOARD_CATEGORY = Nothing %>