2005년 9월 27일 화요일

권한없는 사용자가 글쓰기 클릭하면 로그인 화면으로 넘기기

현재 제로보드 기본 설정에서는 관리자가 설정해준 글쓰기권한이 없는 사용자가 게시판에 접근하면
아예 글쓰기 버튼이 보이질 않습니다.
이걸 권한 설정에 관계없이 항상 글쓰기 버튼은 보여지고 권한이 없는 사용자가 글쓰기 버튼을 클릭하면
로그인 화면으로 넘어가게 하는 방법입니다.

●●●먼저 제로보드 폴더의 zboard.php 를 편집합니다.
126 라인 정도에 보시면... 아래 부분이 있습니다.

/***************************************************************************
* 각종 링크를 미리 지정하는 부분
**************************************************************************/
// 글쓰기버튼
      if($is_admin||$member[level]<=$setup[grant_write]) $a_write="<a onfocus=blur() href='write.php?$href$sort&no=$no&mode=write&sn1=$sn1&divpage=$divpage'>"; else $a_write="<Zeroboard ";

이 부분에서 조건문을 삭제 하고
$a_write="<a onfocus=blur() href='write.php?$href$sort&no=$no&mode=write&sn1=$sn1&divpage=$divpage'>";

이부분만 남깁니다.
앞의 if 문과 뒤의 else 부분을 삭제한것입니다.

●●● 두번째로 제로보드 폴더의 view.php 편집합니다.
182 라인정도에 보시면.. 아래 부분이 있습니다.

/****************************************************************************************
* 버튼 정리
***************************************************************************************/
// 메일주소가 있으면 이름에 메일 링크
      if(!isBlank($email)||$data[ismember]) {
              if(!$setup[use_formmail]) $a_email="<a onfocus=blur() href='mailto:$email'>";
              else $a_email="<a onfocus=blur() href=\"void(window.open('view_info.php?to=$email&id=$id&member_no=$data[ismember]','mailform','width=400,height=500,statusbar=no,scrollbars=yes,toolbar=no'))\">";
      } else $a_email="<Zeroboard ";

// 글쓰기버튼
      if($is_admin||$member[level]<=$setup[grant_write]) $a_write="<a onfocus=blur() href='write.php?$href$sort&no=$no&mode=write&sn1=$sn1'>"; else $a_write="<Zeroboard ";

여기서도 글쓰기 버튼 설정 부분에서
조건문 부분을 삭제하시고
$a_write="<a onfocus=blur() href='write.php?$href$sort&no=$no&mode=write&sn1=$sn1'>"; 만 남겨 놓습니다.

●●● 이제 관리자 페이지에서 글쓰기 권한을 부여 합니다.
권한설정은 처음에 하셔도 되고 나중에 하셔도 되고 맘대로 하세요.

이제 각 게시판의 리스트나 뷰 화면에서 권한설정에 관계없이 비회원이라도 항상 글쓰기 버튼이 보일겁니다.
좀전에 글쓰기 권한설정에서 설정하신 레벨 이하의 사용자가 글쓰기 버튼을 클릭하면 "권한이 없습니다" 경고창이 뜨고 확인을 하면 로그인 화면으로 넘어갑니다.

특정 게시판만 적용 하고 싶으시면 앞부분에 아래와 같은 식으로 조건을 붙여주면 되겠죠...
<? if ($id == "원하시는게시판id")
{?>

댓글 없음:

댓글 쓰기