간단한 원인 : 엉뚱한 곳에서 빈 줄이 출력되었다.

원인 : 
  • 엉뚱한 곳에서 (보통 xe/files/config/config.user.inc.php 에서 실수함) 빈 줄이 추가됨
  • 실제로 날라오는 XML자료의 첫 번째 줄에 <response>가 나타나지 않고 빈 줄이 추가됨
  • xml을 처리한 javascript상에서 xml이 아닌 일반 메시지로 판단 
    (정규식에 의해 첫 번째에 <response>가 나타나면 xml로 파싱해서 처리하고 그렇지 않으면 일반 메시지로 판단
    앞에 새 줄(\n)이 있으므로 /^<response>/에 해당하지 않으므로 일반 메시지로 판단됨)
  • 해당 경고 메시지가 뜬다
추가 : 이런 경우는 보통 __OB_GZHANDLER_ENABLE__ 을 활성화 하면 에러남
  • 메시지 내용은 header상에서는 압축되었다고 했으나, 정작 메시지 내용은 압축된 자료 앞에 \n이 추가되어됨
  • 브라우저상에서 정상적인 압축 자료로 인식하지 못하고 지원하지 않는 인코딩이라는 창이 뜸

해결 방법 : 엉뚱한 빈 줄을 찾아야 된다. (output buffering 기능을 끄면 header전에 출력되는곳을 알 수 있으나 정작 어디서 꺼야될지는 정확하게 모르겠다.) 일단 xe/files/config/config.user.inc.php에 빈 줄이 있는 지 (특히 <? 앞이나 ?> 뒤에 확인할 것) 확인한다.


Posted by Parker Falcon

댓글을 달아주세요

사용자 삽입 이미지

아직은 개발중입니다.

몇 가지 재미난 점이 있다면, 앞의 Bullet의 색상을 6자리 Hex값으로 입력하면 출력 가능 하다는 것과,
Bullet 이미지를 PHP로 만들어서 뿌리는게 아니라는점 입니다.

기본적인 일정 제목, 시작/종료 날짜/시간 입력 기능으로 돌아갑니다.

어제 저 색을 만들기 위해서 얼마나 노력했던지...
Posted by Parker Falcon

댓글을 달아주세요

  1. 조현우
    2009.01.16 15:22
    댓글 주소 수정/삭제 댓글
    멋지네요. 기대가 됩니다. ^^

제로보드 XE 에서는 권한이 없는 행동을 할 경우,

정말 말 그대로 '권한이 없습니다' 라는 메시지를 띄웁니다.

물론 논리적인 문제가 있는 메시지는 아니지만,

사람들에게 너무 딱딱하고, 또한 권한에 따라서 메시지를 다르게 하고 싶은 경우가 있습니다.

이런 경우 이렇게 해보세요.


Posted by Parker Falcon

댓글을 달아주세요

  1. 조현우
    2009.01.16 15:20
    댓글 주소 수정/삭제 댓글
    안녕하세요. 좋은팁감사합니다. 그동안 이팁을 잘사용하다가, 이번에 XE 1.1.4로 업데이트하고 이 팁을 적용하니까, 아래와 같은 에러가 뜨네요. 어떻게 하면 좋을까요?

    감사합니다.

    에러의 몇줄을 적으면,
    Warning: in_array() [function.in-array]: Wrong datatype for second argument in /home1/xxxxxx/public_html/modules/board/board.view.php on line 175

    Warning: in_array() [function.in-array]: Wrong datatype for second argument in /home1/xxxxxxx/public_html/modules/board/board.view.php on line 177

    Warning: in_array() [function.in-array]: Wrong datatype for second argument in /home1/xxxxxxx/public_html/modules/board/board.view.php on line 179

    Warning: Cannot modify header information - headers already sent by (output started at /home1/xxxxxxx/public_html/modules/board/board.view.php:175) in /home1/xxxxxx/public_html/classes/display/DisplayHandler.class.php on line 291

    이런식으로 에러가 나면서 권한 메세지 팝업이 뜨네요.
    • 2009.01.17 14:13 신고
      댓글 주소 수정/삭제
      답변을 드리고 싶지만, 해당하는 175, 177, 179 줄이 어디인지 모르겠습니다. 해당 부근의 소스를 알려주시면 답변에 도움이 되겠습니다 :)
  2. 조현우
    2009.01.17 14:21
    댓글 주소 수정/삭제 댓글
    앗, 죄송합니다. 아래와 같습니다.

    if(!$this->grant->view && !$oDocument->isGranted()) {
    $oDocument = null;
    $oDocument = $oDocumentModel->getDocument(0);
    Context::set('document_srl','',true);

    line: 175 if (in_array('3',$grants['view'])) //그룹3에게 보기 권한이 있을 때
    $this->alertMessage('msg_not_permitted_member3');
    elseif (in_array('2',$grants['view'])) //그룹2에게 보기 권한이 있을 때
    $this->alertMessage('msg_not_permitted_member2');
    elseif (in_array('1',$grants['view'])) // 그룹1에게 보기 권한이 있을 때
    $this->alertMessage('msg_not_permitted_member1');
    else
    $this->alertMessage('msg_not_permitted');

    } else {
    // 브라우저 타이틀에 글의 제목을 추가
    Context::addBrowserTitle($oDocument->getTitleText());
    • 2009.01.17 15:16 신고
      댓글 주소 수정/삭제
      ModuelObject 파일에

      // 권한값을알기위한설정
      Context::set('grants', $this->module_info->grants);

      이 부분이 있는지,

      board.view.php 파일에 입력하신 부분의 해당 함수 앞부분에

      $grants = Context::get('grants');

      이 부분이 있는지
      확인해주세요 :)
  3. 조현우
    2009.01.17 15:34
    댓글 주소 수정/삭제 댓글
    다있네요. ^^
    제로보드홈에 남기신 팁대로 파일들을 수정했습니다.
    음... 제가 몰 잘못 건드렸을까요..

