묻고답하기
Parse error: syntax error, unexpected '}' .... 문제
2011.12.16 14:27
이틀 전에 1.5로 업그레이드를 했습니다.
약간씩의 문제가 있는 것은 나름대로 해결했는데, 마지막 하나가 해결할 방법을 모르겠습니다.
Parse error: syntax error, unexpected '}' in /www/truespedu_org/classes/template/TemplateHandler.class.php(280) : eval()'d code on line 5
라는 메세지가 뜨는데요, XE홈의 여러곳을 검색해 보니, 비슷한 경우가 있었습니다. 하지만 이것들의 해법은 제게 맞지 않습니다.
예전에 "소마세월"님이 배포하셨던 졸졸이 스토커(alway_stalker)라는 위젯을 넣으면 문제가 발생합니다.
혹시 제가 사용하는 레이아웃에도 문제가 있을 것 같아서 새 페이지를 만들고 공식 배포된 1.5의 레이아웃을 덮은 후 테스트 해 봐도 똑같은 메세지가 뜨더군요. 나름대로 해당 위젯의 alway_stalker.class.php 파일을 출력해서 하나하나 봐도 .... 뭔지 모르겠습니다.^^
해당 alway_stalker.class.php 파일
<?php
/**
* @class alway_stalker
* @author 소마세월 (withgoodman@naver.com)
* @brief 졸졸 따라다녀요
* @version 0.1
**/
class alway_stalker extends WidgetHandler {
/**
* @brief 위젯의 실행 부분
*
* ./widgets/위젯/conf/info.xml 에 선언한 extra_vars를 args로 받는다
* 결과를 만든후 print가 아니라 return 해주어야 한다
**/
function proc($args) {
// 레이아웃 형태
$widget_info->addon_position = (int)$args->addon_position;
if(!$widget_info->addon_position) $widget_info->addon_position = 1;
//졸졸이 동작
$widget_info->addon_hold = (int)$args->addon_hold;
// 움직임 기준점
$widget_info->addon_basic = (int)$args->addon_basic;
// 레이아웃 넓이
$widget_info->addon_width = (int)$args->addon_width ;
// 졸졸이 좌측 좌표
$widget_info->addon_left = $args->addon_left;
// 졸졸이 상단좌표
$widget_info->addon_top = (int)$args->addon_top;
// 졸졸이 하단 한계치
$widget_info->addon_bottom = (int)$args->addon_bottom;
// 졸졸이 스크롤시 상단 갭
$widget_info->addon_top_gap = (int)$args->addon_top_gap;
// 졸졸이 스크롤 속도
$widget_info->addon_scroll_speed = (int)$args->addon_scroll_speed;
// 졸졸이 스크롤 인식속도
$widget_info->addon_activate_speed = (int)$args->addon_activate_speed;
// 졸졸이 스크롤 간격
$widget_info->addon_scroll_move = (int)$args->addon_scroll_move;
if($widget_info->addon_scroll_move<1)$widget_info->addon_scroll_move=1;
//졸졸이 갯수 여러개 만들수 있도록 구분할 수 있는 숫자 생성
$time=rand(1,100000);
$widget_info->seq = $time;
//사용자 지정 html
$widget_info->addon_textarea = trim($this->unHtmlSpecialChars($args->addon_textarea));
//만약 아무것도 없으면..
Context::set('widget_info'+ ', $widget_info);
// 템플릿의 스킨 경로를 지정 (skin, colorset에 따른 값을 설정)
$tpl_path = sprintf('%sskins/%s', $this->widget_path, $args->skin);
Context::set('colorset', $args->colorset);
// 템플릿 파일을 지정
$tpl_file = 'stalker';
// 템플릿 컴파일
$oTemplate = &TemplateHandler::getInstance();
$output = $oTemplate->compile($tpl_path, $tpl_file);
return $output;
}
function unHtmlSpecialChars( $string )
{
$string = str_replace ( '&', '&', $string );
$string = str_replace ( ''', '\'', $string );
$string = str_replace ( '"', '\"', $string );
$string = str_replace ( '<', '<', $string );
$string = str_replace ( '>', '>', $string );
return $string;
}
}
?>
전체 파일을 첨부했습니다.
어떻게 수정하면 될까요? 이 alway_stalker.class.php의 문제가 아니면 다른 파일의 문제일까요?
1.5로 변화되면서 무엇이 문제였는지 알고 싶습니다.(문제를 알아도 나중에 기억을 하지 못하지만 메모해 놓고 다른 위젯 등에 문제가 있을 때 스스로 한 번 수정해 보려고 합니다.)
혹시 이런 문제가 있을 때 쉽게 원인을 찾울 수 있는 툴은 없는지요?(이것도 궁금하네요.^^)
댓글 2
-
영구만세
2011.12.16 15:04
-
영구만세
2011.12.16 17:25
백성찬님의 홈(HappyScience)에서 svn으로 받은 최신 코어를 받아서 설치하니 그냥 해결되는군요..헐...
글쓴이 | 제목 | 최종 글 |
---|---|---|
XE | 공지 글 쓰기,삭제 운영방식 변경 공지 [16] | 2019.03.05 by 남기남 |
얼긴이 | 스팸광고문구 제거 방법문의 | |
many | 안녕하세요 도움부탁드립니다 [1] | 2011.12.17 |
Carine | XE설치 왜이러나요 [1] | 2011.12.17 by 에릭리카드 |
준봉쿠 | XE에 음악넣기 [1] | 2011.12.17 by 하늘종 |
국가정보보안 | 카운터 관련 질문입니다. [1] | 2011.12.17 by 카이네드 |
Te0 | XE 1.5.1 홈페이지가 생성이 되지 않습니다. [2] | 2011.12.17 by 비터 |
죽염 | 송동우님~~ㅠㅠㅠㅠㅠㅠ 죄송하지만 문의드립니다! [2] | 2011.12.16 by 송동우 |
카이네드 | 글작성자가 댓글 작성시 배경 다르게 표현 [1] | 2011.12.16 by 송동우 |
Free942 | 스팸서버에서 서버로 접속시도를 너무 많이 하는 것 같습니다 ㅠ_ㅠ | |
사자쭈꾸미 | 자료실이용시 자료등록신청할때... [1] | 2011.12.16 by 사자쭈꾸미 |
정선교175 | 1.5 로그인시 백지화면 | |
몽키매직 | xe 마켓에 레이아웃등록 하려고 하는데요 [1] | 2011.12.16 by 하늘종 |
영구만세 | Parse error: syntax error, unexpected '}' .... 문제 [2] | 2011.12.16 by 영구만세 |
forest535 | 링크가 이상합니다 [1] | 2011.12.16 by 송동우 |
Eveningpr | 텍스타일 로그인이 안되네요.. | |
devil웅이 | 왼쪽 서브메뉴 문의드립니다. | |
액션액션 | 로그인후 개인정보 수정해주기 | |
단기종합 | 댓글작성시 게시물새로고침이 안되게하고싶습니다 [2] | 2011.12.16 by mena |
단기종합 | 댓글작성시 게시물새로고침이 안되게하고싶습니다 [2] | 2011.12.16 by mena |
너부리야 | captcha 화면 페이지 삽입 |
자답)^^
은동님 왈 php의 문제가 아니라 html의 문제라고 하는군요. 좀 더 알아보고 그때도 모르면 한 번 더 질문을 해 보겠습니다.
감사합니다.^^