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

원인 : 
  • 엉뚱한 곳에서 (보통 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

댓글을 달아주세요

한 30분 터미널 보니 나오더군요 엉엉...

원인이 여러가지 있으니 안되는 경우도 있을겁니다.

아무튼 간단한 설명

1.
zbxe/modules/module/query/getDefaultMidInfo.xml에서

#9         <condition operation="equal" column="site_srl" var="site_srl" default="0" notnull="notnull" />

이 줄을 없에시고

2.
도메인/?module=admin 으로 들어가셔서

로그인 후 첫화면(또는 모듈 관리화면)에서

modue 모듈을 설치 / 업데이트 하시고

3.
zbxe/modules/module/query/getDefaultMidInfo.xml에서

#9         <condition operation="equal" column="site_srl" var="site_srl" default="0" notnull="notnull" />

이거 다시 붙여넣으시고

4. 관리자 페이지에서 캐쉬 파일 업데이트 하세요



원인은

1.1.0인가에서에서 가상 사이트 생기면서

모듈에 site_srl 컬럼이 생기지 않았는데 해당 쿼리만 업데이트되어서 제대로 기본 모듈을 못가져오는 문제였습니다.


다른 문제 있으면 블로그로 놀러오세요 ~_~//


추가 : 2009. 04. 10. 13:34 >

http://www.xpressengine.com/index.php?path=%2F&mid=xe_issuetracker&act=dispIssuetrackerViewSource&type=compare&erev=6076&brev=6075


r6076에서 수정되었네요. 감사합니다 :)

Posted by Parker Falcon

댓글을 달아주세요

  1. 2009.04.10 11:02
    댓글 주소 수정/삭제 댓글
    와;; 감사합니다.
    미쳐 생각하지 못한 부분이였네요.
    오늘 긴급패치하겠습니다. ^^
    • 2009.04.10 11:15 신고
      댓글 주소 수정/삭제
      어떻게 보면 정말 간단한 부분인데
      오랫동안 안잡혀서 아쉽네요 ㅠㅠ
      아무튼 기대하겠습니다 +_+

사용자 삽입 이미지

아직은 개발중입니다.

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

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

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

댓글을 달아주세요

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

modules/editor/skins/default 업데이트
modules/editor/tpl/images 업데이트
modules/editor/editor.controller.php 업데이트
modules/editor/editor.model.php 업데이트
modules/file/file.controller.php 업데이트
modules/file/file.admin.view.php 업데이트
modules/file/file.model.php 업데이트
file.model.php 수정
80 //if($module_srl) $file_config = $oModuleModel->getModulePartConfig('file',$module_srl);
Posted by Parker Falcon

댓글을 달아주세요

제로보드 XE 1.0.6 에는 포인트 기능에서 조그마한 문제가 있습니다.

글을 작성할 떄 포인트가 줄어드는 게시판에, 포인트가 부족한 상태에서도 글을 작성할 수 있다는 사실.

좀 귀찮은 문제이어서 바로 수정하였습니다.

modules/board/board.view.php 입니다.

약 263줄 부터입니다.

         /**
         * @brief 글 작성 화면 출력
         **/
        function dispBoardWrite() {
            // 권한 체크
            if(!$this->grant->write_document) return $this->dispBoardMessage('msg_not_permitted');

            // check point
            if(Context::get('is_logged')) {
                $logged_info = Context::get('logged_info');
                $oPointModel = &getModel('point');
                $current_point = $oPointModel->getPoint($logged_info->member_srl);
                $oModuleModel = &getModel('module');
                $point_config = $oModuleModel->getModuleConfig('point');
                $module_srl = Context::get('module_srl');
                $current_module_point = ($point_config->module_point[$module_srl]['insert_document']? $point_config->module_point[$module_srl]['insert_document'] : $point_config->insert_document);
                if ($current_point + $current_module_point < 0) return $this->dispBoardMessage('msg_not_enough_point');
                debugPrint ('cur = '.$current_point.' mod = '.$current_module_point );
            }


            $oDocumentModel = &getModel('document');

아 그리고 $lang->msg_not_enough_point 라는 메시지는 적당히 추가해주면 됩니다.

"포인트가 부족합니다" 정도는 어떨까요?

2009년 1월 8일 추가 :

1.1.1 에서 제대로 작동하지 않아서 http://quota.tistory.com/129 에 업데이트 하였습니다.
Posted by Parker Falcon

댓글을 달아주세요

  1. 뚱^^
    2009.01.08 07:33
    댓글 주소 수정/삭제 댓글
    안녕하세요. 도움을 구하고자 합니다.
    조회시 포인트가 없거나 부족할때도 조회가 되는데 안되게 할 수 있는 방법이 없을까요?
    답변 주신다면 정말 고맙겠습니다.
    • 2009.01.08 11:18 신고
      댓글 주소 수정/삭제
      제가 작성해서 올려놓은 코드는
      dispBoardWrite - 게시물 작성
      할 때 점수를 미리 확인하는 코드입니다.

      해당 코드를 글을 읽는 부분의 함수에 넣어서
      글을 읽기 전에 점수를 확인하게 하시면 됩니다.
      해당 함수는
      function dispBoardContent()
      입니다 :)
  2. 2009.01.09 09:31
    댓글 주소 수정/삭제 댓글
    감사합니다. 한번 해보고 안되면 도움 부탁합니다..*^^*

