XE 플래너 호출 인자 오류

최근 XE를 사용할 일이 있어서 설정 중에 플래너 게시판 묘듈을 사용하다가 ics 출력 버튼에서 다음과 같은 오류를 만나게 되었다.

Fatal error: Uncaught ArgumentCountError: Too few arguments to function planner123_main::fn_xeTimetoUTC(), 0 passed in /var/www/html ‧‧‧‧‧‧

함수 호출할 때 인자가 비어있기에 생기는 오류인데, 함수에 보니까 비어있을 때 처리 구문이 있는데, 그 구문을 만나기도 전에 오류가 나버렸다.

그래서 함수 내에 있는 date('YmdHis')을 가져다가 오류난 함수 호출 부분에 인자로 넣어버렸다.

‧‧‧/modules/board/skins/xe_official_planner123/function/class.planner123_main.php on line 2113

함수가 2113번 줄에 선언되어 있지만, 인자가 없는 채로 호출된 곳은 2264번 줄이어서 거기 있는 인자에 date('YmdHis')를 추가해서 다음과 같이 수정해 주었다.

원래 코드:
$today_DT = planner123_main::fn_xeTimetoUTC();

수정된 코드:
$today_DT = planner123_main::fn_xeTimetoUTC(date('YmdHis'));

출력은 잘 되는데, 사실 출력할 필요는 없다는 게 함정.

Parse error: syntax error, unexpected end of file in

무들 최신 버전(3.7.2) 알림 메일을 받고, 설치를 하려고 보니 PHP 7.1 이상에서 돌아간다고 알림이 되어 있어서 7.0이던 것을 7.3으로 올렸다.

같은 사이트에서 워드프레스도 문제 없었고, 무들도 문제가 없었다.

별도로 구축하고 있는 학습 페이지가 실행이 되지 않는 문제가 발생하였다. 워드프레스와 무들이 이상없이 돌아가서 7.0을 지운 뒤라서 좀 난감했지만 다행스럽게도 작업 직전에 스냅샷을 만들어두었기에 복구에는 큰 어려움이 없었다.

하지만 학습페이지가 안 되는 것은 문제가 컸다. 비공개이기는 하지만 대학교 교양과목 학습 페이지이기에 200명 가까이 되는 학생들이 이용하고 있었기 때문이다. 방학 중이었다면 복구에 큰 부담이 없었겠지만 이미 학기가 시작되어 학습페이지를 통해 학생들이 예습을 하고 복습을 하고 있었기에 부담이 밀려왔다.

일단 해당 학습 페이지에서 뱉어낸 오류 메시지는 Parse error: syntax error, unexpected end of file in ···on line 160였다. 나와 같은 실수를 한 사람이 있….었다.

하지만 코드를 보며 곰곰히 생각해보니 예상되는 부분이 있었다. 워드프레스 사용자 로그인 시스템을 이용해 학습 페이지 접근을 제어하는데, 로그인한 사용자 중 특정 등급의 사용자가 맞는지 검사하는 function을 if문에 넣어 중간에 페이지의 내용(Body 태그 안의 모든 내용)을 감싸도록 해 두었던 부분이 의심이 되었다.

<?php if(user_access_auth()) { ?>
Body Contents
<?php } ?>

역시나 다음과 같이 바꾸니 이상 없이 실행되었다.

<?php if(user_access_auth()) {
echo<<<LOL
Body Contents
LOL;
} ?>

이렇게 황당할 때가 없다. 하지만 7.0에서는 이상 없이 돌아가다가 7.3에서는 오류가 발생했다고 보고하는 것이 이해가 가지 않았다. 이렇게 해결하려고 했는데, 창을 닫다가 위의 링크 아래 부분에 무슨 얘기들이 더 오가는지 궁금해서 보다가 short_open_code를 바꾸라는 답변을 보고 나서야 php7.0 환경설정 파일에서 바꿔서 사용했다는 것을 기억해 냈다. php7.3 환경 설정 파일에서 Off로 되어 있는 것을 On으로 바꾸니 이상 없이 되었다.

이 무슨 삽질인지.

DISQUS 댓글창을 달았어요

글 바로 밑에 DISQUS를 달았네요.

한 페이지에 여러 글을 보게 해 놓으니 첫 번째 댓글 창에만 로딩 개체가 보여서, 일단 한 페이지에 글 하나만 보이도록 해 두었어요.

텍스트큐브(닷컴) 블로그에 DISQUS 달기 ― 절대주소 문제 해결!를 보고 해 봤는데, 해결 되지 않아서 일단 해결 될 방법을 찾을 때까지 한 페이지 한 글을 유지할 생각이죠.

그다지 방문자가 많은 블로그가 아닌지라 별 문제는 없을거라 생각되지만 일단 블로거로 통합되거나 그 이후에 워프로 이사를 가거나 했을 때에는 조금 더 편하게 설치 할 수 있으리라는 기대를 한 껏 가져봅니다.

텍스트큐브 댓글창을 그저 남겨두는 것이 좋을까요?

인천문화예술회관입니다.

2007/11/25 – [나의/일상] – 내 글은? 답변은!?

이 글을 올리고는 답변을 기다리고 있었다.
그런데 어제 모르는 번호로부터 전화가 왔다. 일단 모르는 번호의 전화는 받지 않기 때문에 무시했다. 하지만, 번호가 032이어서 혹시나하고 받아보았더니 인천종합문화예술화관의 직원이었다.

대략의 내용은 주말이었기 때문에 삭제 권한을 가진 직원이 게시판에 접근한 적이 없어 고의로 지운 것이 아니라 다른 오류로 인한 것이 아닌가 서버 담당자에게 문의해 두었다는 것이다.

금연 건물이기 때문에 항상 있는 직원들은 흡연 사실이 없지만, 공연팀에서 그런 듯하다고 했다.

자세한 답변 내용은 직접 방문해서 확인하길 바란다.

황당! cansmile의 미투데이 – 2007년 6월 25일

이 글은 cansmile님의 미투데이 2007년 6월 25일 내용입니다.

이 날 미투에 들어가서 지인의 미투에 들어가서 댓글을 남기려고 하는데, 달리지 않고 등록할 수 없다는 오류 메시지만 계속 나왔다. 그래서 그런 상황을 미투에 남기려는데 마찬가지 현상이 일어나는 것이었다.

그런데 화면을 다시 읽어내자 위와 같은 상황이 연출된 것이었다. 같은 글내용과 태그 내용이 2번 더 등록된 것이다. 입력해서 실패했다고 메시지는 나오지만 입력되어버린 것이다.

참… 황당했다.