게시물보다 댓글이 더 위험한건 아닌가 걱정됩니다...
Posted by Parker Falcon

댓글을 달아주세요

다른 사람의 글을 마구 본다면 곤란한데 말입니다.

'Digital Life' 카테고리의 다른 글

신촌 탐앤탐스 단점  (2) 2008.10.22
많이 늘었구나..  (0) 2008.10.07
제로보드XE 도 보안상에 문제가..  (1) 2008.08.18
3년 전 자료를 찾았습니다.  (0) 2008.08.17
전자기기는 재부팅이 필수!  (0) 2008.08.09
인코딩은 어렵네  (0) 2008.08.01
Posted by Parker Falcon

댓글을 달아주세요

  1. 민수
    2008.08.19 23:35
    댓글 주소 수정/삭제 댓글
    티스토리통해서(검색하다가) 들어왔는데 말이죠;;
    보안 문제는 제로님께 메일이나 쪽지로 보내면 빠른 패치를 하시던걸로 기억합니다;;
    -XE사용자로서 왠지모를 찜찜함;;

이제 곧 2부 모임을 위해서 한승엽님께서 준비중이십니다. - 15:26

여기 저기서 MacBook의 부팅 소리가 나네요 ^^;

MBP도 보이네요.

이제 시작합니다.

제로보드에 구성에 대해서 발표를 하십니다.

zb4와의 비교

기능을 분할했다는 차이
interface로 db에 접근
그러므로 유연해졌다.

새로 생긴 기능?

module, widget, addon, query XML, trigger, template??

설명하고 계십니다.
Posted by Parker Falcon

댓글을 달아주세요

  1. 2008.07.26 16:21
    댓글 주소 수정/삭제 댓글
    라이브 블로깅이시군요. 하핫

이제 막 모임을 시작했습니다.

고영수님께서 발표하시네요 :)

Zeroboard의 역사(?)에 대해서 이야기하고 계십니다 - 14:28:50

괜찮은 스킨들이 올해 하반기쯤 나올것으로 추측? - 14:38

블로그 기능도 추가될거랍니다. - 14:41

몇 가지 이야기 더 해주시고 발표 마치셨습니다. - 14:49

상품이 있으니까 질문을 바로 해주시네요 ^^ - 14:50
- 블로그 상태에서 검색이 잘 안된다.
- 리스팅에 문제가 있다(?)
라는 질문을 해주셨습니다.
그리고 NaverCam을 받으셨네요.
20개나 준비되었다고 하십니다.

답변 - 블로그는 제작에 잘 못했다.
이제 열심히 버닝하겠다. 의견을 통해서 참여해주면 좋겠다.

백성찬님 질문 -
1. mobileXE에서 읽기만 되고 쓰기는 안된다.
답글도 못단다. 언제쯤 지원할 예정인가?

2. 예전부터 기대하는 쇼핑몰 모듈은 어떻게 되는가?

제로님 답변 -
일단 선물 드리고 +_+

모바일 같은경우는 기대를 많이하셨는데,
처음애 모바일에 대한 지식을 얻었을 때 WAP밖에 없었는데,
아직은 시험버전이고, 사이트를 실질적으로 활용하기보다는, 잘 돌아가는가에 대해서
알아보기 위해서 개발한 것이다.
아직 지식이 부족하고, 찾아서 개발하면 되기는 하는데 전문 분야는 아니므로 오래 걸릴 예정이다.
누군가가 선듯 나와서 도와주시면 좋겠다.
일본에서 핸드폰으로 보는데 댓글도 볼 수 없어서 답답했다.
누군가가 같이 개발해주시는게 어떤가?
그리고 요즘에는 풀 브라우징이 대세로 올라오면서 방법이 바뀔지도 모르겠다(?)
나도 full browsing mobile device가 없는데, 누군가가 같이 해주면 빨리 될 것 같다.

