Extra Form
PHP PHP 7.3
CMS Rhymix 2.x

포인트가 일정수 이하일 때 글 작성 제한 애드온을 만들어보려고 합니다.

코알못이지만 그래도 하나하나 해보면서 공부해보려고 합니다. ㅠ 그래서 너무 기초적인 질문일 수 있습니다.

검색해보니 관련 코드들이 있어서 조합해서 해봤는데 포인트 상관없이 메시지가 노출 됩니다.

 

포인트 100이하일 때만 글 작성 제한.

<?php
if(!defined('__ZBXE__') && !defined('__XE__')) exit();
if(!Context::get('is_logged')) return;
if(Context::get('logged_info')->is_admin == 'Y') return;

if ($called_position == 'before_module_proc')
{
if(Context::get('act') != 'dispBoardWrite') return;

$oPointModel = &getModel('point');
$point = $oPointModel->getPoint($logged_info->member_srl);

//포인트 100 이하일 때 메시지 노출
if($point>=100)
{
$message = $addon_info->message;
if(!$message)
{ 
$message = '포인트 100 이하는 글 작성이 제한됩니다..';}
$this->act = 'true';
$this->stop($message);
}
}
?>

 

  • Lv24
    dispBoardWrite 에도 중요하지만, dispBoardWrite 만 막기보단 procBoardInsertDocument도 함께 막아야합니다.
  • Lv24

    //그리고 이게 이하일까요 이상일까요?
    if($point>=100)
    {

    }

     

    $point 는 이미 위에서 회원의 포인트를 지정하셧는데

    $point 가 왼쪽에 있는 상태에서 >= 으로 비교연산자 쓰신다면 $point 가 더 큰것으로 인식하는게 정상입니다.