https://github.com/huhani/xe-gamezot/blob/master/gamezot.controller.php#L128-L139

 

 

 

 

$member_srl = $oDocument->get('member_srl');
  if($member_srl){
  $module_srl = $oDocument->get('module_srl');
  $oModuleModel = getModel('module');
  $config = $oModuleModel->getModuleConfig('point');
  $module_config = $oModuleModel->getModulePartConfig('point', $module_srl);
  $point = $module_config['insert_document'] ? $module_config['insert_document'] : 0;
  if($point){
  $oPointController = getController('point');
  $oPointController->setPoint($member_srl, $point, 'minus');
  }
  }

 

 

 

 

위 부분이 아마 글 작성시 포인트 적립 된걸 삭제시 회수하는 코드 인 듯 합니다.

 

마찬가지로 추천받아 적립되었던 포인트도 환수해야 맞을 거 같아서요..  

 

위와 같은 방식으로 해당 글의 게시판을 조회한 후 게시판 설정에 추천포인트를 알아낸 다음 해당 추천포인트 * 추천수 의 값 만큼 마이너스 하는 코드를 넣어야 할 것 같은데

어찌 넣어야 할지 부탁 드립니다. 

 

 

  • ?

     


    이 부분에서

    function _triggerBeforeDeleteDocument(&$obj){

    아래 부분 보이실텐데

    $output = $oFileController->deleteFiles($document_srl);
     


    그 밑에 아래 문구 삽입 하시면 됩니다.
    $member_srl = $oDocument->get('member_srl');
    if($member_srl){
    $module_srl = $oDocument->get('module_srl');
    $oModuleModel = getModel('module');
    $config = $oModuleModel->getModuleConfig('point');
    $module_config = $oModuleModel->getModulePartConfig('point', $module_srl);
    $x86vote =$module_config['voted'] ? $module_config['voted'] : 0;

    if($x86vote){
    $oPointController = getController('point');
    $oPointController->setPoint($member_srl, $x86vote, 'minus');

    }

    }

  • ? profile
    위치는 그보다 조금 아래 제가 위에 본문에 올려 놓은 곳 아래에 하면 어떨까요 ? 포인트차감을 한곳에 모으는게 좋을거 같아서요. 답변 감사합니다.
  • ? profile


    $x86vote =$module_config['voted'] ? $module_config['voted'] : 0;

    if($x86vote){
    $oPointController = getController('point');
    $oPointController->setPoint($member_srl, $x86vote, 'minus');

    이부분만 기존 포인트차감에 추가해 주면 어떨까 하는 생각도 듭니다.

  • ? profile
    아... 그리고 죄송한데..

    이 문서의 추천숫자 구하는 것과 그것을 곱하는 것이 빠져있네요.
  • profile ?

    무슨말씀이신지 모르겠습니다. 추천 숫자 를 곱하다니요?

  • ? profile
    네. 제가 조금 후에 코드를 넣어보겠습니다.
    해당문서에 추천점수는 설정된 추천점수 * 추천숫자입니다.

    만약 제가 쓴 이 게시물에 추천을 5개 받았다면 모두 환수하는게 맞아서요.
  • profile ?
    네. 아직 안해보신거군요. 위에 것으로 모두 환수 됩니다. 말그대로 voted는 voted니까요.
  • ? profile
    모듈설정의 추천시 받을포인트값을 불러오는 코드 아닌가요? 문서 값을 가져오는게 아닌거 같아서요.
  • ? profile
    $voted_count=$oDocument->get('voted_count')
    $x86vote =$module_config['voted'] ? $module_config['voted'] : 0;
    $voted_point=($voted*$x86vote)
    if($voted_count){
    $oPointController = getController('point');
    $oPointController->setPoint($member_srl, $voted_point, 'minus');

    요정도를 추가하면 어떨까 하는 생각중입니다.
  • profile ?

    위에건 제가 테스트는 안해봤는데 이제 잘되신다면  둘중에 아무거나 쓰셔도 될듯요.

  • ? profile

    먼저 주신 코드에는 모듈설정에 "자유게시판 추천포인트 :50점" 이것만 불러오게 되어있는거 같아서요....

    제가 작성한건 임의로 짠 코드라 아직은 안해봣어요... 

  • profile ?

    아닙니다. 코드 공유를 했는데 그래도 테스트 해보시고 피드백 주시면 고맙겠습니다.

  • ? profile
    네. 제가 언급한 부분이 있어 테스트는 안했어요. 문서의 추천수 불러오는 부분 없이는 안되는건 맞으니까요. 코드 주신부분은 감사합니다. 최종본으로 테스트하려고 해서 아직 못한거니 이부분은 양해 부탁드려요. 피드백은 드리겠습니다.
  • profile ?

    글쎄, 아니라니까요. 바로 윗댓글에 첫 문장에 아니라고 대답했고, 그 윗댓글도 아니라고 말씀 드렸고..

    그 이유가 저도 코드를 드릴때 추천수 만큼 회수 되는 부분도 이미 테스트 하고 드린겁니다. 

     

    흠...

     

    그리고 

     

    최종본 테스트하려고 해서 아직 못한거라고 말씀하시면 참..... 저도 코드 에디터와 ctrl-z 사용 할줄 아는 사람인데요.

    최소한 단정을 하실려면 직접 해보시고 단정을 하셔야죠.  더군다나 요청을 직접 하신 사람으로서요.

     

    다른 질문 글에서는 코드 받으시면 테스트 바로 바로 하시던데,

    아무튼 요즘 유행하는 말로 상식선에서 의아함이 들어 웃고 지나 갑니다. 

     

    생각하신대로 그냥 직접 편집 하신걸로 쓰시면 좋겠네요. 제건 뭐 계속 안된다고 하시니 피드백 필요 없고요 무시해주세요. 

  • ? profile

    ============ 분쟁 방지선 ============

    이 댓글 넘어서 댓글 달면 정말 나쁜 사람!!

  • ? profile
    실사용 사이트라 테스트가 한번에 하려는 점 바로 말씀 못드린거 죄송합니다.
    제가 지식이 얕아 코드를 제대로 해석하지 못하고 즉시 테스트 못한점 죄송합니다.
  • profile ?

    괜찮습니다. 그럼 필요하다면 지금이라도 해보세요. 저도 실사용 사이트였지만 테스트 직접해서 드렸고 잘 되었습니다. 

  • ? profile
    네. 테스트 결과 제가 언급한대로 추천 점수 50포인트만 차감되는 문제가 있습니다.
    2명에게 추천받은 내용을 반영하지 못합니다.
    거듭 말씀 드리지만 코드 공여해주신거 감사하게 생각하고 있고 다른 저의 같은 건 없다는거 말씀 드려요.
    불편하셨다면 죄송합니다.
  • profile ?

    네. 괜찮습니다. 그나저나 신기하네요.  저는 각자 다른 두명에게 추천 받은 포인트 잘 회수 됩니다. 

    2017-01-06 13 26 57.png

  • ? profile
    혹시 게시글 작성포인트 , 추천포인트 이렇게 2개 이력이 아닌지요 ? 저희도 그렇게는 됩니다. 다만 추천에서 추천수 고려를 해야 하는데 저희 사이트에는 그게 안됩니다.
  • profile ?

    말씀하신게 맞는듯 합니다. 저도 다시 해보고 말씀 드리겠습니다. 정밀하게 해서 드렸어야 하는데 면밀하지 못해

    저도 죄송합니다.

  • profile ?

    $x86vote = abs($voted_count)*($module_config['voted'] ? $module_config['voted'] : 0);

    를 위에걸로 수정해보세요. $voted count 변수로 추가하고요.

     

    추천 받은 2개의 포인트 200과  글삭제 100 해서 삭제 테스트 완료 했습니다.

    2017-01-06 14 38 23.png

  • ? profile
    네. 답변 감사합니다. 아래 댓글에 최종본으로 처리 했습니다.
  • profile ?

    네. 수고하셨습니다. 그런데 이왕이면 추가 변수 설정 없이 한걸로 쓰시죠? ㅎㅎ 

  • profile
    $voted_count=$oDocument->get('voted_count');
    $member_srl = $oDocument->get('member_srl');
    if($member_srl){
    $module_srl = $oDocument->get('module_srl');
    $oModuleModel = getModel('module');
    $config = $oModuleModel->getModuleConfig('point');
    $module_config = $oModuleModel->getModulePartConfig('point', $module_srl);
    $point = $module_config['insert_document'] ? $module_config['insert_document'] : 0;
    if($point){
    $oPointController = getController('point');
    $oPointController->setPoint($member_srl, $point, 'minus');
    }
    $board_vote =$module_config['voted'] ? $module_config['voted'] : 0;
    $voted_point=($voted*$board_vote);
    if($voted_count){
    $oPointController = getController('point');
    $oPointController->setPoint($member_srl, $voted_point, 'minus');
    }
    }


    이렇게 처리했는데 되지 않네요.
  • profile ?
    이건 제가 드린게 아니라 모르겠습니다~
  • ? profile
    네. 다른 모든 분들께 공유하는 댓글이에요.
  • profile

    위 코드 중에
    $voted_point=($voted*$board_vote);

    이 수식이 문법에 안맞는 듯 한 상황이네요.

     

    악... 변수를 왜 저걸 넣었지..

     

    $voted_point=($voted_count*$board_vote);  이거로 하면 될 거 같으니 해보겠습니다.

  • profile
    말도 안되는 변수를 넣고 곱셈이 안된다고...

    최종입니다.

    $voted_count = $oDocument->get('voted_count');
    $member_srl = $oDocument->get('member_srl');
    if($member_srl){
    $module_srl = $oDocument->get('module_srl');
    $oModuleModel = getModel('module');
    $config = $oModuleModel->getModuleConfig('point');
    $module_config = $oModuleModel->getModulePartConfig('point', $module_srl);
    $point = $module_config['insert_document'] ? $module_config['insert_document'] : 0;
    if($point){
    $oPointController = getController('point');
    $oPointController->setPoint($member_srl, $point, 'minus');
    }
    $board_vote = $module_config['voted'] ? $module_config['voted'] : 0;
    $voted_point = ($voted_count * $board_vote);
    if($voted_count){
    $oPointController = getController('point');
    $oPointController->setPoint($member_srl, $voted_point, 'minus');
    }
    }

    이렇게 하면 추천숫자만큼 추천점수 차감이 됩니다.
  • profile ?
    ㅎㅎㅎ. 고생하셨습니다. $board_vote 설정은 그래도 굿이였습니다.
  • ?

    가만 보자... 본인이 작성한 글에 본인이 작성한 댓글에서 추천 받은 포인트는 어찌되는지 이건 또 기억이 안나네요.

     

    아예 된다 안된다를 알면 괜찮겠는데 이걸 위해 다시 또 테스트 할려니....귀차니즘이..

     

  • ? profile

    코어 기본기능에 댓글 추천 포인트는 없어서 저희는 고려하지 않고 있어요.

  • profile ?

    xe는 그랬나요? 전 라이믹스라 그런가 ? 있어요

  • profile
    웹지기님은 docker 가 필요하신것 같아요.
    아니면 동일한 환경의 테스트 서버라도요.