쇼핑몰은 아직 할 여력이 안된다.
쇼핑몰 자체는 큰 문제가 아니지만, 결제시스템이 고민이다.
올해안에는 만들어야 된다 ㅠㅠ

질문 - 예전에 오픈소스(?)처럼 개발한 쇼핑몰들이 다른 회사에서 가져가버려서 문제가 생겼다.
어떻게 해결하는가?

답변 - zb4같은경우 재배포를 금지했다. 이유는 코드를 변경해서 문제가 생길수 있으니까.
그 회사가 라이센스를 지키지 않은것(그런가??)이다.
대안은 소스를 공개하지 않는것. 문제는 발전은 없다.
오픈소스를 사용하면, 권리를 나누어서 사용하는 경우인데,

브렌치도 환영한다. 외국에는 그런경우가 많다.

원하지 않는 다른 곳에서 사용하는 부분에 대해서 아직은 제제애 대해서는 없다(?)

(몇 가지 놓쳤네요;;)

토깽이님 질문 -
업데이트 할 때 버전을 건너띄면 제대로 작동하지 않는다.

제로님 답변 -
소스코드 / 디비가 있는데
소스코드를 올릴 때 누락되는경우가 있고
디비가 변하지 않아서 문제가 있다.

tools기능을 이용하면 source문제는 할 수 있고,
모듈들의 업데이트 기능이 있는데,
이런 기능들이 자동적으로 되어야 되다고 생각한다.
버전이 달라지면 다시 확인하는 기능을 추가한다.

업데이트 할 때 사이트를 잠시 멈추게 하는 것에 대한 이야기도 있음.

제일 좋은건 subversion을 사용하는것.

가가멜님(?) -

검색은 나중에 마케터와 광고를 차단하는것만 해결하는게 더욱 좋아질것이다.
zbxe는 호환성이 좋은편이다.
특히 게시판 검색같은 경우에 full-text로 하면 더욱 빨리진다거나
하는 성능 향상으로 올라갈수 있는 부분들이 core에 들어갈 수 있다.
이 부분에 대해서는 어떻게 생각하는가?

답변 -
일단 검색은 abusing이다. 전문회사도 있다. nhn같은경우는 ?
관심이 많고 잘 쓰고 싶은데, abusing은 검색회사에서 할 일이라고 본다. zbxe차원에서 차단할 문제는 아니라고 본다.
그 contents를 걸러내는것은 회사의 몫이다.
(질문의 의도는 liveXE에 관한 이야기라고 생각하는데요...;;)

호환성을 보장하려고 하는데,
예를 들어서 mysql에서 더 효율적으로 할 수 있는데, 아직 core에는 없다.
각 db에 특화된 부분을 당장에 사용할수는 없을것 같다.
아직 능력이 부족해서 적용하기는 어렵지 않을까.

1부 종류 후 휴식시간입니다 :)
Posted by Parker Falcon

댓글을 달아주세요

./modules/rss/tpl 에 rss20.html 을 아래와 같이 바꿉니다.
(1.0.4 기준)

다만 작동 여부는 장담 못해요.

{'<?xml version="1.0" encoding="utf-8"  standalone="yes"?>'}

<rss version="2.0" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:media="http://search.yahoo.com/mrss" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title><![CDATA[{$info->title}]]></title>
<link><![CDATA[{$info->link}]]></link>
<description><![CDATA[{$info->description}]]></description>
<language>{$info->language}</language>
<pubDate>{$info->date}</pubDate>
<totalCount>{$info->total_count}</totalCount>
<!--@foreach($document_list as $oDocument)-->
<!--@foreach($oDocument->getUploadedFiles() as $key => $UploadedFiles)-->
<item>
<title><![CDATA[{$oDocument->getTitleText()}]]></title>
<author><![CDATA[{$oDocument->getNickName()}]]></author>
<link><![CDATA[{$oDocument->getPermanentUrl()}]]></link>
<!--@if($oDocument->thumbnailExists())-->
<media:thumbnail url="{$UploadedFiles->download_url}"/>
<media:content url="{$UploadedFiles->download_url}"/>
<!--@end-->
<!--@if($mid_list[$oDocument->get('module_srl')]->open_rss=='Y')-->
<description><![CDATA[{$oDocument->getContent(false,false,true)}]]></description>
<!--@else-->
<description><![CDATA[{$oDocument->getContentText(100)}]]></description>
<!--@end-->
<pubDate>{$oDocument->getRegdateGM()}</pubDate>
<!--@foreach($oDocument->get('tag_list') as $tag)-->
<category><![CDATA[{$tag}]]></category>
<!--@end-->
</item>
<!--@end-->
<!--@end-->
</channel>
</rss>

