인덱스에서 로그인한 자신의 게시판만 최신글에 출력하기
본문
폐쇄형 사이트에서 접속시 로그인화면 먼저 보이게 하였습니다.
로그인 후에는 인덱스페이지에 자신이 게시판 관리자로 된 게시판만 최신글로 출력이 되도록 하려면 어떡해야 할까요. 최고관리자는 모든 게시판을 볼수 있고요?
좀 애매한 질문이 될까봐 조심스럽습니다.
답변 2
외부에 있어 구체적인 소스를 직접 만들어 드릴 수 없어 안타깝습니다.
1. function을 하나 만들고, 현재 로그인한 회원의 아이디($mb_id)를 보내 관리자인지 여부를 구합니다.
2. 관리자라면 모든 과정이 패스되므로, 쿼리(query)에서 별다른 조건문을 걸지 않습니다.
3. 반면, 일반 회원이라면 g5_board 테이블에서 bo_admin(게시판 관리자)를 조건으로 쿼리를 보냅니다.
4. 쿼리를 보내면, 현재 로그인한 회원이 게시판 관리자인 bo_table을 추출할 수 있습니다.
5. 이 bo_table를 토대로 게시판을 로드하면 될 것으로 보입니다.
게시판 관리 설정에 보면 게시판 관리자 설정 필드가 bo_admin 일겁니다. 이것을 활용하면 될 것 같네요.
배포판 index.php 파일을 보면
<!-- 최신글 시작 { -->
<?php
// 최신글
$sql = " select bo_table
from `{$g5['board_table']}` a left join `{$g5['group_table']}` b on (a.gr_id=b.gr_id)
where a.bo_device <> 'mobile' and bo_admin = `{$member['mb_id']}` ";
if(!$is_admin)
$sql .= " and a.bo_use_cert = '' ";
$sql .= " and a.bo_table not in ('notice', 'gallery') "; //공지사항과 갤러리 게시판은 제외
$sql .= " order by b.gr_order, a.bo_order ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
if ($i%2==1) $lt_style = "margin-left:2%";
else $lt_style = "";
?>
위에서 굵은 빨간색 부분만 추가하면 반영이 될 것 같네요.
최고관리자는 $is_admin=='super'로 인식하여 위 식을 조건문으로 처리하면 될 것 같습니다.