잠 안와서 몇 시간 밤 새다가 만들었네요 ㅠㅠ

다시는 이런짓 안해야지 ㅠㅠ

설치 방법 - 그냥 풀어서, 덮어씌우시거나 알아서 폴어 옮기시거나... 이전 자료 날라갔다고 저에게 뭐라하셔도 소용없습니다.

저번에 zip 안올려서 곤란하신 분들 생각에 이번에는 두 버전 같이 올립니다...

point-log3.zip point-log3.tar.bz2


이용 방법


조금 더 고치기

알려진 문제점


추가 - 0.2 버전에 몇 가지 사소한 수정하여 0.2.1 올렸습니다.
= 이전에 debugPrint로 사용하던 소스가 일부 남아서 없에고 올렸습니다.
= 관리자가 임의로 포인트를 정해 줄 경우 메시지로 기록이 남습니다.
= 관리자 메뉴에서 검색 후 이동할 때 검색 쿼리가 따라다니는 문제점을 해결하였습니다.
= 글 쓰기 과정에서 점수 변화량을 제대로 출력하지 못한 문제를 해결하였습니다.
Posted by Parker Falcon

댓글을 달아주세요

  1. NXT
    2014.03.21 12:03
    댓글 주소 수정/삭제 댓글
    파일공유가능하신가요? ㅜㅜ

제로보드 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
    댓글 주소 수정/삭제 댓글
    다있네요. ^^
    제로보드홈에 남기신 팁대로 파일들을 수정했습니다.
    음... 제가 몰 잘못 건드렸을까요..

제로보드 XE 에서 개인적으로 생각할 때 부족한 기능 중 하나인 다중 언어 모듈이 일단 완성되었다.

하는 일이라고는, 현재 설정된 언어에 따라서 해당하는 주소로 redirect하는 일이기는 하지만,

여러 언어를 위한 페이지를 위해서 언어별로 레이아웃이나 메뉴을 똑같이 여러개 만들 필요성은 없어졌다.

다만 아직은 테스트 단계이고, release 는 아직 계획에는 없다.

아무튼 잘 작동해서 다행이고, 조금 더 user-friendly 하게 만들어야지.

샘플 사진 하나

사용자 삽입 이미지

동영상은?


Posted by Parker Falcon

댓글을 달아주세요

  1. 망치
    2008.10.07 13:20
    댓글 주소 수정/삭제 댓글
    빨리...공개해주세요....예~~~
    기대...중..
  2. 2008.10.10 05:48
    댓글 주소 수정/삭제 댓글
    안녕하세요.
    고생이 많으십니다 ^^
    저도 기대가 많이 됩니다.
    지비공식사이트에 아이디어를 제안했지만, 만들고 계시는데 도움이 될랑가 모르겠지만.
    1. 게시글 쓰기를 하면 한국어, 영어.. 그외 언어의 통합 에디터가 뜨고, 한글 담당자는 한글내용을 쓰고, 저장하면 나중에 다른 언어 담당자가 그 게시글을 열어서 그 언어의 내용을 쓰고 저장합니다.
    2. 방문자가 언어선택을 하면 그 언어에 맞는 내용과 메뉴가 나타 납니다.

    게시판이 아니라, 페이지도 같은 기능이 있으면 좋을거 같습니다. 첨부화일들도 그 언어에 맞게 등등...
    어떨까요?

    화이팅!

현재 서버에 등록된 파일을 크기순으로 출력하는 위젯입니다.

사용자 삽입 이미지


라이선스는 GPL
코드에 대한 저작권은 따로?

http://www.zeroboard.com/17336097
Posted by Parker Falcon

댓글을 달아주세요

메뉴 모듈의 기능을 몇 가지 추가하였습니다.

사용자 삽입 이미지

아래에 붉은색 테두리를 친 부분인데요, 활용 방법은 아래와 같습니다.
사용자 삽입 이미지
이렇게 하나의 메뉴 아이템으로 서브메뉴 이미지까지 처리할 수 있게 변경하였습니다.

원본 소스가 GPL이고, 이 개작도 GPL입니다.

http://www.zeroboard.com/17320295
Posted by Parker Falcon

댓글을 달아주세요

  1. 김기수
    2011.04.06 11:22
    댓글 주소 수정/삭제 댓글
    menu를 module에 기존 것을 없애고 대신 올리니 관리자 모드에서 "메뉴" 모듈 표시가 나타나지 않네요
    바법 좀 알려 주세요 kskim88@paran.com