Skip to content

minority opinions

Menu
  • Home
  • 꿀팁정리 & 자기계발
  • 기술 정보 & 테크 소식
  • 이슈 뉴스 정리
  • 주식 경제
  • Tags
Menu
Xpressengine(XE)

Xpressengine(XE) 게시판 활용 팁

Posted on 4월 1, 20177월 1, 2023 by Daniel J.

https://www.xpressengine.com/

아래와 같은 게시판 형태 에서 활용하기

1. 사용자 정의 변수 에 링크 걸기 

    –     xe/modules/board/skins/default/list.html  수정

2. 게시판 리스트 -> IP 항목 클릭시 자동으로 -> 윈도우 RDP 연결 하기 

   (시도때도 없이 서버 접속 업무가 너무 많아서 / 보안 이슈는 알아서 해결 하길….. )

    –     xe/modules/board/skins/default/list.html  추가

   c:\windows\hyperlink-rdp.js   (관리자 권한으로 생성해야함)

xpressengine(XE) 게시판에 파일 기반으로 된 data 자동으로 DB에 Insert 시키는 팁

XE  : version: 1.7.4.1 (XE 버전별 DB 컬럼이나 테이블 항목 차이는 있을수 있음)

OS : CentOS release 6.5 (Final) 에서 진행됨

DB : mysql  Ver 14.14 Distrib 5.5.38, for Linux (x86_64) using readline 5.1

요약 : 

1) 새로운 게시판 생성 / 사용자 정의 이름 변수명 인지

2) 텍스트 형태로 신규 게시판에 밀어넣을 data 생성 /  “사용자 정의 변수” 각 필드에 부합되는 내용으로

3) DB 에서 중요한 부분 확인 ( document_srl , module_srl 번호 등)

4) Script 작성 및 실행 ( 3)번 내용을 잘 확인하여 스크립트에 대입)

1. xe 게시판 관리자에서 아래와 같이  “사용자 정의” 변수로 새로운 게시판 생성

2. cat list 파일 설명

– list 파일 내용은 , 로 구분 총 11개의 필드로 구성 (사용자 변수 타입에 맞게 대입 총 11개)

– 엑셀로 편집하여 -> vi list 복사-> :1,$ s/탭/,/g  (탭구분을 -> , 콤마로 변경)  

– sed -i ‘s/ //g’ list  (list 파일 내용중 “빈칸제거”) 

  (업 체명 or 업체 명  <- 빈칸이 들어가면 스크립트 실행시 제대로 import 되지 않음 )

업체명㈜,123456789,.,운영,.,HOST-HV-HSOL2,10.77.10.207,4,16,600,.(주)업체명,123456789,.,운영,2,HOST-HV-BUU,10.77.10.246,4,16,300,……..한국업체명,123456789,.,해지,2,HOST-HHBT,10.205.14.12,4,16,1000,.업체명가나다㈜,123456789,.,운영,2,HOST-DSTH,10.205.14.13,4,8,300,.

3. Mysql DB 확인 (data insert 스크립트 내에 사용될 컬럼 정보임)

– xe_documents 테이블 

– document_srl 컬럼 마지막 번호 (매우 중요) 아래서 설명 예정

  103009

– module_srl 컬럼  (1번에서 생성한 게시판 모듈 번호)

  101354

위 내용은 xe 로직상 모든 게시판 document(게시물) 에 대하여  자동으로 계산되어 부여되는 시리얼 번호 

(xe_sequence 테이블 , xe_documents 및  document_srl 컬럼과도 관계가 있다고함)

자세한 내용은 xpressengine 공식 홈페이지 참조

4. Script  내용 및 실행 

– 1번에서 설정한 사용자 변수별로 list  파일에서 읽어서 ->  mysql 명령으로 -> insert 

– 중요 사항 

          module_srl  ->  3번에서 확인한 101354

          document_srl -> 3번에서 확인한 마지막 값보다 무조건 크게 입력 ( 필자는 100정도 이상 크게줌)

          var_idx -> 1번에서 사용자 변수별 가장 첫번째 항목  (사용자 정의 변수별로 각각 맞춰 줘야함)

    이유

          스크립트 실행시 insert error 및 

          Duplicate entry ‘0’ for key ‘PRIMARY’ 라는 에러를 뿌리면서 글작성이 안됨.

          그리고 기준 운영중인 게시판에도 영향을 미칠수 있음


