Merge branch 'master' of http://docs.nculture.org:30000/nculture/iams.nlib
This commit is contained in:
commit
1023e79c2f
@ -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
|
||||
|
||||
@ -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));
|
||||
|
||||
// 유형별 인기자료
|
||||
|
||||
@ -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 {
|
||||
|
||||
|
||||
@ -1,10 +0,0 @@
|
||||
package nlib.col.service;
|
||||
|
||||
import nlib.restful.service.DataApiReqVO;
|
||||
import nlib.restful.service.DataApiResVO;
|
||||
|
||||
public interface ReserveService
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
@ -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 {
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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>
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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">
|
||||
|
||||
@ -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>
|
||||
|
||||
|
||||
@ -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 + " > " + 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 + " > " + obj.subjectNm + "</span>"
|
||||
if(!fn_isEmpty(obj.typeCodeNm) && !fn_isEmpty(obj.dtlsTypeDivNm)){
|
||||
t_data += " > "
|
||||
}
|
||||
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 += " | "
|
||||
t_data += "<span>주제분야 : "
|
||||
if(!fn_isEmpty(obj.subjectNmUp)){
|
||||
t_data += obj.subjectNmUp
|
||||
}
|
||||
if(!fn_isEmpty(obj.subjectNmUp) && !fn_isEmpty(obj.subjectNm)){
|
||||
t_data += " > "
|
||||
}
|
||||
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 += " | "
|
||||
t_data += "<span>생산기관 : "
|
||||
if(!fn_isEmpty(obj.orgNm)){
|
||||
t_data += obj.orgNm
|
||||
}else{
|
||||
t_data += "-"
|
||||
}
|
||||
t_data += "</span>"
|
||||
|
||||
t_data += " | "
|
||||
t_data += "<span>생산년도 : "
|
||||
if(!fn_isEmpty(obj.creatYyyy)){
|
||||
t_data += obj.creatYyyy
|
||||
}else{
|
||||
t_data += "-"
|
||||
}
|
||||
t_data += "</span>"
|
||||
t_data += "</div>"
|
||||
|
||||
var t_btn = "";
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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,";
|
||||
}
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
|
||||
@ -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 추가) : 종료
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@ -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>생산기관 > "+ 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>검색어 > "+ $("#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>목차 > "+ $("#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>관리번호 > "+ $("#mngtNo").val() + "<button type=\"button\" class=\"btn-del-filter detailFilter\" id=\"\" name=\"search_mngtNo\">삭제</button></li>").text();
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
@ -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>
|
||||
@ -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>
|
||||
@ -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">×</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>
|
||||
@ -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>
|
||||
<br>
|
||||
<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>
|
||||
@ -1,10 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>감사</title>
|
||||
</head>
|
||||
<body>
|
||||
감사합니다.
|
||||
</body>
|
||||
</html>
|
||||
@ -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>
|
||||
@ -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>
|
||||
@ -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>
|
||||
@ -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>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<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>
|
||||
Loading…
Reference in New Issue
Block a user