게시판 관리자 설정인데 if문 좀 봐주세요 커피쏠게요ㅠ
본문
안녕하세요. 그누보드 4사용중입니다.
스킨을 일부 커스텀하여 사용하고 있는데 이부분에서 턱! 막히네요(PHP는 돌잡이수준입니다)
현재 게시판 마다 관리자아이디를 하나씩 부여해서
관리자1은 게시판1만 볼수있고 2는 못보고
관리자2는 게시판2만 볼수있고 1은 못보고
이런식으로 자기 게시판만 확인할 수 있도록 index파일의 최근글부분을 조금 커스텀해서 사용중입니다.
그런데 그누보드 특성상 게시판마다는 1명의 관리자 아이디만 지정이 가능하더라구요.ㅠㅠ
만약,
게시판3을 관리자 1과 관리자 2가 동시에 열람할 수 있도록 하고 싶은데
게시판3에는 관리자 1명만 등록이 가능하죠..
다른분들 글도 많이 찾아봤는데 extend 폴더에 파일만들어서 넣는거 안먹습니다.
어떤분이 자세하게 남겨주신 글도 찾아서 기존 common.php파일부터 list, view 다 수정하여 테스트했지만
이것도 결국은 안되네요 ( 콤마나 |를 사용해서 중복으로 관리자명을 넣을수 있게 하는 코드)
게시판 관리자만 게시판을 볼 수 있게 하는 부분인 코드를 가져와서 나름(?) 해석해보았습니다.
도무지 어디를 수정해서 사용해야 할지 모르겠네요. mysql에 접속해서 필드값에 직접 넣어보려고도 했으나
test1, test2 이렇게 관리자를 두개 넣으면 관리자 아이디 자체를 [test1, test2] 이렇게 인식하네요.
도와주세요 여러분..사랑합니다.. 커피쿠폰 쏠게요..
<!-- 메인화면 최신글 시작 -->
<table width="<?=$table_width?>" cellpadding=0 cellspacing=0><tr><td valign=top>
<?
// 최신글
$sql = " select bo_table, bo_subject from $g4[board_table] order by gr_id, bo_table ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
$sql2 = " select bo_admin from $g4[board_table] where bo_table = '$row[bo_table]' ";
$row2 = sql_fetch($sql2);
if ($is_admin || ($row2[bo_admin] && $member['mb_id']==$row2[bo_admin]))
// latest(스킨, 게시판아이디, 출력라인, 글자수);
echo latest("basic", $row['bo_table'], 10, 70);
echo "<p>\n";
}
?>
</td></tr></table>
<!-- 메인화면 최신글 끝 -->
답변 2
관리자 나오는 부분도 아래 같이 처리하시면 됩니다
$sql = " select bo_table, bo_subject from $g4[board_table] order by gr_id, bo_table ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
$sql2 = " select bo_admin from $g4[board_table] where bo_table = '$row[bo_table]' ";
$row2 = sql_fetch($sql2);
//보드관리자를 분리
$bo_admin_array=array("");
if($row2[bo_admin]){
$bo_admin_array=explode(",", $row2[bo_admin]);//만약 구분자를 , 로 하셨으면
}
//in_array 를 이용 배열안에 $member['mb_id'] 가 있는지 확인합니다
if ($is_admin || ($row2[bo_admin] && in_array($member['mb_id'], $bo_admin_array) )
// latest(스킨, 게시판아이디, 출력라인, 글자수);
echo latest("basic", $row['bo_table'], 10, 70);
echo "<p>\n";
}
다른 부분들은
function is_bo_admin($bo_admin)
{
global $member;
if(!$member[mb_id]){return false;}
if(!$bo_admin){ return false;}
$bo_admin_array=explode(",", $bo_admin);//만약 구분자를 , 로 하셨으면
return in_array($member['mb_id'], $bo_admin_array);
}
함수를 사용하셔서 처리하셔도 좋습니다.
function is_bo_admin($bo_admin)
{
global $member;
if(!$member[mb_id]){return false;}
if(!$bo_admin){ return false;}
$bo_admin_array=explode(",", $bo_admin);//만약 구분자를 , 로 하셨으면
return in_array($member['mb_id'], $bo_admin_array);
}
/lib/common.lib.php 에 넣어 주시면 아무곳에서나 불러오실수 있으시고요
위에부분 관리자 검색에
$is_bo_admin=is_bo_admin($row2[bo_admin]) ;
//in_array 를 이용 배열안에 $member['mb_id'] 가 있는지 확인합니다
if ($is_admin || ($row2[bo_admin] && $is_bo_admin ){
처럼하셔도 됩니다