XETOWN

질문/답변

웹에 관련된 질문과 답변을 나눌 수 있습니다.

포인트팡팡과 다른 애드온을 참조해서 짜집기를 해 보았습니다. 그런데 관련지식이 없다보니 뭐가 뭔지 몰라 수정할 곳도 많을 것 같고 혹시 문제를 일으키는 곳이 있을 것 같기도 합니다.

고쳐야 할 곳 좀 알려주세요..

 

붉게 처리한 부분도 이상이 없는 건지 궁금하구요. 저게 왜 필요한지 1도 모르는 사람이라서요..

그리고 포인트팡팡 애드온 첫부분에 아래와 같은 것이 잇는데 이것도 필요하다면 어떻게 넣어야 할까요 ?

 

if($called_position == 'after_module_proc'){
        //메세지가 있으면 출력후 패스
        if($_SESSION['addon_point_pangpang_msg']&&($this->act=='dispBoardContent'||$this->act=='dispBoardContentCommentList')){
            Context::addHtmlFooter( '<script type="text/javascript"> alert("'.$_SESSION['addon_point_pangpang_msg'].'"); </script>' );
            unset($_SESSION['addon_point_pangpang_msg']);
            return;
        }

 

 

------------------------------------------------------------------------------

 

 

 

짜집기한 코드

 

 

<?php
   
    if(!defined("__XE__")) exit();
    if($this->module == 'admin') return;

    if($called_position=='after_module_proc') {

      $act = Context::get('act');
      $document_srl=Context::get('target_srl');
      $oDocumentModel = &getModel('document');
      $oDocument = $oDocumentModel->getDocument($document_srl);
      $def_content = '축하합니다. 베스트 게시물로 선정되었습니다!';
      $msg_content = ($addon_info->message_content)?$addon_info->message_dontent:$def_content;
     
    
    if($act=='procDocumentVoteUp' && $addon_info->vote_count!="" && ($oDocument->get('voted_count') == $addon_info->vote_count-1))
       {
        $comObj->member_srl = 162023;
        $comObj->email_address = $comObj->homepage = $comObj->user_id = '';
        $comObj->user_name = 'Pangpang!';
        $comObj->nick_name = $msg_title;
        $comObj->password = md5((microtime() / mt_rand(1000,9999)) . $_SERVER['HTTP_USER_AGENT']);

        $comObj->module_srl = $this->module_srl;
        $comObj->document_srl = $this->variables['document_srl'];
        $comObj->content = $msg_content;
        $comObj->use_html = 'Y';

        $ccComment = &getController('comment');

        $bk_avoidlog = $_SESSION['avoid_log'];
        $_SESSION['avoid_log'] = true;
        $tmpout = $ccComment->insertComment($comObj, true);
        $_SESSION['avoid_log'] = $bk_avoidlog;
        unset($_SESSION['own_comment'][$tmpout->get('comment_srl')]);

       }
}
     
?>

  • profile
    보고하비 2016.11.10 10:52:51
    ^^ 성공하시면 팁게에 올려주셔요 ~
  • profile
    웹지기 2016.11.10 10:57:53
    무식하게 업로드 해봤는데 댓글이 안달리네요 ㅡㅡ;
  • profile
    웹지기 2016.11.10 11:08:37

    $comObj->module_srl = $this->module_srl;
    $comObj->document_srl = $this->variables['document_srl'];

    이 두 라인도 뭔가 이상해 보이긴 하네요.

     

    일단

     

    $comObj->module_srl = $module_info->module_srl;
    $comObj->document_srl = $document_srl;

     

    이렇게 해보았는데 동일하게 댓글은 안달리구요.

  • profile
    웹지기 2016.11.10 11:24:29
    $document_srl=Context::get('target_srl');
    이것도 아닌거 같아서 삭제 했으나 여전히 댓글은 안달리네요.
  • profile
    웹지기 2016.11.10 12:04:00

    최종 ㅋㅋ 안됩니다.

    <?php

    if(!defined("__XE__")) exit();
    if($this->module == 'admin') return;

    if($called_position=='after_module_proc') {

    $act = Context::get('act');
    $oDocumentModel = &getModel('document');
    $oDocument = $oDocumentModel->getDocument($document_srl);
    $def_content = '축하합니다. 베스트 게시물로 선정되었습니다!';
    $msg_content = ($addon_info->message_content)?$addon_info->message_content:$def_content;
    $_fullUrl = getFullUrl('','mid',$this->mid,'document_srl',$this->variables['document_srl'],'comment_srl',$this->variables['comment_srl']);
    if($this->variables['document_srl']){
    $args->document_srl = $this->variables['document_srl'];
    $tmpout = executeQuery('addons.votte_reply.getDocumentExtra', $args);

    if($tmpout->data->extra_vars){
    $exvars=unserialize($tmpout->data->extra_vars);


    $args->extra_vars = serialize($exvars);
    // 최대 크기를 설정해서 오류 방지 mssql = 8000
    if(strlen($args->extra_vars) > 8000) return;
    $tmpout = executeQuery('addons.votte_reply.updateDocumentExtra', $args);
    }
    }
    if($act=='procDocumentVoteUp' && $addon_info->vote_count!="" && ($oDocument->get('voted_count') == $addon_info->vote_count-1))
    {
    $comObj->member_srl = 162023;
    $comObj->email_address = $comObj->homepage = $comObj->user_id = '';
    $comObj->user_name = 'Pangpang!';
    $comObj->nick_name = '댓글돌이';
    $comObj->password = md5((microtime() / mt_rand(1000,9999)) . $_SERVER['HTTP_USER_AGENT']);

    $comObj->module_srl = $this->module_srl;
    $comObj->document_srl = $this->variables['document_srl'];
    $comObj->content = $msg_content;
    $comObj->use_html = 'Y';

    $ccComment = &getController('comment');

    $bk_avoidlog = $_SESSION['avoid_log'];
    $_SESSION['avoid_log'] = true;
    $tmpout = $ccComment->insertComment($comObj, true);
    $_SESSION['avoid_log'] = $bk_avoidlog;
    unset($_SESSION['own_comment'][$tmpout->get('comment_srl')]);
    }
    }

    ?>

  • ?
    마신 2016.11.10 13:19:39

    애드온 보다는 아래 모듈 약간 수정하면 쉽게 될듯 합니다.
    https://www.xpressengine.com/index.php?mid=download&package_id=22753651
    vote 모듈인데요 기본적으로 추천수 또는 비추천수 도달하면 댓글 남기는 기능이 있습니다.
    다만 게시판 이동기능이 기본이기 때문에 추천부분에 게시판 이동하지 않게만 하고 댓글 남기는 부분은 그대로 쓰면 될듯합니다.

  • profile
    웹지기 2016.11.10 13:21:38
    해당 모듈은 알고 있으나 모듈은 너무 방대하고 해서 제가 수정하기에는 무리가 있을 수도 있을거 같기도 해서 아직 .....
  • profile
    웹지기 2016.11.10 13:49:10
    해당모듈에서 마지막 부분 이동부분만 주석처리 하고 해 보았으나 아마도 모듈에서 제공하는 버튼을 이용하지 않으면 일부 동작이 작동하지 않는 듯 합니다. 저희는 디자인상 이 모듈의 스킨을 이용해 버튼을 노출하기는 어렵겠네요.
  • ?
    마신 2016.11.10 13:53:05

    네 기본동작이 새로고침없이 추천하는 기능이기 때문에 기본 추천버튼은 안보이게 하고 여기서 보이게 해야 정상 작동되긴 합니다.

    기본적으로 이모듈은 스킨이 여러종류이고 직접 스킨제작도 가능하니 사이트에 맞게끔 스킨을 만들어 넣는 방법도 있을거 같습니다.

  • profile
    웹지기 2016.11.10 13:56:54
    저희는 위치하고 추천전 추천후 등 구별이 되도록 커스텀이 많이 되어 있어 해당 모듈은 제가 사용하기에는 무리네요.
  • ?
    마신 2016.11.10 14:01:09

    제가 알기로 추천버튼만 따로고 나머지는 일반 추천버튼처럼 누른것은 기본 추천db에 들어가서
    추천인 표시등 포함해서 다른것도 정상 작동하는것으로 알고 있습니다.
    추천전 추천후 구분이 기본추천DB외에 다른DB에 저장하게 해놓았다면 안되겠지만요

  • profile
    웹지기 2016.11.10 14:24:09
    제가 설치하고 확인했을때는 댓글이 달리지 않으니 어찌 되었던 현재는 제가 원하는 동작이 구현이 되지 않네요. 설정은 모두 하였고 추천버튼은 표시하지 않게 하였습니다. 관리자페이지에 설명 일부동작이 모듈의 버튼을 이용해야만 동작하는 다는 것들이 어떤 것 까지 포함될지는 자세히 살펴보지 않았습니다.

    일단 댓글이 안달리는 것으로 보아 모듈의 버튼을 눌렀을때 이동과 댓글이 동작하도록 되어있지 않을까 추측만 해봅니다. 일단 이 자료는 더 살펴보지 않으려고 합니다.
  • ?
    마신 2016.11.10 14:30:38
  • ?
    기븐 2016.11.10 16:17:10
    예전에 댓글돌이라는 애드온이 있었던 걸로 아는데 없어져서 아쉽네요. 그게 아마 일정 댓글수마다 "댓글수 N개 돌파!" 같은거 달아주는 기능으로 아는데, 그건 약간만 수정하면 댓글수 대신에 추천수로 해서 구현이 가능했을 텐데 말이죠...
  • profile
    구름이 2016.11.10 16:20:25
    지금은 구할수 없나 봐요?
    커뮤니티 사이트를 운영하고 있지 않아서 .. 감이 없네요.
    이런 모듈이나 애드온 정도는 있을줄 알았는데..

List of Articles
번호 분류 제목 날짜
공지 질문/답변 답변을 확실히 받기위한 질문자 지침서 20 2015.12.31
3212 질문/답변 font-weight: bold 이 태그를 인식하지 못하는 브라우저도 있나요? 4 2016.11.12
3211 질문/답변 전체 이동 가능한가요? 4 2016.11.12
3210 질문/답변 회원 가입 약관 , 이용 약관 양식은 어디서 받으셨나요? 2 2016.11.12
3209 질문/답변 난다날아님의 회원가입 확장 모듈 잘 작동하나요? 2016.11.12
3208 질문/답변 html 연결 1 file 2016.11.12
3207 질문/답변 이게 무슨 에러인지.. 3 file 2016.11.12
3206 질문/답변 스케치북 게시판 코드추가 질문드려요 2 2016.11.11
3205 질문/답변 css에서 div 를 반복시키고 싶은데요 1 file 2016.11.11
3204 질문/답변 도메인?? 레이아웃? 질문입니다!! 6 2016.11.11
3203 질문/답변 팝업 메뉴에 '작성글 보기' 를 수정하려 하는데 어떤 파일을 건드리면 될까요? 2 file 2016.11.11
3202 질문/답변 도메인사로 간혈적으로 자꾸연결되네요 머죠.. 3 2016.11.11
3201 질문/답변 vultr 호스팅 쓰시는분들께 질문합니다. 6 2016.11.11
3200 질문/답변 이메일로그인 문의 2 2016.11.11
3199 질문/답변 vps 서버 어떤가요? 9 2016.11.11
3198 질문/답변 jQuery timepicker 추천 부탁 드립니다. 5 2016.11.10
3197 질문/답변 스케치북 게시판 수정 질문드려요 7 file 2016.11.10
3196 질문/답변 라이믹스 퍼미션설정 1 2016.11.10
» 질문/답변 지정된 추천수에 도달하면 축하 댓글을 남기는 애드온을 만들려고 하는데요.... 15 2016.11.10
3194 질문/답변 관리자 권한에서는 먹히는 태그가 일반 회원은 안먹히는 문제 4 2016.11.09
3193 질문/답변 홈페이지로 사용하기 페이지 설정 관련 2016.11.09
Board Pagination Prev 1 ... 5 6 7 8 9 10 11 12 13 14 ... 170 Next
/ 170
위로
서버에 요청 중입니다. 잠시만 기다려 주십시오...