안녕하세요.
갑자기 달라진 홈페이지 때문에 놀라시거나 조금 어색하신 분들이 많으실 줄 압니다.
사실 그동안 공중캠프 홈페이지 게시판으로 이용하던 제로보드(ver.4)가 보안 상의 문제가 많아
자주 피싱 싸이트로 해킹을 당해서 공중캠프 도메인(kuchu-camp.net)이 차단당한 경우가 많았습니다.
그래서 지난 3월 말 Fishmans Night 이후에 대대적인 서버 업그레이드 작업이 있었고,
조금 시간이 오래 걸렸지만 드디어 이번주에 공중캠프 홈페이지 서버가 정상적으로 가동하게 되었습니다.
(무엇보다 우선, 이 작업을 진행해준 노마드에게 감사!!)
하지만 문제는 예전 공중캠프 홈페이지가 구 제로보드를 기반으로 만들어진 것이어서
새로운 게시판 소프트웨어(XE http://www.xpressengine.com/)와는 별로 사이가 좋지 않았습니다;;
우선, 급한대로 지난 게시물들을 이전/복구하고 새로운 페이지와 게시판을 만들어두었지만,
보시다시피 엉성하기 짝이 없습니다-_-
전체적이고 세부적인 업데이트는 지금부터 꾸준히 해야 하겠지만,
기왕 이렇게 된 김에 그동안의 공중캠프 홈페이지에 대해 다시 한번 총체적으로 생각해보고
현재 공중캠프에 적절한/필요한 홈페이지를 새로 만들어보면 어떨까요?
지금까지 그랬던 것처럼, 천천히 조금씩....
그동안 공중캠프 홈페이지에 대해 이건 좀 별로였다라거나
이런 것들이 있으면 좋겠다 싶은 게 있으면 아무 얘기나 거리낌없이 말씀해주세요.
회원 가입 문제나 게시판/페이지 등에 대한 의견도 좋구요.
(몇몇 페이지/게시판을 회원가입/로그인 후에 조회/작성 가능하도록 변경하자는 의견이 있었습니다.)
어차피 바라는대로 구현하는 것은 불가능하니까 마음편히.....-_-
(이번 주 일요일에 있는 총회 때 같이 얘기해봐도 좋구요.)
아, 물론 캠프 내에 자체 서버를 만들겠다거나
XE를 떡 주무르듯이 다룰 수 있는 무림 고수님들이 계신다면... 대환영입니다.
자, 그럼 가열찬 답글/댓글 부탁드리겠습니다!
조금 부끄러우시면 메일(kuchucamp.staff@gmail.com)로도 요로시꾸!
- /xe/modules/board/skins/xe_official_planner123/function/class.planner123_holiday_user.php
## - 2015.01.21 : 공중캠프 기념일 추가 - 1월일 경우, 연도($sYear+1) by go-mama
- /www/xe/modules/board/skins/xe_official_planner123/_style.planner_simple.html, _style.planner.html
## @for($j=$todayYY+10; $j>=$todayYY-5; $j--) go-mama 2015.01.21
<!--@for($j=$todayYY+10; $j>=1966; $j--)-->
(~/www/xe/files/config/db.confing.php에서 mysql -> mysqli 수정)
-----------
1) 최근, ㅋㅍ 홈페이지에 글을 올릴 때, 아래 쪽 버튼이 미묘하게 깨지는 현상 발생
2) 미루고 미루던 XE core 업그레이드를 해볼까... 마음만 먹음;
3) 혹시나 하고 [쉬운 설치]를 눌러 봄. 당연히 안됨; (지금까지 제대로 된 적 없음;)
4) SVN으로 export 안됨;; (XE manual에 있는 source url이 404 -_-)
5) SFTP로 업로드 - PHP 버전이 낮아 최신 core 버전 설치가 안됨;;;
6) 전날 데이터로 백업과 복구를 반복;;;;
7) 엣다 모르겄다 PHP 7.0 업그레이드 - PHP 7.0에서는 mysql이 아니라 mariaDB가 설치된다고...;;;;;;
8) 호스팅 업체(ㅋㅍ24)의 서버가 PHP 버전에 dependency가 있어 서버가 초기화 되고 DB/Data 모두 삭제됨;;;;;;
9) IP도 변경되어 SSH, SFTP 접속 불가;;;;;;;
10) 도메인 등록 사이에서 네임서버 변경하고, mysql DB -> MariaDB import하고, 백업 DATA 파일 restore한 후에 XE core 1.8.41 업로드
11) 두둥 500 error -_-;;;;;;;;;;
(cafe24) Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /home/hosting_users/kuchucamp/www/xe/classes/db/DBMysql.class.php:76 Stack trace: #0 /home/hosting_users/kuchucamp/www/xe/classes/db/DB.class.php(1288): DBMysql->__connect(Array) #1 /home/hosting_users/kuchucamp/www/xe/classes/db/DBMysql.class.php(49): DB->_connect() #2 /home/hosting_users/kuchucamp/www/xe/classes/db/DBMysql.class.php(58): DBMysql->DBMysql() #3 /home/hosting_users/kuchucamp/www/xe/classes/db/DB.class.php(168): DBMysql::create() #4 /home/hosting_users/kuchucamp/www/xe/config/func.inc.php(205): DB::getInstance() #5 /home/hosting_users/kuchucamp/www/xe/modules/module/module.model.php(162): executeQuery('module.getSiteI...', Object(stdClass)) #6 /home/hosting_users/kuchucamp/www/xe/classes/context/Context.class.php(261): moduleModel->getDefaultMid() #7 /home/hosting_users/kuchucamp/www/xe/index.php(46): Context->init() #8 {main} thrown in /home/hosting_users/kuchucamp/www/xe/classes/db/DBMysql.class.php on line 76
12) 다시 PHP 버전을 다운그레이드하고, 백업 파일을 복구해야 하나... 잠시 멘붕이었다가 우연히 해결책을 발견!
~/www/xe/files/config/db.confing.php에서 mysql -> mysqli로 수정 (단지 'i' 하나 추가하면 될 일을 초가삼간 태울 뻔;;;;)
13) 하지만, 버튼이 깨지는 현상은 여전... sigh;;;;;;;;;;;
14) php7에서는 cgi가 지원되지 않아서, 오에카키 게시판이 정상적으로 실행되지 않고 있습니다.
아이고 허리야....ㅠㅜ
: "페이지 로딩이 잠시 지연되었습니다."
(cafe24) PHP Fatal error: Uncaught Error: Call to undefined method planner123_main::fn_lun2sol() in /home/hosting_users/kuchucamp/www/xe/modules/board/skins/xe_official_planner123/function/class.planner123_holiday_user.php:104
1) getDocumentsForPlanner_*.xml 에서 아래 라인 모두 삭제
<groups>
<group column="documents.document_srl" />
</groups>
2) (root cause) class.planner123_holiday_user.php에서 fn_lun2sol() -> fn_lun2sol_kr()로 변경됨(주석으로 막거나 파일 삭제, fn name을 변경하면 음력 계산 오류)
3) admin 페이지의 [스킨관리 - 휴일/기념일 적용 국가]에서 "kor"를 선택
4) class.planner123_holiday_kor.php에서 fishmans, 공중캠프 기념일 추가
* 캘린더 제목 표시, 가운데 정렬 -> 왼쪽 정렬로 수정
- planner123_calendar_white.css 파일 50번 라인의 text-align:center;를 text-align:left; 로 변경
* 연도 선택 수정 (5년전부터 -> 1966년(사토 신지 생일)부터 표시)
_header_planner.html 파일 21번 라인을 아래와 같이 수정
기존: <!--@for($j=$todayYY+10; $j>=$todayYY-5; $j--)-->
수정: <!--@for($j=$todayYY+10; $j>=1966; $j--)-->
http://planner123.raonnet.com/xe/QnA/165779
PlannerXE123(ver.5.5.1) 게시물 제목 color 설정 오류 해결
-> /kuchucamp/www/xe/modules/board/skins/xe_official_planner123/js/plannerXE123_skin.js 수정
611 //
612 // 2018.11.20 YBGO
613 //
614 // if (!isBright) {
615 // var txtColor = $(this).css("color");
616 // if (txtColor == "rgb(0, 0, 0)") {
617 // $(this).css("color", "#FFFFFF");//white
618 // }
619 // }
620 var bg_rgb = $(this).css("background-color").match(/\d+/g);
621 var txtColor = $(this).css("color");
622 if (!bg_rgb[3]) {
623 if (!isBright) {
624 if (txtColor == "rgb(0, 0, 0)") {
625 $(this).css("color", "#FFFFFF");//white
626 }
627 } else {
628 if (txtColor == "rgb(255, 255, 255)") {
629 $(this).css("color", "#000000");//black
630 }
631 }
632 }
Date.daysDiff = (date1, date2) => {
if (!(date1 instanceof Date) || !(date2 instanceof Date)) return '';
const d1 = date1.getTime();
const d2 = date2.getTime();
let diff = d2 - d1;
const seconds = Math.floor((diff = diff / 1000) % 60);
const minutes = Math.floor((diff = diff / 60) % 60);
const hours = Math.floor((diff = diff / 60) % 24);
const days = Math.floor(diff / 24);
return `D + ${days}`;
}
var from = new Date(2000, 0, 12);
var to = new Date();
document.write(Date.daysDiff(from, to));
: member signup module, layout.html, button_Login.gif, page_camper, board_camper 등 수정
* [주의] 사이트맵 메뉴 수정/삭제 시, 지정된 module_srl이 같이 수정/삭제됨(게시판/페이지를 변경할 경우, DB/게시글을 따로 복사해 두어야 함). -> (기존에 존재하던 같은 이름의 페이지를 삭제하고) page_camper (페이지를 새로 만들고 그) 밑으로 (기존에 존재하던) board_camper를 이동해서 해결
* profile image : /xe/files/member_extra_info/profile_image/
- "권한이 없습니다." 팝업 수정 : xe/common/lang/lang.xml, ko.lang.php. en.lang.php, jp.lang.php 수정
"권한이 없습니다. 홈페이지 상단의 [LOGIN/REGISTER] 버튼을 이용해 [캠퍼 신청/로그인]을 해주시기 바랍니다."
"You do not have permission to access. Please sign up/login for a camper with the [LOGIN / REGISTER] button at the top of the homepage."
"権限がありません。ホームページの上段の[LOGIN/REGISTER]ボタンを利用して、[キャンパー申請/ログイン]してください。"
- 캠퍼 신청 양식 중 "회원가입" 문구 수정 : xe/modules/member/lang/lang.xml 수정
- 캠퍼 신청 양식 중 "메일링가입" 디폴트 수정 : modules/member/skins/default/signup_form.html 수정
(as-was)
<label for="mailingYes"><input type="radio" name="allow_mailing" id="mailingYes" value="Y" checked="checked"|cond="$member_info->allow_mailing == 'Y'" /> {$lang->cmd_yes}</label>
<label for="mailingNo"><input type="radio" name="allow_mailing" id="mailingNo" value="N" checked="checked"|cond="$member_info->allow_mailing != 'Y'" /> {$lang->cmd_no}</label>
(as-is)
<label for="mailingYes"><input type="radio" name="allow_mailing" id="mailingYes" value="Y" checked="checked"|cond="$member_info->allow_mailing != 'N'" /> {$lang->cmd_yes}</label>
<label for="mailingNo"><input type="radio" name="allow_mailing" id="mailingNo" value="N" checked="checked"|cond="$member_info->allow_mailing == 'N'" /> {$lang->cmd_no}</label>
https://rhymix.org/manual/introduction/xe-upgrade
-> XE(데이터) 복구
1. PHP7.4 업데이트 후 오류
1) index
Fatal error: Uncaught Error: Class 'Object' not found in /kuchucamp/www/xe/widgets/contentextended/contentextended.class.php:1093 Stack trace: #0 /kuchucamp/www/xe/modules/widget/widget.controller.php(680): require_once() #1 /kuchucamp/www/xe/modules/widget/widget.controller.php(369): widgetController->getWidgetObject('contentextended') #2 /kuchucamp/www/xe/modules/widget/widget.controller.php(468): widgetController->getCache('contentextended', Object(Xml_Node_)) #3 /kuchucamp/www/xe/modules/widget/widget.controller.php(291): widgetController->execute('contentextended', Object(Xml_Node_), false) #4 [internal function]: widgetController->transWidget(Array) #5 /kuchucamp/www/xe/modules/widget/widget.controller.php(269): preg_replace_callback('!]*)wi...', Array, '
2) admin
Fatal error: Uncaught Error: Class 'Object' not found in /kuchucamp/www/xe/modules/bodex/bodex.item.php:6 Stack trace: #0 /kuchucamp/www/xe/modules/bodex/bodex.class.php(6): require_once() #1 /kuchucamp/www/xe/config/config.inc.php(475): require('/kuchucamp/www/...') #2 [internal function]: __xe_autoload('bodex') #3 [internal function]: spl_autoload_call('bodex') #4 /kuchucamp/www/xe/classes/module/ModuleHandler.class.php(1211): class_exists('bodex', true) #5 /kuchucamp/www/xe/config/func.inc.php(81): ModuleHandler::getModuleInstance('bodex', 'class', 'svc') #6 /kuchucamp/www/xe/modules/module/module.model.php(1632): getModule('bodex', 'class') #7 /kuchucamp/www/xe/modules/admin/admin.admin.view.php(316): moduleModel->getModuleList() #8 /kuchucamp/www/xe/classes/module/ModuleObject.class.php(443): adminAdminView->dispAdminIndex() #9 /kuchucamp/www/xe/classes/module/ModuleHandler.class.php(863): ModuleObject->proc() #10 /kuchucamp/www/xe/index.php(59): ModuleHandler->procModule() #11 {main} thrown in /kuchucamp/www/xe/modules/bodex/bodex.item.php on line 6
->
modules/bodex/bodex.item.php
modules/nspam/libs/RequestSpamApi.class.php
modules/nspam/nspam.class.php
widgets/contentextended/contentextended.class.php
: Object -> BaseObject로 변경
2. 글/댓글 작성 오류
3. phpmyadmin 오류 메시지
Deprecation Notice in ./libraries/classes/DatabaseInterface.php#615...
-> php 7.0 다운그레이드 후 작성 가능 & phpmyadmin 오류 메시지 없음
일부 스마트폰에서 글쓰기가 안되는 것은 (플래쉬 기능을 사용하는) xe의 한계인 것 같습니다. 대신 스마트폰 글쓰기를 가능하게 하기 위해 에디터를 바꾸면 화일첨부 기능 등을 사용할 수가 없네요. 흐음... 일단, 가능한 한 쓸 수 있게 수정했습니다.