info.xml 파일에 extra_vars에

        <var name="but_group">
            <title xml:lang="ko">제외 회원 그룹</title>
            <description xml:lang="ko">선택하신 회원그룹이 제외 됩니다. 애드온을 적용하지 않을 회원 그룹의 이름을 입력하세요.
            회원 그룹명을 여러개 쓰려면
            ,(콤마)로 연결하여 입력하세요.
            (예 : 그룹1,그룹2,그룹3)</description>
        </var>

을 추가하고 애드온.addon.php 파일에

  //제외 그룹
  $Member=&getModel('member');
  $MemberID=$Member->getLoggedUserID();
  $MemberSRL=$Member->getMemberSrlByUserID($MemberID);
  $MemberGroups=$Member->getMemberGroups($MemberSRL);
  
  $gpn=0;
  $tmp_groups = explode(",",$addon_info->but_group);
            $countone = count($MemberGroups);
            $counttwo = count($tmp_groups);
            for($i=0;;$i++) {
            $chkgroup=trim($MemberGroups[$i]);
             if($chkgroup!="") {
              $gpn++;
             }
             for($t=0;$t<=$counttwo;$t++) {
             $group_name = trim($tmp_groups[$t]);
                 if($chkgroup==$group_name && $chkgroup!='') return;
                }
             if($countone <= $gpn){
             break;
             }
           }
   //제외 그룹 끝


이렇게 하면 될 꺼에요.
스크랩 금지 애드온에 제외 그룹 집어넣다가 보니.. 좀 복잡한듯 해서.....흐흐..(변태모드)

변수는... 알아서 쓰세요.. 바꾸셔도 되고.. 그냥 써도 되고...

이 코드의 방식은.... php구문(사실 프로그래밍 언어 전혀...아는게 없음)을 잘 몰라서 맞는지는 모르겠지만...
아마...
콤마로 구분된 그룹명을 배열로 바꾼뒤, 현재 회원의 그룹 목록 배열과 하나하나 비교하는 방식입니다.
비교해서 같으면, 돌려보내는거죠....흐....

profile