특정게시판에서만 (묻고답하기)
글작성 시 쿼리를 돌려 이 회원이 서명에 아무것도 입력하지 않은 회원인지 확인해서 입력 안했다면...
너 서명좀 입력해줄래! 정말....!
이라고 알럿을 띄워주고 글 작성은 안되고 리턴되게 가능할까요...
질문시 굉장히 참조가 될만한 사항 그리고 커뮤니티 회원들끼리 가장 궁금해하는 내용을 서명에 넣도록 하는 관례가 만들어진 사이트에요 ㅡㅡ;
특정게시판에서만 (묻고답하기)
글작성 시 쿼리를 돌려 이 회원이 서명에 아무것도 입력하지 않은 회원인지 확인해서 입력 안했다면...
너 서명좀 입력해줄래! 정말....!
이라고 알럿을 띄워주고 글 작성은 안되고 리턴되게 가능할까요...
질문시 굉장히 참조가 될만한 사항 그리고 커뮤니티 회원들끼리 가장 궁금해하는 내용을 서명에 넣도록 하는 관례가 만들어진 사이트에요 ㅡㅡ;
if(in_array($called_position, array('before_module_init', 'after_module_proc')))
{
$signature = getModel('member')->getSignature(Context::get('logged_info')->member_srl);
$signature = trim(strip_tags($signature));
if(!$signature)
{
if(in_array($act, array('procBoardInsertDocument', 'procBoardInsertDocumentBydocument_srl')) && $called_position == 'before_module_init')
{
$this->stop_proc = TRUE;
$this->stop($error_message);
}
}
}
요렇게 고쳐봐쓴데 그냥 통과네요... 뭐가 빠졌나봐요..
감사합니다. 아래로 해서 일단 막아지기는 했는데 다른 애드온에서 작성된 코드를 참조하다보니 그 애드온과 비슷하게 다른 애드온의 경고창도 같이 뜨게 되는데 포지션 차이인가요??
아이고.,..... 모바일에서는 왜 안막히는거지..... 모바일은 또 통과가 되네요.. 이런....
if(in_array($called_position, array('before_module_init', 'after_module_proc')))
{
$signature = getModel('member')->getSignature(Context::get('logged_info')->member_srl);
$signature = trim(strip_tags($signature));
if(!$signature)
{
if (in_array($act, array('dispBoardWrite', 'dispBoardWriteBydocument_srl')) && $called_position == 'after_module_proc')
{
$this->act = 'true';
$this->stop('문구!');
}
}
}
현재 로그인된 회원의 서명을 가져오는 코드:
$signature = getModel('member')->getSignature(Context::get('logged_info')->member_srl);
회원정보 수정시 서명을 입력하지 않으면 공백이나 빈 태그만 들어갈 수도 있으므로
아래의 코드를 사용해서 공백과 태그를 지워줍니다.
$signature = trim(strip_tags($signature));
여기서 $signature에 내용이 없으면 빠꾸~
if(Context::get('mid') == 묻고답하기게시판mid && !$signature)
{
return new Object(-1, '서명입력하셈!!!!도대체몇번을말해야알아듣나!!!');
}