This commit is contained in:
com02 2021-11-17 13:48:55 +09:00
commit 1023e79c2f
37 changed files with 467 additions and 1294 deletions

View File

@ -15,6 +15,7 @@ import org.apache.commons.lang.StringEscapeUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.annotation.Secured;
import org.springframework.security.core.Authentication;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
@ -168,6 +169,7 @@ public class QnaController extends NlibCommonController {
* @param req
* @return
*/
@Secured("ROLE_USER")
@RequestMapping({"/bbs/insertQnaForm.do", "/bbs/updateQnaForm.do"})
public String insertQnaForm(
HttpServletRequest request
@ -213,6 +215,7 @@ public class QnaController extends NlibCommonController {
* @param model
* @return
*/
@Secured("ROLE_USER")
@RequestMapping("/bbs/insertQnaArticle.do")
public String insertQna(HttpServletRequest request
, Authentication authentication
@ -332,6 +335,7 @@ public class QnaController extends NlibCommonController {
* @param req
* @return
*/
@Secured("ROLE_USER")
@RequestMapping("/bbs/updateQnaArticle.do")
public String updateQnaArticle(
HttpServletRequest request
@ -504,6 +508,7 @@ public class QnaController extends NlibCommonController {
* @param req
* @return
*/
@Secured("ROLE_USER")
@RequestMapping("/bbs/deleteQnaArticle.do")
public String deleteQnaArticle(
HttpServletRequest request

View File

@ -96,6 +96,7 @@ public class MainController extends NlibCommonController {
model.addAttribute("listKeywords", listKeywords);
// 문화원 PICK
model.addAttribute("mngOrgNm", getCurCouncilNm(request));
model.addAttribute("listOrgPicks", mainService.listOrgPicks(mngOrgCd));
// 유형별 인기자료

View File

@ -69,6 +69,7 @@ public class NotificationController extends NlibCommonController {
* @param req
* @return
*/
@Secured("ROLE_USER")
@RequestMapping("/cmm/listNotifications.do")
public String listNotifications(
HttpServletRequest req,
@ -158,6 +159,7 @@ public class NotificationController extends NlibCommonController {
* @param req
* @return
*/
@Secured("ROLE_USER")
@RequestMapping("/cmm/selectNotificationAjax.do")
public ResponseEntity<String> selectNotificationAjax(HttpServletRequest req, Authentication authentication, @RequestBody Map<String, String> paramMap) throws Exception {

View File

@ -1,10 +0,0 @@
package nlib.col.service;
import nlib.restful.service.DataApiReqVO;
import nlib.restful.service.DataApiResVO;
public interface ReserveService
{
}

View File

@ -206,7 +206,7 @@ public class ReadServiceImpl implements ReadService {
reqVO.setMbInfoId(searchVO.getMbInfoId()); // 통신 , 암호화되어 송수신됨
reqVO.setPageSize(searchVO.getPageSize());
reqVO.setPageIndex(searchVO.getPageIndex());
reqVO.putInfoItem("mngOrgCd", StringUtil.getString(searchVO.getMngOrgCd(), "KCCF")); // DDDDDDDDDDDDDDDDDDDd api 변경시까지 유지
reqVO.putInfoItem("mngOrgCd", searchVO.getMngOrgCd());
reqVO.putInfoItem("reqStatusDivCd", searchVO.getReqStatusDivCd());
return dataApi.request(reqVO);
}

View File

@ -12,12 +12,4 @@ public interface RentDAO {
public List<HashMap<String, String>> listRentMngOrg(String mbInfoId);
/**
* 사용자의 대출현황을 조회한다.
*
* @param mbInfoId
* @return
*/
public Map<String, String> getRentStats(String mbInfoId);
}

View File

@ -1,16 +0,0 @@
package nlib.col.service.impl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Repository;
import nlib.restful.DataApi;
import nlib.restful.service.DataApiReqVO;
import nlib.restful.service.DataApiResVO;
@Repository("reserveDAO")
public class ReserveDAO extends DataApi
{
private static final Logger log = LoggerFactory.getLogger(ReserveDAO.class);
}

View File

@ -1,20 +0,0 @@
package nlib.col.service.impl;
import javax.annotation.Resource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import nlib.col.service.ReserveService;
import nlib.restful.service.DataApiReqVO;
import nlib.restful.service.DataApiResVO;
@Service("reserveService")
public class ReserveServiceImpl implements ReserveService
{
private static final Logger log = LoggerFactory.getLogger(ReserveServiceImpl.class);
@Resource(name="reserveDAO")
private ReserveDAO reserveDAO;
}

View File

@ -12,6 +12,7 @@ import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.annotation.Secured;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestBody;
@ -281,6 +282,7 @@ public class CartController extends NlibCommonController
* @return
* @throws Exception
*/
@Secured("ROLE_USER")
@RequestMapping("/cart/mergeCartItemsAjax.do")
public ResponseEntity<String> mergeCartItemsAjax(HttpServletRequest request, HttpServletResponse response, ModelMap model) throws Exception {

View File

@ -1,48 +0,0 @@
package nlib.col.web;
import javax.annotation.Resource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import nlib.cmm.NlibCommonController;
import nlib.cmm.service.CodeService;
import nlib.cmm.service.NlibProperty;
import nlib.col.service.RentService;
/**
* <pre>
* @Class Name : ReserveController.java
*
* @Description : 자료열람 컨트롤러
*
*
* @프로젝트명: 지방문화원 통합자료관리시스템 구축사업 (2021)
*
* </pre>
*
* @ ------------ -------- ---------------------------
* @ 수정일 수정자 수정내용
* @ ------------ -------- ---------------------------
* @ 2021. 10. 01. JSYOO 최초 생성
*
*
* @author 이씨플라자 * DIGITALSHIP JSYOO
* @since 2021. 10. 01.
* @version 1.0
*
*/
@Controller
public class ReserveController extends NlibCommonController
{
private static final Logger log = LoggerFactory.getLogger(ReserveController.class);
static final String DEFUALT_PAGE_SIZE = NlibProperty.getProperty("list.paging.page.size");
@Resource(name = "rentService")
private RentService rentService;
@Resource(name = "codeService")
private CodeService codeService;
}

View File

@ -1,302 +1,308 @@
package nlib.sch.service.impl;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.lang.reflect.Type;
import java.net.URL;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import javax.annotation.Resource;
import org.apache.commons.beanutils.BeanUtils;
import org.json.JSONException;
import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.stereotype.Service;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.reflect.TypeToken;
import nlib.sch.service.NlibSearchVO;
import nlib.col.service.CollectionVO;
import nlib.restful.DataApi;
import nlib.restful.service.DataApiInterface;
import nlib.restful.service.DataApiReqVO;
import nlib.restful.service.DataApiResVO;
import nlib.restful.service.impl.DataApiRESTful;
import nlib.sch.service.NlibSearchCollectionVO;
import nlib.sch.service.NlibSearchInterface;
import nlib.sch.service.NlibSearchService;
import nlib.util.StringUtil;
@Service("nlibSearchService")
public class NlibSearchServiceImpl implements NlibSearchService{
private static final Logger log = LoggerFactory.getLogger(NlibSearchServiceImpl.class);
/* DataApi 접속 서버 정보 */
@Value("#{properties['search.searchIp']}")
private String SEARCH_IP;
@Value("#{properties['search.searchPort']}")
private String SEARCH_PORT;
@Value("#{properties['search.protocol']}")
private String SEARCH_PROTOCOL;
/** RESTFul API 송수신 모듈 */
@Resource(name = "dataApi")
private DataApi dataApi;
public NlibSearchVO getSearch(NlibSearchVO searchVO) throws Exception {
try {
//검색엔진 페이지 셋팅
searchVO.setListCount(Integer.toString(searchVO.getPageSize()));
searchVO.setStartCount(Integer.toString(searchVO.getPageIndex()));
String collectionTemp="";
String nameTemp="";
//-----------------------------------
// 입력값 검증작업
//-----------------------------------
/*resVO = DataApiInterface.checkReqCommonParams(reqVO);
if(resVO != null) return resVO;
HttpMethod method = reqVO.getReqMethod();*/
//-----------------------------------
// 파라메터 생성 작업 요청 처리
//-----------------------------------
String url = SEARCH_PROTOCOL + "://" + SEARCH_IP + ("80".equals(SEARCH_PORT) ? "" : ":" + SEARCH_PORT) + "/searchApi/searchApi.jsp";
log.debug("REQ URL : " + url);
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
ResponseEntity<String> responseEntity = null;
ResponseEntity<String> allResponseEntity = null;
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters()
.add(0, new StringHttpMessageConverter(StandardCharsets.UTF_8));
//단일 검색
MultiValueMap<String, String> parameters= searchVO.getSearchMap();
//전체 검색 ( 탭별 count가 목적)
collectionTemp = searchVO.getCollection();
if("".equals(StringUtil.getString(searchVO.getCollectionList(), "")) || "ALL".equals(StringUtil.getString(searchVO.getCollectionList(), "")))
{
searchVO.setCollection("ALL");
}else
{
//상세검색시 콜렉션리스트만 카운트하기위해 추가.
searchVO.setCollection(searchVO.getCollectionList());
}
MultiValueMap<String, String> allParameters= searchVO.getSearchMap();
searchVO.setCollection(collectionTemp);
//post방식
parameters.forEach((k, v) -> log.debug("params > " + k + " : " + v));
allParameters.forEach((k, v) -> log.debug("allParams > " + k + " : " + v));
HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity(parameters, headers);
HttpEntity<MultiValueMap<String, String>> allRequestEntity = new HttpEntity(allParameters, headers);
responseEntity = restTemplate.postForEntity(url, requestEntity , String.class);
allResponseEntity = restTemplate.postForEntity(url, allRequestEntity , String.class);
//-----------------------------------
// 응답 처리
//-----------------------------------
HttpStatus statusCode = responseEntity.getStatusCode();
log.debug("RES StatusCode : " + statusCode);
String resultXML = responseEntity.getBody();
log.debug("RES resultXML : " + resultXML);
HttpStatus allStatusCode = allResponseEntity.getStatusCode();
log.debug("RES allStatusCode : " + allStatusCode);
String allResultXML = allResponseEntity.getBody();
log.debug("RES allResultXML : " + allResultXML);
//검색엔진 결과 json 파싱
JsonParser jsonParser = new JsonParser();
JsonObject jsonObject = null;
JsonObject tmp = null;
String collection = "";
String totalCount = "";
JsonArray jsonArray = null;
//전체검색 결과 탭별 count
jsonObject = (JsonObject) jsonParser.parse(allResultXML);
jsonObject = (JsonObject) jsonObject.get("SearchQueryResult");
jsonArray = (JsonArray) jsonObject.get("Collection");
for(int i=0;i<jsonArray.size();i++){
tmp = (JsonObject)jsonArray.get(i);
// 탭별 총개수
collection = tmp.get("Id").getAsString();
tmp = (JsonObject) tmp.get("DocumentSet");
totalCount = tmp.get("TotalCount").getAsString();
searchVO.setCollectionTotalCount(collection, totalCount);
};
//단일 결과데이터 담기
JsonArray colArray = null;
jsonObject = (JsonObject) jsonParser.parse(resultXML);
jsonObject = (JsonObject) jsonObject.get("SearchQueryResult");
jsonArray = (JsonArray) jsonObject.get("Collection");
JsonObject filterObject = null;
JsonArray filterList = null;
JsonArray tmpList = null;
JsonArray subjectList = null;
JsonArray typeList = null;
JsonArray orgList = null;
JsonArray categoryList = null;
List<CollectionVO> list = new ArrayList<>();
List<HashMap<String,String>> subjectMap = new ArrayList<HashMap<String,String>>();
List<HashMap<String,String>> typeMap = new ArrayList<HashMap<String,String>>();
List<HashMap<String,String>> orgMap = new ArrayList<HashMap<String,String>>();
String code="";
String code_up="";
int j;
int k;
for(int i=0;i<jsonArray.size();i++){
tmp = (JsonObject)jsonArray.get(i);
if(searchVO.getCollection().equals(tmp.get("Id").getAsString()))
{
//주제분야 , 자료유형 ,생산기관 카운트
tmpList = (JsonArray) tmp.get("CategoryGroup");
for( k=0; k < tmpList.size(); k++){
filterObject = (JsonObject) tmpList.get(k);
if(filterObject.get("SUBJECT_CATE") != null)
{
subjectList = (JsonArray) filterObject.get("SUBJECT_CATE");
}
if(filterObject.get("DIV_CATE") != null)
{
typeList = (JsonArray) filterObject.get("DIV_CATE");
}
if(filterObject.get("ORG_NM") != null)
{
orgList = (JsonArray) filterObject.get("ORG_NM");
}
}
if(subjectList.size()>0)
{
filterObject =(JsonObject) subjectList.get(0);
filterObject = (JsonObject) filterObject.get("Categories");
subjectList = (JsonArray) filterObject.get("Category");
};
if(typeList.size()>0)
{
filterObject =(JsonObject) typeList.get(0);
filterObject = (JsonObject) filterObject.get("Categories");
typeList = (JsonArray) filterObject.get("Category");
};
if(orgList.size()>0)
{
filterObject =(JsonObject) orgList.get(0);
filterObject = (JsonObject) filterObject.get("Categories");
orgList = (JsonArray) filterObject.get("Category");
};
for(k = 0; k < subjectList.size(); k++){
HashMap<String,String> temp = new HashMap<String,String>();
filterObject = (JsonObject)subjectList.get(k);
nameTemp = filterObject.get("Name").getAsString();
//상위코드값
code_up = nameTemp.substring(nameTemp.indexOf("@")+1,nameTemp.indexOf("^"));
temp.put("category_nm_up",code_up);
//코드값
code = nameTemp.substring(nameTemp.lastIndexOf("@")+1);
temp.put("category_nm",code);
temp.put("category_cnt",filterObject.get("Count").getAsString());
subjectMap.add(temp);
}
for(k = 0; k < typeList.size(); k++){
HashMap<String,String> temp = new HashMap<String,String>();
filterObject = (JsonObject)typeList.get(k);
nameTemp = filterObject.get("Name").getAsString();
//상위코드값
code_up = nameTemp.substring(nameTemp.indexOf("@")+1,nameTemp.indexOf("^"));
temp.put("class_nm_up",code_up);
//코드값
code = nameTemp.substring(nameTemp.lastIndexOf("@")+1);
temp.put("class_nm",code);
temp.put("class_cnt",filterObject.get("Count").getAsString());
typeMap.add(temp);
}
for(k = 0; k < orgList.size(); k++){
HashMap<String,String> temp = new HashMap<String,String>();
filterObject = (JsonObject)orgList.get(k);
nameTemp = filterObject.get("Name").getAsString();
if(!"null".equals(nameTemp)) {
temp.put("org_nm",nameTemp);
temp.put("org_cnt",filterObject.get("Count").getAsString());
orgMap.add(temp);
}
}
tmp = (JsonObject) tmp.get("DocumentSet");
searchVO.setTotalCount(tmp.get("TotalCount").getAsString());
colArray = (JsonArray) tmp.get("Document");
//vo list로 json list 파싱
for(j=0;j<colArray.size();j++){
tmp = (JsonObject)colArray.get(j);
tmp = (JsonObject) tmp.get("Field");
CollectionVO vo = new CollectionVO();
vo.setMasterId(tmp.get("MASTER_ID").getAsString());
list.add(vo);
/*vo = gson.fromJson(tmp, NlibSearchCollectionVO.class);*/
/* NlibSearchCollectionVO vo = new NlibSearchCollectionVO();
vo.setMasterId(tmp.get); = gson.fromJson(tmp, NlibSearchCollectionVO.class);*/
}
}
};
searchVO.setResultList(list);
searchVO.setSubjectCountList(subjectMap);
searchVO.setTypeCountList(typeMap);
searchVO.setOrgCountList(orgMap);
} catch(Exception e) {
e.printStackTrace();
log.error("getSearch > Exception 발생 : " + e.toString());
}
return searchVO;
}
};
package nlib.sch.service.impl;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.lang.reflect.Type;
import java.net.URL;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import javax.annotation.Resource;
import org.apache.commons.beanutils.BeanUtils;
import org.json.JSONException;
import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.stereotype.Service;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.reflect.TypeToken;
import nlib.sch.service.NlibSearchVO;
import nlib.col.service.CollectionVO;
import nlib.restful.DataApi;
import nlib.restful.service.DataApiInterface;
import nlib.restful.service.DataApiReqVO;
import nlib.restful.service.DataApiResVO;
import nlib.restful.service.impl.DataApiRESTful;
import nlib.sch.service.NlibSearchCollectionVO;
import nlib.sch.service.NlibSearchInterface;
import nlib.sch.service.NlibSearchService;
import nlib.util.StringUtil;
@Service("nlibSearchService")
public class NlibSearchServiceImpl implements NlibSearchService{
private static final Logger log = LoggerFactory.getLogger(NlibSearchServiceImpl.class);
/* DataApi 접속 서버 정보 */
@Value("#{properties['search.searchIp']}")
private String SEARCH_IP;
@Value("#{properties['search.searchPort']}")
private String SEARCH_PORT;
@Value("#{properties['search.protocol']}")
private String SEARCH_PROTOCOL;
/** RESTFul API 송수신 모듈 */
@Resource(name = "dataApi")
private DataApi dataApi;
public NlibSearchVO getSearch(NlibSearchVO searchVO) throws Exception {
try {
//검색엔진 페이지 셋팅
searchVO.setListCount(Integer.toString(searchVO.getPageSize()));
searchVO.setStartCount(Integer.toString(searchVO.getPageIndex()));
String collectionTemp="";
String nameTemp="";
//-----------------------------------
// 입력값 검증작업
//-----------------------------------
/*resVO = DataApiInterface.checkReqCommonParams(reqVO);
if(resVO != null) return resVO;
HttpMethod method = reqVO.getReqMethod();*/
//-----------------------------------
// 파라메터 생성 작업 요청 처리
//-----------------------------------
String url = SEARCH_PROTOCOL + "://" + SEARCH_IP + ("80".equals(SEARCH_PORT) ? "" : ":" + SEARCH_PORT) + "/searchApi/searchApi.jsp";
log.debug("REQ URL : " + url);
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
ResponseEntity<String> responseEntity = null;
ResponseEntity<String> allResponseEntity = null;
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters()
.add(0, new StringHttpMessageConverter(StandardCharsets.UTF_8));
//단일 검색
MultiValueMap<String, String> parameters= searchVO.getSearchMap();
//전체 검색 ( 탭별 count가 목적)
collectionTemp = searchVO.getCollection();
if("".equals(StringUtil.getString(searchVO.getCollectionList(), "")) || "ALL".equals(StringUtil.getString(searchVO.getCollectionList(), "")))
{
searchVO.setCollection("ALL");
}else
{
//상세검색시 콜렉션리스트만 카운트하기위해 추가.
searchVO.setCollection(searchVO.getCollectionList());
}
MultiValueMap<String, String> allParameters= searchVO.getSearchMap();
searchVO.setCollection(collectionTemp);
//post방식
parameters.forEach((k, v) -> log.debug("params > " + k + " : " + v));
allParameters.forEach((k, v) -> log.debug("allParams > " + k + " : " + v));
HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity(parameters, headers);
HttpEntity<MultiValueMap<String, String>> allRequestEntity = new HttpEntity(allParameters, headers);
responseEntity = restTemplate.postForEntity(url, requestEntity , String.class);
allResponseEntity = restTemplate.postForEntity(url, allRequestEntity , String.class);
//-----------------------------------
// 응답 처리
//-----------------------------------
HttpStatus statusCode = responseEntity.getStatusCode();
log.debug("RES StatusCode : " + statusCode);
String resultXML = responseEntity.getBody();
log.debug("RES resultXML : " + resultXML);
HttpStatus allStatusCode = allResponseEntity.getStatusCode();
log.debug("RES allStatusCode : " + allStatusCode);
String allResultXML = allResponseEntity.getBody();
log.debug("RES allResultXML : " + allResultXML);
//검색엔진 결과 json 파싱
JsonParser jsonParser = new JsonParser();
JsonObject jsonObject = null;
JsonObject tmp = null;
String collection = "";
String totalCount = "";
JsonArray jsonArray = null;
//전체검색 결과 탭별 count
jsonObject = (JsonObject) jsonParser.parse(allResultXML);
jsonObject = (JsonObject) jsonObject.get("SearchQueryResult");
jsonArray = (JsonArray) jsonObject.get("Collection");
for(int i=0;i<jsonArray.size();i++){
tmp = (JsonObject)jsonArray.get(i);
// 탭별 총개수
collection = tmp.get("Id").getAsString();
tmp = (JsonObject) tmp.get("DocumentSet");
totalCount = tmp.get("TotalCount").getAsString();
searchVO.setCollectionTotalCount(collection, totalCount);
};
//단일 결과데이터 담기
JsonArray colArray = null;
jsonObject = (JsonObject) jsonParser.parse(resultXML);
jsonObject = (JsonObject) jsonObject.get("SearchQueryResult");
jsonArray = (JsonArray) jsonObject.get("Collection");
JsonObject filterObject = null;
JsonArray filterList = null;
JsonArray tmpList = null;
JsonArray subjectList = null;
JsonArray typeList = null;
JsonArray orgList = null;
JsonArray categoryList = null;
List<CollectionVO> list = new ArrayList<>();
List<HashMap<String,String>> subjectMap = new ArrayList<HashMap<String,String>>();
List<HashMap<String,String>> typeMap = new ArrayList<HashMap<String,String>>();
List<HashMap<String,String>> orgMap = new ArrayList<HashMap<String,String>>();
String code="";
String code_up="";
int j;
int k;
for(int i=0;i<jsonArray.size();i++){
tmp = (JsonObject)jsonArray.get(i);
if(searchVO.getCollection().equals(tmp.get("Id").getAsString()))
{
//주제분야 , 자료유형 ,생산기관 카운트
tmpList = (JsonArray) tmp.get("CategoryGroup");
if(tmpList != null)
{
for( k=0; k < tmpList.size(); k++){
filterObject = (JsonObject) tmpList.get(k);
if(filterObject.get("SUBJECT_CATE") != null)
{
subjectList = (JsonArray) filterObject.get("SUBJECT_CATE");
}
if(filterObject.get("DIV_CATE") != null)
{
typeList = (JsonArray) filterObject.get("DIV_CATE");
}
if(filterObject.get("ORG_NM") != null)
{
orgList = (JsonArray) filterObject.get("ORG_NM");
}
}
if(subjectList.size()>0)
{
filterObject =(JsonObject) subjectList.get(0);
filterObject = (JsonObject) filterObject.get("Categories");
subjectList = (JsonArray) filterObject.get("Category");
};
if(typeList.size()>0)
{
filterObject =(JsonObject) typeList.get(0);
filterObject = (JsonObject) filterObject.get("Categories");
typeList = (JsonArray) filterObject.get("Category");
};
if(orgList.size()>0)
{
filterObject =(JsonObject) orgList.get(0);
filterObject = (JsonObject) filterObject.get("Categories");
orgList = (JsonArray) filterObject.get("Category");
};
for(k = 0; k < subjectList.size(); k++){
HashMap<String,String> temp = new HashMap<String,String>();
filterObject = (JsonObject)subjectList.get(k);
nameTemp = filterObject.get("Name").getAsString();
//상위코드값
code_up = nameTemp.substring(nameTemp.indexOf("@")+1,nameTemp.indexOf("^"));
temp.put("category_nm_up",code_up);
//코드값
code = nameTemp.substring(nameTemp.lastIndexOf("@")+1);
temp.put("category_nm",code);
temp.put("category_cnt",filterObject.get("Count").getAsString());
subjectMap.add(temp);
}
for(k = 0; k < typeList.size(); k++){
HashMap<String,String> temp = new HashMap<String,String>();
filterObject = (JsonObject)typeList.get(k);
nameTemp = filterObject.get("Name").getAsString();
//상위코드값
code_up = nameTemp.substring(nameTemp.indexOf("@")+1,nameTemp.indexOf("^"));
temp.put("class_nm_up",code_up);
//코드값
code = nameTemp.substring(nameTemp.lastIndexOf("@")+1);
temp.put("class_nm",code);
temp.put("class_cnt",filterObject.get("Count").getAsString());
typeMap.add(temp);
}
for(k = 0; k < orgList.size(); k++){
HashMap<String,String> temp = new HashMap<String,String>();
filterObject = (JsonObject)orgList.get(k);
nameTemp = filterObject.get("Name").getAsString();
if(!"null".equals(nameTemp)) {
temp.put("org_nm",nameTemp);
temp.put("org_cnt",filterObject.get("Count").getAsString());
orgMap.add(temp);
}
}
}
tmp = (JsonObject) tmp.get("DocumentSet");
searchVO.setTotalCount(tmp.get("TotalCount").getAsString());
colArray = (JsonArray) tmp.get("Document");
if(colArray != null)
{
//vo list로 json list 파싱
for(j=0;j<colArray.size();j++){
tmp = (JsonObject)colArray.get(j);
tmp = (JsonObject) tmp.get("Field");
CollectionVO vo = new CollectionVO();
vo.setMasterId(tmp.get("MASTER_ID").getAsString());
list.add(vo);
/*vo = gson.fromJson(tmp, NlibSearchCollectionVO.class);*/
/* NlibSearchCollectionVO vo = new NlibSearchCollectionVO();
vo.setMasterId(tmp.get); = gson.fromJson(tmp, NlibSearchCollectionVO.class);*/
}
}
}
};
searchVO.setResultList(list);
searchVO.setSubjectCountList(subjectMap);
searchVO.setTypeCountList(typeMap);
searchVO.setOrgCountList(orgMap);
} catch(Exception e) {
e.printStackTrace();
log.error("getSearch > Exception 발생 : " + e.toString());
}
return searchVO;
}
}

View File

@ -359,7 +359,7 @@ public class MemberController extends NlibCommonController{
String jsessionId = session.getId();
OAuthUniversalUser oauthUser = SessionConfig.popNewMemberInfo(jsessionId);
if(oauthUser.getNlibVO()!=null)
if(oauthUser != null && oauthUser.getNlibVO()!=null)
{
//핸드폰인증시 sns제공 번호와 회원가입폼 번호 비교
if(!(vo.getMobileNo().equals(oauthUser.getSnsMobileNo())))
@ -808,6 +808,7 @@ public class MemberController extends NlibCommonController{
public @ResponseBody String changePassword(Authentication authentication,HttpServletResponse response,HttpServletRequest request,ModelMap model) throws Exception{
//사용자 정보를 가져온다.
NlibLoginVO loginVO = getNlibLoginVO(authentication);
loginVO.setJoinCouncilCd(getCurCouncilCd(request));
loginVO = loginService.selectLoginUserInfo(loginVO);

View File

@ -114,6 +114,7 @@ public class UserInfoController extends NlibCommonController {
* 정보 조회
* @exception Exception
*/
@Secured("ROLE_USER")
@RequestMapping(value="/userInfo/getMyInfo.do")
public String getMyInfo(HttpServletResponse response,HttpServletRequest request) throws Exception{
return "nlib/userInfo/getMyInfo";
@ -123,14 +124,28 @@ public class UserInfoController extends NlibCommonController {
* 정보 수정 페이지
* @exception Exception
*/
@Secured("ROLE_USER")
@RequestMapping(value="/userInfo/putMyInfo.do")
public String putMyInfo(NlibLoginVO vo,HttpServletResponse response,HttpServletRequest request,Authentication authentication,ModelMap model) throws Exception{
//사용자 정보를 가져온다.
NlibLoginVO loginVO = getNlibLoginVO(authentication);
if(loginVO == null)
{
model.addAttribute("msg","비정상적인 접근입니다. 관리자에게 문의하여 주시기 바랍니다.");
model.addAttribute("url","/userInfo/pwCertMyInfo.do");
return "nlib/cmm/alert";
}
loginVO.setJoinCouncilCd(getCurCouncilCd(request));
loginVO = loginService.selectLoginUserInfo(loginVO);
if(loginVO == null)
{
model.addAttribute("msg","비정상적인 접근입니다. 관리자에게 문의하여 주시기 바랍니다.");
model.addAttribute("url","/userInfo/pwCertMyInfo.do");
return "nlib/cmm/alert";
}
List<OAuthUniversalUser> snsList = new ArrayList<OAuthUniversalUser>();
@ -158,6 +173,7 @@ public class UserInfoController extends NlibCommonController {
* @return
* @exception Exception
*/
@Secured("ROLE_USER")
@RequestMapping(value="/userInfo/updateMyInfo.do" , method=RequestMethod.POST)
public String updateMyInfo(NlibLoginVO vo,Authentication authentication,HttpServletResponse response,HttpServletRequest request,ModelMap model) throws Exception{
@ -209,6 +225,7 @@ public class UserInfoController extends NlibCommonController {
* 정보 수정 password 인증
* @exception Exception
*/
@Secured("ROLE_USER")
@RequestMapping(value="/userInfo/pwCertMyInfo.do")
public String pwCertMyInfo(HttpServletResponse response,HttpServletRequest request,ModelMap model) throws Exception{
NlibLoginVO nlibLoginVO = getNlibLoginVO(request);
@ -240,6 +257,7 @@ public class UserInfoController extends NlibCommonController {
* @param model
* @return
*/
@Secured("ROLE_USER")
@RequestMapping(value="/userInfo/getMemberQrcodeFormPopup.do")
public String getMemberQrcodeFormPopup(HttpServletRequest request, ModelMap model) {
@ -262,6 +280,7 @@ public class UserInfoController extends NlibCommonController {
* @return
* @throws Exception
*/
@Secured("ROLE_USER")
@RequestMapping(value="/userInfo/getMemberQrcode.do", produces=MediaType.IMAGE_JPEG_VALUE)
public ResponseEntity<byte[]> getMemberQrcode(HttpServletRequest request, HttpServletResponse response) throws Exception {
@ -347,7 +366,7 @@ public class UserInfoController extends NlibCommonController {
model.addAttribute("rentTotalCount", resRentVO.getRecordTotCount());
// 방문열람내역 (최근 5개)
searchCollectionVO.setReqStatusDivCd("A"); // API 변경될떄까지 임시 보냄 DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
searchCollectionVO.setReqStatusDivCd(null);
DataApiResVO resReadVO = readService.listReadItems(searchCollectionVO);
List<CollectionVO> readList = collectionService.setDetailInfoForHashList(resReadVO.getRecordList(), searchCollectionVO.getMbInfoId(), NlibProperty.getString("thumbnail.image.url.small"));
model.addAttribute("readList", readList);

View File

@ -20,14 +20,4 @@
ORDER BY C.DEPT_NM
</select>
<select id="getRentStats" parameterType="String" resultType="EgovMap">
/* API 개발될때까지 임시 건수 데이터 제공 : DDDDDDDDDDDDDDDDDDDDDdd */
SELECT
5 AS cntApp /* 신청 */
, 2 AS cntRes /* 예약 */
, 7 AS cntCancel /* 취소 */
, 2 AS cntOut /* 대출중 */
, 3 AS cntReturn /* 반납 */
, 0 AS cntDelay /* 연체 */
</select>
</mapper>

View File

@ -37,9 +37,9 @@
FROM UAC_CLTR_DB.MB_INFO A /* 사용자정보 */
JOIN UAC_CLTR_DB.MB_SNS B /* 사용자 SNS 정보 */
ON A.MB_INFO_ID = B.MB_INFO_ID
WHERE B.SNS_ID = #{snsId}
AND UPPER(SNS_TYPE) = UPPER(#{snsType})
WHERE A.MB_INFO_ID = #{mbInfoId}
AND B.UNLINK_DD IS NULL /* 연동해제건 제외 */
ORDER BY B.REG_DD
LIMIT 1
]]>
</select>

View File

@ -24,7 +24,17 @@
<property name="url" value="${Globals.maria.Url}" />
<property name="username" value="${Globals.maria.UserName}"/>
<property name="password" value="${Globals.maria.Password}"/>
<property name="initialSize" value="5" />
<property name="minIdle" value="5" />
<property name="maxIdle" value="20" />
<property name="testOnBorrow" value="false" />
<!-- DB Pool이 생성이 되더라고 특정 시간 호출되지 않으면 DBMS 설정에 따라 연결을 끊어질 때 연결 유지 -->
<property name="validationQuery" value="select 1"/>
<property name="testWhileIdle" value="true"/>
<property name="timeBetweenEvictionRunsMillis" value="3600000"/> <!-- 1시간 -->
</bean>
<bean id="dataSource" class="net.sf.log4jdbc.Log4jdbcProxyDataSource">
<constructor-arg ref="dataSourceSpied" />
<property name="logFormatter">
@ -33,17 +43,6 @@
<property name="sqlPrefix" value="SQL:::" />
</bean>
</property>
</bean>
</bean>
<!-- DB Pool이 생성이 되더라고 특정 시간 호출되지 않으면 DBMS 설정에 따라 연결을 끊어질 때
이 경우 DBCP를 사용하셨다면.. 다음과 같은 설정을 추가하시면 연결을 유지시켜 줍니다. -->
<!--
<property name="validationQuery" value="select 1 from dual" />
<property name="testWhileIdle" value="true" />
<property name="timeBetweenEvictionRunsMillis" value="60000" /> --> <!-- 1분 -->
<!-- DBCP가 아닌 WAS의 DataSource를 사용하시는 경우도 WAS별로 동일한 설정을 하실 수 있습니다.
(WAS별 구체적인 설정은 WAS document 확인) -->
</beans>

View File

@ -17,10 +17,10 @@ $(document).ready(function() {
});
function goSearch(){
if($("#top_query").val() != "")
/* if($("#top_query").val() != "")
{
$('#searchHeaderForm input[name=filter_mylist]').val("search_query,");
}
} */
document.searchHeaderForm.submit();
}
@ -62,14 +62,14 @@ function fn_getMemberCard() {
<div class="log">
<ul>
<sec:authorize access="not isAuthenticated()">
<li><!-- 개발자 확인용 타이틀 임시 추가 DDDDDDDDDDD -->
<li>
<a href="javascript:void(0)" onclick='fn_layerPopWithClass("/login/loginFormPopup.do", "pop-login")' title="${councilNm}(${councilCd})" class="login-btn">로그인</a></li>
</sec:authorize>
<sec:authorize access="isAuthenticated()">
<sec:authentication property="principal.name" var="userName" />
<sec:authentication property="principal.loginUserId" var="userId" />
<li><!-- 개발자 확인용 타이틀 임시 추가 DDDDDDDDDDD -->
<li>
<a href="javascript:void(0)" onclick="javascript:location.href='${pageContext.request.contextPath}/logout';"
title="${userId} - ${councilNm} (${councilCd})" class="login-btn">
${userName}님 로그아웃</a>

View File

@ -143,7 +143,7 @@ function fn_listPops(typeDivCd) {
<div class="inner">
<div class="pick-box">
<h3 class="title"><span>문화원's</span> Pick</h3>
<p class="desc">경주문화원이 추천하는 자료를 만나보세요!</p>
<p class="desc">${mngOrgNm }<c:if test='${fn:endsWith(mngOrgNm, "원") }'>이</c:if><c:if test='${not fn:endsWith(mngOrgNm, "원") }'>가</c:if> 추천하는 자료를 만나보세요!</p>
<!-- Swiper -->
<div class="swiper pickSwiper">
@ -240,6 +240,7 @@ function fn_listPops(typeDivCd) {
<div class="inner">
<h3 class="title"><span>온라인</span> 자료관</h3>
<p class="desc">문화원 전자자료를 온라인으로 간편하게 열람해보세요!</p>
<a href="javascript:void(0)" onclick="location.href='/search/searchList.do?collection=lib_online';"><span>더보기 <img src="/images/icon/icon-more.png" alt="더보기 아이콘"></span></a>
<!-- Swiper -->
<div class="swiper onlineSwiper">
<div class="swiper-wrapper items cover">

View File

@ -196,7 +196,6 @@ $( document ).ready(function() {
<span class="count">총 <em name="itemsCount" id="itemsCount">0</em>건</span>
<div class="text">
<p>- 최근 한달동안 발송된 알림 내역만 보관됩니다.</p>
<button type="button" name="btnSearch" id="btnSearch">새로고침</button>
</div>
</div>

View File

@ -154,7 +154,6 @@
// 출력
$.each(jsonObj.data,function(key,obj) {
var t_data = "";
var count = 0;
t_data += "<div class=\"img\"><a><img src=\"" + obj.rprsThumbUrlWithDefault + "\"</a>";
t_data += "<span id=\"favorites_" + obj.masterId + "\" class=\"favorites\" onclick=\"deleteInterests('single','" + obj.masterId + "');\"><img src=\"/images/icon/icon-cart-Favorites-on.png\" class=\"off\" alt=\"즐겨찾기 아이콘\"><img src=\"/images/icon/icon-cart-Favorites.png\" class=\"on\" alt=\"즐겨찾기 아이콘\"></span></div>";
t_data += "<div class=\"type\">"
@ -184,32 +183,55 @@
t_data += "</div>"
t_data += "<div class=\"subject\">"
if(!fn_isEmpty(obj.typeCodeNm))
{
count += 1;
t_data += "<span>자료유형 : " + obj.typeCodeNm + " &#62; " + obj.dtlsTypeDivNm + "</span>"
t_data += "<span>자료유형 : "
if(!fn_isEmpty(obj.typeCodeNm)){
t_data += obj.typeCodeNm
}
if(!fn_isEmpty(obj.subjectNmUp))
{
if(count > 0)
t_data += " | ";
count += 1;
t_data += "<span>주제분야 : " + obj.subjectNmUp + " &#62; " + obj.subjectNm + "</span>"
if(!fn_isEmpty(obj.typeCodeNm) && !fn_isEmpty(obj.dtlsTypeDivNm)){
t_data += " &#62; "
}
if(!fn_isEmpty(obj.orgNm))
{
if(count > 0)
t_data += " | ";
count += 1;
t_data += "<span>생산기관 : " + obj.orgNm + "</span>"
if(fn_isEmpty(obj.typeCodeNm) && fn_isEmpty(obj.dtlsTypeDivNm)){
t_data += "-"
}
if(!fn_isEmpty(obj.creatYyyy))
{
if(count > 0)
t_data += " | ";
count += 1;
t_data += "<span>생산년도 : " + obj.creatYyyy + "</span>"
if(!fn_isEmpty(obj.dtlsTypeDivNm)){
t_data += obj.dtlsTypeDivNm
}
t_data += "</span>"
t_data += "&nbsp;&nbsp;|&nbsp;&nbsp;"
t_data += "<span>주제분야 : "
if(!fn_isEmpty(obj.subjectNmUp)){
t_data += obj.subjectNmUp
}
if(!fn_isEmpty(obj.subjectNmUp) && !fn_isEmpty(obj.subjectNm)){
t_data += " &#62; "
}
if(fn_isEmpty(obj.subjectNmUp) && fn_isEmpty(obj.subjectNm)){
t_data += "-"
}
if(!fn_isEmpty(obj.subjectNm)){
t_data += obj.subjectNm
}
t_data += "</span>"
t_data += "&nbsp;&nbsp;|&nbsp;&nbsp;"
t_data += "<span>생산기관 : "
if(!fn_isEmpty(obj.orgNm)){
t_data += obj.orgNm
}else{
t_data += "-"
}
t_data += "</span>"
t_data += "&nbsp;&nbsp;|&nbsp;&nbsp;"
t_data += "<span>생산년도 : "
if(!fn_isEmpty(obj.creatYyyy)){
t_data += obj.creatYyyy
}else{
t_data += "-"
}
t_data += "</span>"
t_data += "</div>"
var t_btn = "";

View File

@ -131,6 +131,52 @@ function fnSetInitialValue()
$("#m-year-1").prop('checked',true);
}
}
function goSearchNculture() {
var form = document.createElement("form");
form.style.display = "none";
$(form).attr("action", "https://www.nculture.org/sch/totalSearchList.do");
$(form).attr("method", "post");
$(form).attr("target", "_blank");
var collection = document.createElement("input");
$(collection).attr("name", "collection");
$(collection).attr("value","reference_Coll");
form.appendChild(collection);
if(!fn_isEmpty($("#query").val()))
{
var query = document.createElement("input");
$(query).attr("name", "query");
$(query).attr("value", $("#query").val());
form.appendChild(query);
}
if(!fn_isEmpty($("#reQuery").val()))
{
var reQuery = document.createElement("input");
$(reQuery).attr("name", "reQuery");
$(reQuery).attr("value", $("#reQuery").val());
form.appendChild(reQuery);
}
if(!fn_isEmpty($("#filter_mylist").val()))
{
var filter_mylist = document.createElement("input");
$(filter_mylist).attr("name", "filter_mylist");
$(filter_mylist).attr("value", "category_A01,");
form.appendChild(filter_mylist);
}
document.body.appendChild(form);
form.submit();
document.body.removeChild(form);
return;
}
//탭 이동
function fnTabMoveSch(collection){
$("#collection").val(collection);
@ -443,9 +489,14 @@ function fn_search_article(pageIndex) {
</div>
</c:forEach> <!-- 리스트 출력 끝부분 -->
<c:if test = "${fn:length(searchVO.resultList) < 1}">
<li class="no-result">
<span>검색결과가 없습니다.</span>
</li>
<div class="list resu">
<div class="no-result">
<p class="icon"><img src="/images/icon/icon-data-noresult.png" alt="느낌표 아이콘"></p>
<p class="text1">검색된 결과가 없습니다</p>
<p class="text2"><span>지역N문화</span>에서 더 많은 자료를 확인하세요!</p>
<p class="btnbox"><button type="button" class="btn btn-color" onclick="goSearchNculture();">지역N문화에서 검색</button></p>
</div>
</div>
</c:if>
</div>
</div>

View File

@ -259,11 +259,11 @@ function d_search(){
}else{
$("#d_filter_creatYyyy").val("all");
}
if($("#d_query").val() != "")
/* if($("#d_query").val() != "")
{
filter_myList+= "search_query,";
}
if($("#d_bookIndex").val() != "")
*/ if($("#d_bookIndex").val() != "")
{
filter_myList+= "search_bookIndex,";
}

View File

@ -229,6 +229,7 @@
<div class="state">
<c:if test='${item.reqStatusDivCd == "A0" }'><span class="wait">${item.reqStatusDivNm}</span></c:if>
<c:if test='${item.reqStatusDivCd == "A1" }'><span class="approval">${item.reqStatusDivNm}</span></c:if>
<c:if test='${item.reqStatusDivCd == "W" }'><span class="approval">${item.reqStatusDivNm}</span></c:if>
<c:if test='${item.reqStatusDivCd == "A2" }'><span class="return">${item.reqStatusDivNm}</span></c:if>
<c:if test='${item.reqStatusDivCd == "C" }'><span class="cancel">${item.reqStatusDivNm}</span></c:if>
<c:if test='${item.reqStatusDivCd == "R" }'><span class="read">${item.reqStatusDivNm}</span></c:if>

View File

@ -64,16 +64,6 @@ $(document).ready(function() {
<li><a href="javascript:void(0)" gotoUrl="${pageContext.request.contextPath}/interest/listInterests.do" title="관심자료" reqLogin><span class="underline blue">관심자료</span></a></li>
<li><a href="javascript:void(0)" gotoUrl="${pageContext.request.contextPath}/rent/listRentItems.do" title="대출관리" reqLogin><span class="underline blue">대출관리</span></a></li>
<li><a href="javascript:void(0)" gotoUrl="${pageContext.request.contextPath}/read/listReadItems.do" title="방문열람관리" reqLogin><span class="underline blue">방문열람관리</span></a></li>
<!-- 개발진행 중 임시 추가 : 시작 DDDDDDDDDDDDDD-->
<li>--- 이하 임시 추가 메뉴 ---</li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='${pageContext.request.contextPath}/user/member/searchIdForm.do';" title="ID/PW찾기"><span class="underline blue">ID/PW찾기</span></a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='${pageContext.request.contextPath}/sample/password/getSampleEncoder.do';" title="암호화"><span class="underline blue">암호화</span></a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='${pageContext.request.contextPath}/system/reloadProperties.do';" title="환경설정갱신"><span class="underline blue">환경설정갱신</span></a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='${pageContext.request.contextPath}/code/listCodes.do';" title="코드조회"><span class="underline blue">코드조회</span></a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='${pageContext.request.contextPath}/sample/listRentItem.do';" title="API샘플"><span class="underline blue">API샘플</span></a></li>
<!-- 개발진행 중 임시 추가 : 종료 DDDDDDDDDDDDDD -->
</ul>
</li>

View File

@ -123,9 +123,9 @@ $(document).ready(function(){
jQuery(function($) {
// 상세검색 팝업 열기
$('.btn-search-detail').on('click', function () {
// 클릭 시, 컨텐츠 로딩되도록 처리 (2021.10.20 DDDDDDDDDD 추가) : 시작
// 클릭 시, 컨텐츠 로딩되도록 처리 (2021.10.20 NLIB 추가) : 시작
fn_layerPopWithClass("/search/getDetailedSearchFormPopup.do", "popup pop-advanced-search");
// 클릭 시, 컨텐츠 로딩되도록 처리 (2021.10.20 DDDDDDDDDD 추가) : 종료
// 클릭 시, 컨텐츠 로딩되도록 처리 (2021.10.20 NLIB 추가) : 종료
});
});

View File

@ -310,9 +310,9 @@ function fnLabel_reference(){
}else if(mylist_arr[j].indexOf("agency") >= 0){
var second_cate_nm = mylist_arr[j].substring(mylist_arr[j].indexOf("_")+1);
$("#reference_fillter_append").append("<li>생산기관 &#62; "+ second_cate_nm + "<button type=\"button\" class=\"btn-del-filter\" id=\"" + second_cate_nm + "\" name=\"first_agency_del\" >삭제</button></li>").text();
}else if(mylist_arr[j].indexOf("search_query") >= 0){
}/*else if(mylist_arr[j].indexOf("search_query") >= 0){
$("#reference_fillter_append").append("<li>검색어 &#62; "+ $("#realQuery").val() + "<button type=\"button\" class=\"btn-del-filter detailFilter\" id=\"\" name=\"search_query\">삭제</button></li>").text();
}else if(mylist_arr[j].indexOf("search_bookIndex") >= 0){
}*/else if(mylist_arr[j].indexOf("search_bookIndex") >= 0){
$("#reference_fillter_append").append("<li>목차 &#62; "+ $("#bookIndex").val() + "<button type=\"button\" class=\"btn-del-filter detailFilter\" id=\"\" name=\"search_bookIndex\">삭제</button></li>").text();
}else if(mylist_arr[j].indexOf("search_mngtNo") >= 0){
$("#reference_fillter_append").append("<li>관리번호 &#62; "+ $("#mngtNo").val() + "<button type=\"button\" class=\"btn-del-filter detailFilter\" id=\"\" name=\"search_mngtNo\">삭제</button></li>").text();

View File

@ -1,34 +0,0 @@
<html>
<!--
http://localhost:8080/nlib/fileupload/js/dropzone.css
-->
<meta charset="utf-8">
<link rel="stylesheet" href="/js/fileupload/dropzone.css" />
<link rel="stylesheet" href="/js/fileupload/style.css" />
<script src="/js/fileupload/dropzone.js"></script>
<!--
<link rel="stylesheet" href="https://www.dropzonejs.com/css/dropzone.css?v=1595510599" />
<link rel="stylesheet" href="https://www.dropzonejs.com/css/style.css?v=1595510599" />
<script src="https://www.dropzonejs.com/js/dropzone.js?v=1595510599"></script>
-->
<body>
<div id="dropzone">
<form action="${pageContext.request.contextPath}/fileupload/uploadFile.do"
class="dropzone needsclick" id="myDropzone">
<div class="dz-message needsclick">
<button type="button" class="dz-button">Drop files here or click to select files.</button><br />
<span class="note needsclick">이곳에 파일을 끌어다 놓거나, 클릭하여 올릴 파일을 선택하세요.</span>
</div>
</form>
</div>
</body>
</html>

View File

@ -1,41 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Grid</title>
<link type="text/css" rel="stylesheet" href="jsgrid.min.css" />
<link type="text/css" rel="stylesheet" href="jsgrid-theme.min.css" />
<script type="text/javascript" src="jsgrid.min.js"></script>
</head>
<body>
<table id="table1"></table>
<script type="text/javascript">
function makeTable(id, array){
$("#"+id).jqGrid({
datatype: "local",
height: 250,
width : 630,
colNames:['a','b', 'RPM', 'c','d'],
colModel:[
{name:'fOcurDtmc', align:'right'},
{name:'spd', align:'right'},
{name:'rpm', align:'right'},
{name:'brkYn', align:'right'},
{name:'status', align:'right'}
],
caption: "DT"
});
for(var I in array){
$("#"+id).jqGrid('addRowData',i+1,array[i]);
}
}
makeTable('table1', dataArray);
</script>
</body>
</html>

View File

@ -1,57 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Grid</title>
<link type="text/css" rel="stylesheet" href="/js/jsgrid/jsgrid.min.css" />
<link type="text/css" rel="stylesheet" href="/js/jsgrid/jsgrid-theme.min.css" />
<script src="/js/jquery/jquery.min.js"></script>
<script src="/js/jsgrid/jsgrid.min.js"></script>
</head>
<body>
<div id="jsGrid" name="jsGrid" style="width:400px; height:300px;"></div>
<script>
var clients = [
{ "이름": "Otto Clay", "Age": 25, "Country": 1, "Address": "Ap #897-1459 Quam Avenue", "Married": false },
{ "Name": "Connor Johnston", "Age": 45, "Country": 2, "Address": "Ap #370-4647 Dis Av.", "Married": true },
{ "Name": "Lacey Hess", "Age": 29, "Country": 3, "Address": "Ap #365-8835 Integer St.", "Married": false },
{ "Name": "Timothy Henson", "Age": 56, "Country": 1, "Address": "911-5143 Luctus Ave", "Married": true },
{ "Name": "Ramona Benton", "Age": 32, "Country": 3, "Address": "Ap #614-689 Vehicula Street", "Married": false }
];
var countries = [
{ Name: "", Id: 0 },
{ Name: "United States", Id: 1 },
{ Name: "Canada", Id: 2 },
{ Name: "United Kingdom", Id: 3 }
];
$("#jsGrid").jsGrid({
width: "100%",
height: "400px",
inserting: true,
editing: true,
sorting: true,
paging: true,
data: clients,
fields: [
{ name: "이름", type: "text", width: 150, validate: "required" },
{ name: "Age", type: "number", width: 50 },
{ name: "Address", type: "text", width: 200 },
{ name: "Country", type: "select", items: countries, valueField: "Id", textField: "Name" },
{ name: "Married", type: "checkbox", title: "Is Married", sorting: false },
{ type: "control" }
]
});
</script>
</body>
</html>

View File

@ -1,40 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Grid</title>
<link rel="stylesheet" type="text/css" href="/js/jqgrid/ui.jqgrid.css"/>
<script type="text/javascript" src="/js/jqgrid/jquery.jqGrid.min.js'/>"></script>
</head>
<body>
<table id="table1"></table>
<script type="text/javascript">
function makeTable(id, array){
$("#"+id).jqGrid({
datatype: "local",
height: 250,
width : 630,
colNames:['일시','속도', 'RPM', '브레이크','상태'],
colModel:[
{name:'fOcurDtmc', align:'right'},
{name:'spd', align:'right'},
{name:'rpm', align:'right'},
{name:'brkYn', align:'right'},
{name:'status', align:'right'}
],
caption: "DTG 데이터"
});
for(var I in array){
$("#"+id).jqGrid('addRowData',i+1,array[i]);
}
}
makeTable('table1', dataArray);
</script>
</body>
</html>

View File

@ -1,51 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
<title>Insert title here</title>
</head>
<body>
<button class="btn btn-primary btn-lg pop" pageTitle="About Us" pageName="about.html" >About us</button> |
<button class="btn btn-primary btn-lg pop" pageTitle="Contact Us" pageName="contact.html" >Contact Us</button> |
<button class="btn btn-primary btn-lg pop" pageTitle="Our Team 1" pageName="team.html">Our Team 2</button>
<div class="modal fade" tabindex="-1" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title"></h4>
</div>
<div class="modal-body">
body
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<script>
$(function() {
$(".pop").click(function(){
var pageTitle = $(this).attr('pageTitle');
var pageName = $(this).attr('pageName');
$(".modal .modal-title").html(pageTitle);
$(".modal .modal-body").html("Content loading please wait...");
$(".modal").modal("show");
$(".modal .modal-body").load(pageName);
});
});
</script>
</body>
</html>

View File

@ -1,45 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link href="/css/nlib.css" rel="stylesheet" type="text/css" />
<script src="/js/jquery/jquery.min.js"></script>
<script src="/js/nlib.js"></script>
</head>
<body>
<button name="btnShow" onclick="popPop2()">SHOW popPop2</button>
<script>
function popPop() {
$.ajax({
type: "post",
url: "https://seoul.nculture.org/code/listCodes.do",
}).done(function(response){
$("#myPop").html(response);
});
}
function popPop2() {
gotoInPop("https://seoul.nculture.org/code/listCodesPopup.do");
}
function gotoInPop(url) {
$("#myPop").show();
$("#NLIB_LAYERPOP").load(url);
}
</script>
&nbsp;<br>
&nbsp;<br>
<div id="myPop" style="z-index:10000000; display:blcok; margin-left:20px !important; position:relative; width:90%; height:auto; min-height:100px; max-height:500px; border:3px solid black !important; overflow:scroll; ">POP</div>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>감사</title>
</head>
<body>
감사합니다.
</body>
</html>

View File

@ -1,22 +0,0 @@
<!doctype html>
<html lang="ko">
<head>
<script type="text/javascript" src="https://static.nid.naver.com/js/naverLogin_implicit-1.0.3.js" charset="utf-8"></script>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
</head>
<body>
<script type="text/javascript">
var naver_id_login = new naver_id_login("jIRK8ZmHrZyfm4Qky7pF", "http://www.oauth2test.com/test/callback.html");
// 접근 토큰 값 출력
alert(" access_token=" + naver_id_login.oauthParams.access_token);
// 네이버 사용자 프로필 조회
naver_id_login.get_naver_userprofile("naverSignInCallback()");
// 네이버 사용자 프로필 조회 이후 프로필 정보를 처리할 callback function
function naverSignInCallback() {
alert(naver_id_login.getProfileData('email'));
alert(naver_id_login.getProfileData('nickname'));
alert(naver_id_login.getProfileData('age'));
}
</script>
</body>
</html>

View File

@ -1,22 +0,0 @@
<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>네이버 로그인</title>
<script type="text/javascript" src="https://static.nid.naver.com/js/naverLogin_implicit-1.0.3.js" charset="utf-8"></script>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
</head>
<body>
<!-- 네이버아이디로로그인 버튼 노출 영역 -->
<div id="naver_id_login"></div>
<!-- //네이버아이디로로그인 버튼 노출 영역 -->
<script type="text/javascript">
var naver_id_login = new naver_id_login("jIRK8ZmHrZyfm4Qky7pF", "http://www.oauth2test.com/test/callback.html");
var state = naver_id_login.getUniqState();
naver_id_login.setButton("white", 2,40);
naver_id_login.setDomain("http://www.oauth2test.com/test/naverLogin.html");
naver_id_login.setState(state);
naver_id_login.setPopup();
naver_id_login.init_naver_id_login();
</script>
</html>

View File

@ -1,230 +0,0 @@
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="format-detection" content="telephone=no" />
<link href="/css/common.css" rel="stylesheet">
<link href="/css/jquery.mCustomScrollbar.css" rel="stylesheet">
<link href="/css/swiper.min.css" rel="stylesheet">
<link href="/css/default.css" rel="stylesheet">
<!-- <script src="/js/jquery-1.11.2.min.js"></script> -->
<script src="/js/jquery/jquery.min.js"></script>
<script src="/js/jquery.mCustomScrollbar.js"></script>
<script src="/js/swiper.min.js"></script>
<script src="/js/default.js"></script>
<script src="/js/nlib.js"></script>
<script src="/js/cart.js"></script>
<title>소장자료관</title>
<script type="text/javascript">
// 제목 설정
function fn_setPageTitle(title) {
document.title = "소장자료관 - " + title;
}
</script>
</head>
<body>
<div class="wrap sub">
<!-- 헤더 -->
<header id="header">
<!-- HOME -->
<script>
$(document).ready(function() {
$("#imgLogo").attr("src", "/images/logo/img-logo-KCCF.png");
$("#imgLogo").on("error", function() {
$("<span id='siteCouncilNm' name='siteCouncilNm'>한국문화원연합회</span>").insertBefore($("#siteCommonTitle"));
$("#siteCouncilNm").attr("style", "border-left:0px !important");
$(this).remove();
});
});
</script>
<h2 class="blind">헤더영역</h2>
<div class="inner">
<h1><a href="javascript:void(0)" onclick="javascript:location.href='/';"><img namme="imgLogo" id="imgLogo" src=""><span name="siteCommonTitle" id="siteCommonTitle">소장자료관 (https://nlib-dev.nculture.org)</span></a></h1>
<div class="search-wrap">
<h2 class="blind">검색</h2>
<form id="searchHeaderForm" name="searchHeaderForm" method="post" action="">
<fieldset>
<legend>검색</legend>
<div class="search-input">
<input type="text" placeholder="" title="검색어 입력" name="query" id="query" class="ark_query" value="" autocomplete="off">
<button type="button" class="btn-search" id="searchHeaderButton"><span>검색</span></button>
<!-- <button type="button" class="btn-search-detail" id="btn-search-detail-cl" onclick="javascript:fn_layerPop('/search/getDetailedSearchFormPopup.do');">상세검색</button> -->
<button type="button" class="btn-search-detail" id="btn-search-detail-cl">상세검색</button>
</div>
<div class="condition_sear">
<select name="searchField" id="searchField1" class="sear_depth">
<option value="" selected="selected">전체</option>
<option value="TITLE">제목</option>
</select>
</div>
</fieldset>
</form>
</div>
<div class="log">
<ul>
<li><!-- 개발자 확인용 타이틀 임시 추가 DDDDDDDDDDD -->
<a href="javascript:void(0)" onclick="javascript:location.href='/login/loginCouncil.do';"
title="한국문화원연합회(KCCF)" class="login-btn">로그인</a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/cart/listCartItems.do';">카트(<span class="count">10</span>)</a></li>
</ul>
</div>
</div>
<script>
</script>
</header>
<!-- 메뉴 -->
<div class="nav-wrap">
<div class="inner">
<button id="primary-nav-button" type="button" class="Btn eff"><i class="eff">Menu</i></button>
<nav id="primary-nav" class="dropdown cf">
<ul class="dropdown menu">
<li class="eff active"><a href="/activar/index.html" title="자료관안내" class="eff">자료관안내</a>
<ul class="sub-menu">
<li><a href="javascript:void(0)" onclick="javascript:location.href='/inform/selectGreeting.do';" title="인사말" class="underline blue">인사말</a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/inform/selectNCultureOperationInfo.do';" title="이용안내" class="underline blue">이용안내</a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/inform/selectNCultureLocationInfo.do';" title="찾아오시는길" class="underline blue">찾아오시는길</a></li>
</ul>
</li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/search/searchList.do';" title="소장자료" class="eff">소장자료</a></li>
<li><a href="/activar/contact.html" title="고객지원" class="eff">고객지원</a>
<ul class="sub-menu">
<li><a href="javascript:void(0)" onclick="javascript:location.href='/bbs/listAncmnts.do';" title="공지사항" class="underline blue">공지사항</a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/bbs/listFaqs.do';" title="FAQ" class="underline blue">FAQ</a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/bbs/listQnas.do';" title="Q&A" class="underline blue">Q&A</a></li>
</ul>
</li>
<li><a href="/activar/contact.html" title="마이페이지" class="eff">마이페이지</a>
<ul class="sub-menu">
<li><a href="javascript:void(0)" onclick="javascript:location.href='/userInfo/pwCertMyInfo.do';" title="회원정보관리" class="underline blue">회원정보관리</a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/interest/listInterests.do';" title="관심자료" class="underline blue">관심자료</a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/rent/listRentItems.do';" title="대출관리" class="underline blue">대출관리</a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/rent/listRequestsForViewingItem.do';" title="방문열람관리" class="underline blue">방문열람관리</a></li>
<!-- 개발진행 중 임시 추가 : 시작 DDDDDDDDDDDDDD -->
<li>--- 이하 임시 추가 메뉴 ---</li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/user/member/searchIdForm.do';" title="ID/PW찾기" class="underline blue">ID/PW찾기</a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/login/loginCouncil.do?callType=member';" title="회원가입" class="underline blue">회원가입</a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/sample/password/getSampleEncoder.do';" title="암호화" class="underline blue">암호화</a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/system/reloadProperties.do';" title="환경설정갱신" class="underline blue">환경설정갱신</a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/code/listCodes.do';" title="코드조회" class="underline blue">코드조회</a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/sample/listRentItem.do';" title="API샘플" class="underline blue">목록조회:API샘플</a></li>
<!-- 개발진행 중 임시 추가 : 종료 DDDDDDDDDDDDDD -->
</ul>
</li>
</ul>
</nav>
</div>
</div>
<!-- 메인컨텐츠 -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
가입되셨습니다. 환영합니다
</body>
</html>
<footer id="footer">
<button type="button" id="btn-go-top" class="btn-go-top"><span><img src="/images/icon/icon-arr-top.png" alt="상단 화살표"></span><p>TOP</p></button>
<div class="inner">
<div class="row-top">
<div class="footer-logo">
<h1><a href="#"><img src="/images/img/img-footer-logo.png" alt="푸터 로고"></a></h1>
</div>
<div class="family_site">
<p class="site_name">관련 사이트</p>
<ul class="site_depth">
<li><a href="http://www.kccf.or.kr/" target="_blank" title="한국문화원연합회">한국문화원연합회</a></li>
<li><a href="http://www.nculture.org" target="_blank" title="지역N문화">지역N문화</a></li>
<li><a href="http://www.mcst.go.kr" target="_blank" title="문화체육관광부">문화체육관광부</a></li>
<li><a href="http://www.culture.go.kr" target="_blank" title="문화포털">문화포털</a></li>
<li><a href="http://kto.visitkorea.or.kr/kor.kto" target="_blank" title="한국관광공사">한국관광공사</a></li>
<li><a href="http://www.seniorculture.or.kr/" target="_blank" title="어르신문화프로그램">어르신문화프로그램</a></li>
<li><a href="http://csv.culture.go.kr/frt/main.do" target="_blank" title="문화체육자원봉사">문화체육자원봉사</a></li>
<li><a href="https://inmun360.culture.go.kr/" target="_blank" title="인문360도">인문360도</a></li>
</ul>
</div>
</div>
<div class="row-bottom">
<div class="left-side">
<ul class="fnb">
<li><a href="javascript:void(0)" onclick="javascript:location.href='/inform/selectTermsInfo.do';">이용약관</a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/inform/selectPrivacyInfo.do';">개인정보처리방침</a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/inform/selectNCultureLocationInfo.do';">찾아오시는 길</a></li>
</ul>
<p class="copy">
서울시 마포대로49 성우빌딩 308호 <span><a href="tel:02-704-2322">TEL. 02.704-2322</a></span> <span>FAX. 02.704-2377</span> <br>
COPYRIGHT (C)2018 The Federation of Korea Culture Center. ALL RIGHT RESERVED.
</p>
</div>
</div>
</div>
</footer>
</div>
<!-- Layer Popup -->
<!-- <div id="NLIB_LAYER_POPUP" name="NLIB_LAYER_POPUP" class="popup pop-advanced-search" style="display:none;"> -->
<div id="NLIB_LAYER_POPUP" name="NLIB_LAYER_POPUP" style="display:none;">
</div>
</body>
</html>

View File

@ -1,262 +0,0 @@
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="format-detection" content="telephone=no" />
<link href="/css/common.css" rel="stylesheet">
<link href="/css/jquery.mCustomScrollbar.css" rel="stylesheet">
<link href="/css/swiper.min.css" rel="stylesheet">
<link href="/css/default.css" rel="stylesheet">
<script src="/js/jquery/jquery.min.js"></script>
<script src="/js/jquery.mCustomScrollbar.js"></script>
<script src="/js/swiper.min.js"></script>
<script src="/js/default.js"></script>
<script src="/js/nlib.js"></script>
<script src="/js/cart.js"></script>
<title>소장자료관</title>
<script type="text/javascript">
// 제목 설정
function fn_setPageTitle(title) {
document.title = "소장자료관 - " + title;
}
</script>
</head>
<body>
<div class="wrap sub">
<!-- 헤더 -->
<header id="header">
<!-- HOME -->
<script>
$(document).ready(function() {
$("#imgLogo").attr("src", "/images/logo/img-logo-SU04.png");
$("#imgLogo").on("error", function() {
$("<span id='siteCouncilNm' name='siteCouncilNm'>서울강서문화원</span>").insertBefore($("#siteCommonTitle"));
$("#siteCouncilNm").attr("style", "border-left:0px !important");
$(this).remove();
});
});
</script>
<h2 class="blind">헤더영역</h2>
<div class="inner">
<h1><a href="javascript:void(0)" onclick="javascript:location.href='/';"><img namme="imgLogo" id="imgLogo" src=""><span name="siteCommonTitle" id="siteCommonTitle">소장자료관</span></a></h1>
<div class="search-wrap">
<h2 class="blind">검색</h2>
<form id="searchHeaderForm" name="searchHeaderForm" method="post" action="">
<fieldset>
<legend>검색</legend>
<div class="search-input">
<input type="text" placeholder="" title="검색어 입력" name="query" id="query" class="ark_query" value="" autocomplete="off">
<button type="button" class="btn-search" id="searchHeaderButton"><span>검색</span></button>
<!-- <button type="button" class="btn-search-detail" id="btn-search-detail-cl" onclick="javascript:fn_layerPop('/search/getDetailedSearchFormPopup.do');">상세검색</button> -->
<button type="button" class="btn-search-detail" id="btn-search-detail-cl">상세검색</button>
</div>
<div class="condition_sear">
<select name="searchField" id="searchField1" class="sear_depth">
<option value="" selected="selected">전체</option>
<option value="TITLE">제목</option>
</select>
</div>
</fieldset>
</form>
</div>
<div class="log">
<ul>
<li><!-- 개발자 확인용 타이틀 임시 추가 DDDDDDDDDDD -->
<a href="javascript:void(0)" onclick='fn_layerPopWithClass("/login/loginFormPopup.do", "pop-login")' title="서울강서문화원(SU04)" class="login-btn">로그인</a></li>
<li><a href="javascript:void(0)" class="member-card-btn">회원증</a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/cart/listCartItems.do';">카트(<span class="count">10</span>)</a></li>
</ul>
</div>
</div>
<script>
</script>
</header>
<!-- 메뉴 -->
<div class="nav-wrap">
<div class="inner">
<button id="primary-nav-button" type="button" class="Btn eff"><i class="eff">Menu</i></button>
<nav id="primary-nav" class="dropdown cf">
<ul class="dropdown menu">
<li class="eff active"><a href="/activar/index.html" title="자료관안내" class="eff">자료관안내</a>
<ul class="sub-menu">
<li><a href="javascript:void(0)" onclick="javascript:location.href='/inform/selectGreeting.do';" title="인사말" class="underline blue">인사말</a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/inform/selectNCultureOperationInfo.do';" title="이용안내" class="underline blue">이용안내</a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/inform/selectNCultureLocationInfo.do';" title="찾아오시는길" class="underline blue">찾아오시는길</a></li>
</ul>
</li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/search/searchList.do';" title="소장자료" class="eff">소장자료</a></li>
<li><a href="/activar/contact.html" title="고객지원" class="eff">고객지원</a>
<ul class="sub-menu">
<li><a href="javascript:void(0)" onclick="javascript:location.href='/bbs/listAncmnts.do';" title="공지사항" class="underline blue">공지사항</a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/bbs/listFaqs.do';" title="FAQ" class="underline blue">FAQ</a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/bbs/listQnas.do';" title="Q&A" class="underline blue">Q&A</a></li>
</ul>
</li>
<li><a href="/activar/contact.html" title="마이페이지" class="eff">마이페이지</a>
<ul class="sub-menu">
<li><a href="javascript:void(0)" onclick="javascript:location.href='/userInfo/pwCertMyInfo.do';" title="회원정보관리" class="underline blue">회원정보관리</a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/interest/listInterests.do';" title="관심자료" class="underline blue">관심자료</a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/rent/listRentItems.do';" title="대출관리" class="underline blue">대출관리</a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/rent/listRequestsForViewingItem.do';" title="방문열람관리" class="underline blue">방문열람관리</a></li>
<!-- 개발진행 중 임시 추가 : 시작 DDDDDDDDDDDDDD -->
<li>--- 이하 임시 추가 메뉴 ---</li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/user/member/searchIdForm.do';" title="ID/PW찾기" class="underline blue">ID/PW찾기</a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/login/loginCouncil.do?callType=member';" title="회원가입" class="underline blue">회원가입</a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/sample/password/getSampleEncoder.do';" title="암호화" class="underline blue">암호화</a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/system/reloadProperties.do';" title="환경설정갱신" class="underline blue">환경설정갱신</a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/code/listCodes.do';" title="코드조회" class="underline blue">코드조회</a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/sample/listRentItem.do';" title="API샘플" class="underline blue">목록조회:API샘플</a></li>
<!-- 개발진행 중 임시 추가 : 종료 DDDDDDDDDDDDDD -->
</ul>
</li>
</ul>
</nav>
</div>
</div>
<!-- 메인컨텐츠 -->
<!-- 안내 섹션 -->
<section class="join succ dormant">
<h2 class="blind">안내 섹션영역</h2>
<div class="inner">
<div class="row-top">
<div class="icon"><img src="/images/icon/icon-dormant.png" alt="자물쇠 아이콘"></div>
<p>로그인 및 회원가입 안내</p>
</div>
<div class="row-bottom">
<div class="join-box">
<div class="success">
<div class="text">
<p><span>먼저 회원가입하신 후, 이용하여 주시기 바랍니다.</span></p>
</div>
<div class="box">
<p>위의 안내 메시지를 확인하신 후, 다시 로그인하시거나 회원가입을 진행해 주시기 바랍니다.</p>
</div>
<div class="btn">
<a href="javascript:void(0)" onclick="javascript:location.href='/';" class="btn-gray">홈으로</a>
&nbsp;
&nbsp;
&nbsp;
&nbsp;
<a href="javascript:void(0)" onclick="javascript:location.href='/login/memberSnsForm.do';" class="btn-color">회원가입</a>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- 풋터 -->
<footer id="footer">
<button type="button" id="btn-go-top" class="btn-go-top"><span><img src="/images/icon/icon-arr-top.png" alt="상단 화살표"></span><p>TOP</p></button>
<div class="inner">
<div class="row-top">
<div class="footer-logo">
<h1><a href="#"><img src="/images/img/img-footer-logo.png" alt="푸터 로고"></a></h1>
</div>
<div class="family_site">
<p class="site_name">관련 사이트</p>
<ul class="site_depth">
<li><a href="http://www.kccf.or.kr/" target="_blank" title="한국문화원연합회">한국문화원연합회</a></li>
<li><a href="http://www.nculture.org" target="_blank" title="지역N문화">지역N문화</a></li>
<li><a href="http://www.mcst.go.kr" target="_blank" title="문화체육관광부">문화체육관광부</a></li>
<li><a href="http://www.culture.go.kr" target="_blank" title="문화포털">문화포털</a></li>
<li><a href="http://kto.visitkorea.or.kr/kor.kto" target="_blank" title="한국관광공사">한국관광공사</a></li>
<li><a href="http://www.seniorculture.or.kr/" target="_blank" title="어르신문화프로그램">어르신문화프로그램</a></li>
<li><a href="http://csv.culture.go.kr/frt/main.do" target="_blank" title="문화체육자원봉사">문화체육자원봉사</a></li>
<li><a href="https://inmun360.culture.go.kr/" target="_blank" title="인문360도">인문360도</a></li>
</ul>
</div>
</div>
<div class="row-bottom">
<div class="left-side">
<ul class="fnb">
<li><a href="javascript:void(0)" onclick="javascript:location.href='/inform/selectTermsInfo.do';">이용약관</a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/inform/selectPrivacyInfo.do';">개인정보처리방침</a></li>
<li><a href="javascript:void(0)" onclick="javascript:location.href='/inform/selectNCultureLocationInfo.do';">찾아오시는 길</a></li>
</ul>
<p class="copy">
서울시 마포대로49 성우빌딩 308호 <span><a href="tel:02-704-2322">TEL. 02.704-2322</a></span> <span>FAX. 02.704-2377</span> <br>
COPYRIGHT (C)2018 The Federation of Korea Culture Center. ALL RIGHT RESERVED.
</p>
</div>
</div>
</div>
</footer>
</div>
<!-- Layer Popup -->
<div id="NLIB_LAYER_POPUP" name="NLIB_LAYER_POPUP" style="display:block;">
</div>
</body>
</html>