'Digital Life' 카테고리의 다른 글

전자기기는 재부팅이 필수!  (0) 2008.08.09
인코딩은 어렵네  (0) 2008.08.01
zbXE에서 Piclens 사용하기  (3) 2008.07.04
워크래프트 1.22 패치 오류  (0) 2008.07.02
많아도 18만건..  (0) 2008.05.20
17년 후 - 지식체널e 에서 사라진 부분.  (0) 2008.05.16
Posted by Parker Falcon

댓글을 달아주세요

  1. jungjinwoo
    2008.08.08 19:00
    댓글 주소 수정/삭제 댓글
    <media:thumbnail url="{$UploadedFiles->download_url}"/>
    <media:content url="{$UploadedFiles->download_url}"/>

    이부분에 좀 질문이 있어서 문의 드립니다.

    미디어 썸네일 부분에 있는 url 을 그대로 사용하면 원본 파일을 읽어오는거잖아요.
    그래서 썸네일 생성하는 애드온이 있어서 그걸 사용하니 "파일명._thumbnail_300_ratio.jpg" 라는
    파일이 생성되는데요 그래서 썸네일 부분에 원본파일 대신 생성된 썸네일 파일명을 사용할려면
    어떻게 코드를 입력해야 하는지 좀 가르쳐 주세요.
    • 2008.08.09 21:22 신고
      댓글 주소 수정/삭제
      앗 thumbnail을 생성하는 addon 프로그램도 있나요? 저는 찾지 못했네요 ^^;
      아무튼 document 객체가 가지고 있는 thumbnail파일을 사용하시려면
      <media:thumbnail url="{$oDocument->getThumbnail($widget_info->thumbnail_width,$widget_info->thumbnail_height,'ratio')}"/>
      로 바꾸시면 됩니다.

      다만 한 문서에 여러개의 그림 파일이 있을 경우는 '잔머리'를 써야됩니다 ㅠㅠ
  2. Jungjinwoo
    2008.08.10 21:16
    댓글 주소 수정/삭제 댓글
    ^^ 되네요.

    근데 문제는 '잔머리'를 써야 하는 부분이라서요 문서하나에 그림 하나가 아니라. ㅎㅎ
    대표 썸네일 하나로 도배되네요. 저는 html도 몰라서.
    파일명 뒤에 "_thumbnail_300_ratio.jpg" 이라는 말만 어떻게 붙이면 될줄 알았는게 그게 아니군요 ㅎㅎ

    어쨋든 답변드려서 감사합니다.

    혹시 해결되면 답변좀 부탁 드릴께요 ^^

또 골치 아픈 일 중 하나는 최근 게시물 보기 기능이 제대로 작동 하지 않았었습니다.

분명 해당 게시판 모듈에서 최근 게시물을 5개를 뽑아서 출력 해야되는데

어떻게 하더라도 1개만 출력하고 더이상 진행하지 않았습니다.

도무지 알 수 없어서 제로보드를 XE로 업그레이드 하면서 해결하려고 하였습니다.

하지만 오기가 생겨서 결국 해결하자는 마음으로 또 시작하였습니다.

문제의 원인은 바로 php의 버전이 4이었기 때문이었습니다.

아마 php 5에서는 새로운 객체를 clone이라는 함수를 이용해서 복제 하는것 같았습니다만,

php4에서 해당 부분이 일부 적용이 안되었습니다.

(zb.inc.php인가 에 clone이라는 함수가 직접 구현되어 있었습니다.)

최근 목록을 query한 다음 첫번째 자료(게시물)에 해당하는 그림자료가 있다면

해당 그림을 보여주기 위해서 그림의 URI를 query해오는 구조였습니다.

하지만 URI를 query하기 위해서 db connector 객체를 새로 사용하여야 되는데

이 부분에 clone기능이 적용 되지 않아서 (단순히 대입연산자로 처리되어있었습니다.)

게시물 query의 결과를 fetch하는데 첫번째 것만 받고 난 이후에

URI를 query하고 더이상 foreach할 값이 없어서 하나만 출력했던 것 입니다.

결국 기쁜 마음으로 해결하였습니다.

아직까지는 migration을 하지 않았군요.

'Digital Life' 카테고리의 다른 글

17년 후 - 지식체널e 에서 사라진 부분.  (0) 2008.05.16
싸이월드 업그레이드 도중  (0) 2008.05.13
zb5 이전작업 기록 #2  (0) 2008.05.06
zb5 이전작업 기록 #1  (0) 2008.05.06
5만 조금 덜 되게..  (0) 2008.05.04
11만건의 개인정보...  (0) 2008.05.01
Posted by Parker Falcon

댓글을 달아주세요