#!/bin/bash -x
hosting_company=`awk -F “,” ‘{print $1}’ ./list`hosting_serial=`awk -F “,” ‘{print $2}’ ./list`hosting_status=`awk -F “,” ‘{print $4}’ ./list`hosting_product=`awk -F “,” ‘{print $3}’ ./list`hosting_date=`awk -F “,” ‘{print $11}’ ./list`hosting_sname=`awk -F “,” ‘{print $6}’ ./list`hosting_ip=`awk -F “,” ‘{print $7}’ ./list`hosting_cpu=`awk -F “,” ‘{print $8}’ ./list`hosting_memory=`awk -F “,” ‘{print $9}’ ./list`hosting_hdd=`awk -F “,” ‘{print $10}’ ./list`hosting_sql=`awk -F “,” ‘{print $5}’ ./list`

### hosting_company
NUM=103100             <– xe_documents 테이블 document_srl 컬럼 마지막 번호 보다 큰값  자동으로 1씩 증가하게 
for i in ${hosting_company}dolet NUM=NUM+1hosting_company=`echo $i`
mysql -uroot -p’PasworD’ xe -Bse ‘INSERT INTO `xe`.`xe_documents` (`document_srl`, `module_srl`, `category_srl`, `lang_code`, `is_notice`, `title`, `title_bold`, `title_color`, `content`, `readed_count`, `voted_count`, `blamed_count`, `comment_count`, `trackback_count`, `uploaded_count`, `password`, `user_id`, `user_name`, `nick_name`, `member_srl`, `email_address`, `homepage`, `tags`, `extra_vars`, `regdate`, `last_update`, `last_updater`, `ipaddress`, `list_order`, `update_order`, `allow_trackback`, `notify_message`, `status`, `comment_status`) VALUES (“‘${NUM}'”, “101354“, “0”, “ko”, “N”, “Title”, “N”, “N”, “”, “0”, “0”, “0”, “0”, “0”, “0”, NULL, “admin”, “admin”, “admin”, “4”, “useruser@xxx.com”, “”, NULL, “N;”, “20170629110002”, “20170629110002”, NULL, “10.10.20.7”, “-‘${NUM}'”, “-‘${NUM}'”, “N”, “N”, “PUBLIC”, “ALLOW”);
INSERT INTO `xe_document_extra_vars`(`module_srl`, `document_srl`, `var_idx`, `lang_code`, `value`, `eid`) VALUES (“101354“,”‘${NUM}'”,”1“,”ko”,”‘${hosting_company}'”,”hosting_company”);’   
  # var_idx 번호 중요

done
       #     붉은색 부분을 명확하게 확인후 기입 
### hosting_serial
NUM=103100
for i in ${hosting_serial}dolet NUM=NUM+1hosting_serial=`echo $i`
mysql -uroot -p’PasworD’ xe -Bse ‘INSERT INTO `xe_document_extra_vars`(`module_srl`, `document_srl`, `var_idx`, `lang_code`, `value`, `eid`) VALUES (“101354″,”‘${NUM}'”,”2″,”ko”,”‘${hosting_serial}'”,”hosting_serial”);’
done
###
### hosting_status
NUM=103100
for i in ${hosting_status}dolet NUM=NUM+1hosting_status=`echo $i`
mysql -uroot -p’PasworD’ xe -Bse ‘INSERT INTO `xe_document_extra_vars`(`module_srl`, `document_srl`, `var_idx`, `lang_code`, `value`, `eid`) VALUES (“101354″,”‘${NUM}'”,”3″,”ko”,”‘${hosting_status}'”,”hosting_status”);’
done
###
### hosting_product
NUM=103100
for i in ${hosting_product}dolet NUM=NUM+1hosting_product=`echo $i`
mysql -uroot -p’PasworD’ xe -Bse ‘INSERT INTO `xe_document_extra_vars`(`module_srl`, `document_srl`, `var_idx`, `lang_code`, `value`, `eid`) VALUES (“101354″,”‘${NUM}'”,”4″,”ko”,”‘${hosting_product}'”,”hosting_product”);’
done
###
### hosting_date
NUM=103100
for i in ${hosting_date}dolet NUM=NUM+1hosting_date=`echo $i`
mysql -uroot -p’PasworD’ xe -Bse ‘INSERT INTO `xe_document_extra_vars`(`module_srl`, `document_srl`, `var_idx`, `lang_code`, `value`, `eid`) VALUES (“101354″,”‘${NUM}'”,”5″,”ko”,”‘${hosting_date}'”,”hosting_date”);’
done
###
### hosting_sname
NUM=103100
for i in ${hosting_sname}dolet NUM=NUM+1hosting_sname=`echo $i`
mysql -uroot -p’PasworD’ xe -Bse ‘INSERT INTO `xe_document_extra_vars`(`module_srl`, `document_srl`, `var_idx`, `lang_code`, `value`, `eid`) VALUES (“101354″,”‘${NUM}'”,”6″,”ko”,”‘${hosting_sname}'”,”hosting_sname”);’
done
###
### hosting_ip
NUM=103100
for i in ${hosting_ip}dolet NUM=NUM+1hosting_ip=`echo $i`
mysql -uroot -p’PasworD’ xe -Bse ‘INSERT INTO `xe_document_extra_vars`(`module_srl`, `document_srl`, `var_idx`, `lang_code`, `value`, `eid`) VALUES (“101354″,”‘${NUM}'”,”7″,”ko”,”‘${hosting_ip}'”,”hosting_ip”);’
done
###
### hosting_cpu
NUM=103100
for i in ${hosting_cpu}dolet NUM=NUM+1hosting_cpu=`echo $i`
mysql -uroot -p’PasworD’ xe -Bse ‘INSERT INTO `xe_document_extra_vars`(`module_srl`, `document_srl`, `var_idx`, `lang_code`, `value`, `eid`) VALUES (“101354″,”‘${NUM}'”,”8″,”ko”,”‘${hosting_cpu}'”,”hosting_cpu”);’
done
            위와 같은 형식으로 “사용자 정의 이름” 별로 스크립트 내용 추가……

10,000 줄 이상 입력시에도 DB나 서버 부하 없이 잘 insert 됨 

5. 결과 화면

  스크립트 실행후 자동으로 data 가 insert 된 결과 화면 

상세화면 

이 글 공유하기:

  • 페이스북에 공유하려면 클릭하세요. (새 창에서 열림) Facebook
  • 클릭하여 X에서 공유 (새 창에서 열림) X
  • 인쇄하기 (새 창에서 열림) 인쇄
  • 클릭하여 친구에게 이메일로 링크 보내기 (새 창에서 열림) 전자우편
  • Telegram에 공유하려면 클릭하세요. (새 창에서 열림) Telegram
  • WhatsApp에 공유하려면 클릭하세요. (새 창에서 열림) WhatsApp

이것이 좋아요:

좋아하기 가져오는 중...

관련

답글 남기기 응답 취소

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Category

  • Article (66)
  • Uncategorized (178)
  • 게임 소식 (13)
  • 기술 정보 & 테크 소식 (260)
  • 꿀팁정리 & 자기계발 (317)
  • 블로그 (26)
  • 사건 사고 (64)
  • 역사 (35)
  • 영화 & 드라마 & 애니메이션 (27)
  • 이슈 뉴스 정리 (207)
  • 정치 인물 사회 (122)
  • 주식 경제 (119)

Recent Posts

  • 위고비(Wegovy) 효능과 가격(1펜) 정리

    위고비(Wegovy) 효능과 가격(1펜) 정리

    2월 16, 2025
  • 도메인 URL 주소 단축하는 사이트 모음

    도메인 URL 주소 단축하는 사이트 모음

    1월 30, 2025
  • 5년전 정혜수 MBC 기상캐스터가 해고당하면서 올린 글

    5년전 정혜수 MBC 기상캐스터가 해고당하면서 올린 글

    1월 28, 2025
  • MBC 기상캐스터 오요안나 자살과 집단 괴롭힘 가해자

    MBC 기상캐스터 오요안나 자살과 집단 괴롭힘 가해자

    1월 27, 2025
  • 홍장원 전 국정원 1차장 좌파이력 정리

    홍장원 전 국정원 1차장 좌파이력 정리

    1월 22, 2025

Popular Posts

©2025 minority opinions | Design: Newspaperly WordPress Theme
%d