안녕하세요, diary4u.net 주인장 이녀석입니다.(광고 죄송^^;)
제가 나름대로 큰 팁이라고 생각하는 녀석을 올리려고 합니다.
발단은 제 홈 diary4u.net에 커뮤니티 기능을 넣으려고 한 것이었습니다.
비공개 커뮤니티를 제로보드를 이용하여 구현하려고 하던 중, 제로보드에는 한 사람이
한 그룹에만 속할 수 있다는 한계가 있다는 것을 발견했습니다.--;
물론 레벨로 게시판 이용 가능한 사람을 구분할 수도 있겠지만,
다른 커뮤니티에 여러 레벨을 가진 이용자가 있을 수도(있게 될 겁니다) 있지 않겠습니까?
그래서 한 사람이 여러 그룹에 속할 수 있는 방법을 찾기 시작했습니다.
그리고 대여섯시간의 삽질 끝에 만들어 내고 말았습니다^^;;;
원리는 그리 어렵지 않은데,
따로 테이블을 만들어서 사용자가 추가로 가질 그룹을 저장합니다.
그리고 _head.php에서 그룹 사용자 체크하는 부분을 수정해서 추가 그룹 데이터가 있으면
$member[group_no]를 현재 사용하려는 그룹 번호로 바꿔줍니다.
.....
한마디로 제로보드 헤더 파일의 동작을 속이는 거죠^^;
단점은.....
비공개 그룹의 멤버 관리 부분이 소용 없어진다는 점이 있습니다.
정확히 뭐라고 설명하기가 힘드네요...
------------------------------------------------------------------------
이제 공개합니다.
1. 일단 DB에 새로운 테이블을 만듭니다.(mysql에 접속해서 일단 db를 만들 수 있다는 전제로)
create table group_member_table (
uid int(20) not null primary key auto_increment,
user_no int(20) not null,
group_no int(20) not null
);
2. lib.php에서
// 관리자 테이블과 회원관리 테이블의 이름을 미리 변수로 정의
$member_table = "zetyx_member_table"; // 회원들의 데이타가 들어 있는 직접적인 테이블
$group_table = "zetyx_group_table"; // 그룹테이블
$admin_table="zetyx_admin_table"; // 게시판의 관리자 테이블
부분을 찾아서
$group_member_table="group_member_table"; // 그룹 멤버관리 테이블
부분을 추가 해 줍니다.
3. _head.php에서
// 현재 그룹이 폐쇄그룹이고 로그인한 멤버가 비멤버일때 에러표시
if($group[is_open]==0&&!$is_admin&&$member[group_no]!=$setup[group_no]) Error("공개 되어 있지 않습니다");
부분을 찾습니다. 이 부분이 폐쇄그룹일 때 멤버가 아니면 에러를 내는 부분입니다.
이 부분 바로 !!!위!!!에 다음을 추가합니다.(실제로 속이는 부분)
// 멤버의 그룹 번호가 현재 게시판의 그룹번호와 다를 때, 참여그룹에 추가되어 있는지 검사,
// 추가되어 있으면 멤버의 그룹번호를 현재 게시판의 그룹번호로 변경
if ($member[no]&&$member[group_no]!=$setup[group_no]) {
$queryString="select * from $group_member_table where user_no=".$member[no]." and group_no=".$setup[group_no];
$result=mysql_query($queryString);
if (mysql_fetch_array($result)) $member[group_no]=$setup[group_no];
}
------------------------------------------------------------------------
자, 이제 게시판 부분에서 할 일은 다 끝난것 같습니다.
이렇게 해 놔도 겉 보기에 변한 점이 없을텐데요...
이제 회원을 우리가 만든 '추가 그룹' 테이블에 추가 해 줘야 이 스크립트가 쓸모가 있겠죠?
4. admin/admin_view_member.php 에서
맨 위 부분에( <? 바로 뒤에 )
// 그룹정보를 저장
$result=mysql_query("select no, name from $group_table");
while ($data=mysql_fetch_object($result)) {
$group_name[$data->no]=$data->name;
}
이 부분을 추가 해 주시구요(그룹 테이블에서 그룹 번호와 이름을 읽어들여서 저장합니다),
다음으로는
function move_group()
{
var i, j=0, k=0;
for(i=0;i<document.write.length;i++) {
if(document.write[i].checked)
k++;
}
if(k<1)
{
alert("멤버를 선택 해 주세요");
return false;
}
if(confirm("선택된 멤버를 선택된 그룹으로 이동하시겠습니까?"))
{
write.exec2.value="move_group";
write.submit();
return true;
}
return false;
}
부분을 찾아서 바로 밑에
function add_group()
{
var i, j=0, k=0;
for(i=0;i<document.write.length;i++) {
if(document.write[i].checked)
k++;
}
if(k<1)
{
alert("멤버를 선택 해 주세요");
return false;
}
if(confirm("선택된 멤버를 선택된 그룹에 추가하시겠습니까?"))
{
write.exec2.value="add_group";
write.submit();
return true;
}
return false;
}
function clean_group() {
if (confirm("추가 그룹 테이블을 검색해서 없어진 그룹에 대한 데이터를 정리합니다.\n계속하시겠습니까?")) {
write.exec2.value="clean_group";
write.submit();
return true;
}
return false;
}
이 두 함수를 추가 해 주시구요(추가 그룹 등록, 추가 그룹 테이블 정리를 위한 함수였습니다),
또 다음으로
echo"
<tr align=center height=23 bgcolor=#e0e0e0>
<td style=font-family:Tahoma;font-size:7pt;>$number</td>
<td><input type=checkbox name=cart[] value=$data[no]></td>
<td style=font-family:Tahoma;font-size:8pt;>$data[user_id]</td>
<td><img src=images/t.gif height=3><br>$data[name] </td>
<td style=font-family:Tahoma;font-size:8pt;>$grant_color$data[level]</td>
<td style=font-family:Tahoma;font-size:8pt;>".($data[point1]*10+$data[point2])." <font style=font-size:7pt;>(".$data[point1]."/".$data[point2].")</font></td>
<td style=font-family:Tahoma;font-size:8pt;>".date("Y-m-d",$data[reg_date])."</td>
<td style=font-family:Tahoma;font-size:8pt;><a href=$PHP_SELF?exec=$exec&group_no=$group_no&exec2=modify&page=$page&no=$data[no]&keyword=$keyword&keykind=$keykind&like=$like&page_num=$page_num>Modify</a></td>
<td style=font-family:Tahoma;font-size:8pt;>";
if($data[no]>1) echo"<a href=$PHP_SELF?exec=$exec&group_no=$group_no&exec2=del&keyword=$keyword&page=$page&no=$data[no]$href onclick=\"return confirm('삭제하시겠습니까?')\">Delete</a>"; else echo" ";
echo" </td>
</tr>
";
$number--;
이런 부분을 찾아서 $number--; 부분 바로 위에
$queryString="select * from $group_member_table where user_no='".$data[no]."'";
$group_member_string="";
$gresult=mysql_query($queryString);
while ($gdata=mysql_fetch_array($gresult)) {
$group_member_string.=" <a href=$PHP_SELF?exec=$exec&group_no=$group_no&exec2=delgroup&delgroup_num=".$gdata[group_no]."&delgroup_no=".$data[no]."&keyword=$keyword&page=$page&no=$data[no]$href onclick=\"return confirm('".$data[name]."님을 ".$group_name[$gdata[group_no]]."그룹에서 삭제하시겠습니까?')\">".$group_name[$gdata[group_no]]."</a>";
}
if ($group_member_string!="") echo "<tr align=center height=23 bgcolor=#e0e0e0>
<td colspan=3 style=font-family:Tahoma;font-size:9pt;>참여중인 그룹 (지우려면 클릭하세요)</td>
<td colspan=6 align=left style=font-family:Tahoma;font-size:9pt;>$group_member_string</td>
</tr>";
이만큼을 추가 해 주세요.
이건 회원 리스트 바로 아래에 추가 그룹이 있을 때 추가 그룹 정보를 보여줍니다.
다음으로(헥헥...길다)
?></select></td>
<td><input type=button value='그룹 변경' style=border-color:#b0b0b0;background-color:#3d3d3d;color:#ffffff;font-size:8pt;font-family:Tahoma;height:20px; onclick=move_group()> </td>
<?
부분을 찾아서 <? 바로 위에
<td><select name=addgroup><?
foreach($group_name as $key=>$val) {
echo "<option value=$key>$val</option>";
}
?></select></td>
<td><input type=button value='추가그룹에 추가' style=border-color:#b0b0b0;background-color:#3d3d3d;color:#ffffff;font-size:8pt;font-family:Tahoma;height:20px; onclick=add_group()> </td>
<td><input type=button value='추가그룹 정리' style=border-color:#b0b0b0;background-color:#3d3d3d;color:#ffffff;font-size:8pt;font-family:Tahoma;height:20px; onclick=clean_group()> </td>
이만큼을 추가 해 주세요.
이 곳은 카트에 담은 회원을 새로운 추가그룹에 더하는 버튼과 추가그룹 테이블을 정리하는 버튼을 표시하는 부분입니다.
5. 여기까지 참 수고하셨습니다.
조금만 더 가면 됩니다.
이제 admin/admin_exe_member.php에서 del_member($no) 함수가 끝난 다음 부분에
아래와 같은 내용을 추가하면 됩니다.
// 회원 추가 그룹 추가하는 부분
if ($exec2=="add_group"&&$member[is_admin]==1) {
for($i=0;$i<sizeof($cart);$i++) {
// 이미 추가되어 있는지 확인
$queryString="select uid from $group_member_table where user_no='$cart[$i]' and group_no=$addgroup";
echo "<!-- queryString : $queryString -->";
$result=mysql_query($queryString) or Error(mysql_error(),"");
if (!mysql_fetch_array($result)) {
$queryString="insert into $group_member_table (user_no, group_no) values('$cart[$i]',$addgroup)";
echo "<!-- queryString : $queryString -->";
mysql_query($queryString);
}
}
movepage("$PHP_SELF?exec=view_member&group_no=$group_no&page=$page&keyword=$keyword&level_search=$level_search&page_num=$page_num&keykind=$keykind&like=$like");
}
// 추가 그룹 데이터 검색해서 없어진 그룹 정리하는 부분
if ($exec2=="clean_group"&&$member[is_admin]==1) {
// 그룹 테이블을 검색해서 그룹 번호를 얻어옴
$result=mysql_query("select no from $group_table");
while ($data=mysql_fetch_array($result)) {
$group_number[]=$data["no"];
}
// 추가그룹 데이터를 검색해서 없어진 그룹을 찾아냄
$result=mysql_query("select distinct(group_no) from $group_member_table");
while ($data=mysql_fetch_array($result)) {
$found=false;
foreach ($group_number as $key=>$val) {
if ($val==$data[no]) $found=true;
}
if (!$found) $delete_group[]=$data[no];
}
// 없어진 그룹과 관련된 추가그룹 데이터 삭제
foreach($delete_group as $key=>$val) {
mysql_query("delete from $group_member_table where group_no=$val");
}
}
// 회원 참여 추가 그룹 삭제하는 부분
if ($exec2=="delgroup") {
@mysql_query("delete from $group_member_table where user_no=$delgroup_no and group_no=$delgroup_num", $connect) or Error(mysql_error(),"");
}
------------------------------------------------------------------------
자! 이제 변경 사항은 끝입니다.
실제로 사용에 들어가 볼까요?
일단 이 모든 기능들은 최고관리자용의 기능입니다.
최고 관리자로 로그인 해서 게시판 관리 기능으로 들어갑니다.
(벌써 다른 비공개 그룹은 만들어 놓은 상태겠죠?)
거기에서 아무 그룹이나 선택한 다음에 멤버 관리를 선택합니다.
일단 카트에 회원을 담은 다음(무슨 뜻인지 아시죠?)
만들어놓은 비공개 그룹으로 그룹을 옮기는게 아니라,
오른쪽 아래 부분의 추가 그룹에 추가 버튼 보이시죠? 그 옆의 선택 상자에서 그룹 이름을
선택한 다음에 '추가 그룹에 추가'를 누릅니다.
그러면 회원 리스트가 조금 달라질겁니다.
한줄이 더 생기죠? 그 회원이 가진 추가 그룹 정보가 바로 보이는 것입니다.
그 정보에서 추가 그룹 이름을 클릭하면 그 추가 그룹 정보는 삭제됩니다.
이렇게 말로 해서는 조금 알아듣기 힘드시겠지만, 일단 직접 게시판 관리를 해 보시면
금방 이해가 가실겁니다.
제 귀찮음에 의해 여러명의 추가 그룹 정보 삭제 기능은 만들지 않았습니다.
그리고 만약 비공개 그룹을 삭제하면 아쉽게도 추가 그룹 테이블의 정보는 삭제되지 않습니다.
(만약 그렇게 하려면 손 볼 파일이 서너개 더 늘어납니다. 끔찍하죠?^^;;;;)
그래서 이 귀차니즘의 결과로 추가 그룹 정리 버튼이 있습니다.
이걸 누르면 없어진 그룹에 대한 정보가 정리 되게 됩니다.
------------------------------------------------------------------------
장문의 글 읽어주셔서 감사합니다.
제로보드를 이용해서 커뮤니티나 동호회(특히 비공개) 만드시려는 분 들께 유용하게 쓰였으면
좋겠습니다.
질문사항은 여기에다가 해 주셔도 좋지만, 제 홈(http://www.diary4u.net)에 들러서 해 주시면
더 자세하게 답변 해 드리겠습니다.(또 홈 광고 해서 죄송합니다)
그럼.
출처 : http://www.nzeo.com/bbs/zboard.php?id=cgi_tip&page=3&sn1=&divpage=1&sn=off&ss=on&sc=off&keyword=그룹&select_arrange=headnum&desc=asc&no=2769
제가 나름대로 큰 팁이라고 생각하는 녀석을 올리려고 합니다.
발단은 제 홈 diary4u.net에 커뮤니티 기능을 넣으려고 한 것이었습니다.
비공개 커뮤니티를 제로보드를 이용하여 구현하려고 하던 중, 제로보드에는 한 사람이
한 그룹에만 속할 수 있다는 한계가 있다는 것을 발견했습니다.--;
물론 레벨로 게시판 이용 가능한 사람을 구분할 수도 있겠지만,
다른 커뮤니티에 여러 레벨을 가진 이용자가 있을 수도(있게 될 겁니다) 있지 않겠습니까?
그래서 한 사람이 여러 그룹에 속할 수 있는 방법을 찾기 시작했습니다.
그리고 대여섯시간의 삽질 끝에 만들어 내고 말았습니다^^;;;
원리는 그리 어렵지 않은데,
따로 테이블을 만들어서 사용자가 추가로 가질 그룹을 저장합니다.
그리고 _head.php에서 그룹 사용자 체크하는 부분을 수정해서 추가 그룹 데이터가 있으면
$member[group_no]를 현재 사용하려는 그룹 번호로 바꿔줍니다.
.....
한마디로 제로보드 헤더 파일의 동작을 속이는 거죠^^;
단점은.....
비공개 그룹의 멤버 관리 부분이 소용 없어진다는 점이 있습니다.
정확히 뭐라고 설명하기가 힘드네요...
------------------------------------------------------------------------
이제 공개합니다.
1. 일단 DB에 새로운 테이블을 만듭니다.(mysql에 접속해서 일단 db를 만들 수 있다는 전제로)
create table group_member_table (
uid int(20) not null primary key auto_increment,
user_no int(20) not null,
group_no int(20) not null
);
2. lib.php에서
// 관리자 테이블과 회원관리 테이블의 이름을 미리 변수로 정의
$member_table = "zetyx_member_table"; // 회원들의 데이타가 들어 있는 직접적인 테이블
$group_table = "zetyx_group_table"; // 그룹테이블
$admin_table="zetyx_admin_table"; // 게시판의 관리자 테이블
부분을 찾아서
$group_member_table="group_member_table"; // 그룹 멤버관리 테이블
부분을 추가 해 줍니다.
3. _head.php에서
// 현재 그룹이 폐쇄그룹이고 로그인한 멤버가 비멤버일때 에러표시
if($group[is_open]==0&&!$is_admin&&$member[group_no]!=$setup[group_no]) Error("공개 되어 있지 않습니다");
부분을 찾습니다. 이 부분이 폐쇄그룹일 때 멤버가 아니면 에러를 내는 부분입니다.
이 부분 바로 !!!위!!!에 다음을 추가합니다.(실제로 속이는 부분)
// 멤버의 그룹 번호가 현재 게시판의 그룹번호와 다를 때, 참여그룹에 추가되어 있는지 검사,
// 추가되어 있으면 멤버의 그룹번호를 현재 게시판의 그룹번호로 변경
if ($member[no]&&$member[group_no]!=$setup[group_no]) {
$queryString="select * from $group_member_table where user_no=".$member[no]." and group_no=".$setup[group_no];
$result=mysql_query($queryString);
if (mysql_fetch_array($result)) $member[group_no]=$setup[group_no];
}
------------------------------------------------------------------------
자, 이제 게시판 부분에서 할 일은 다 끝난것 같습니다.
이렇게 해 놔도 겉 보기에 변한 점이 없을텐데요...
이제 회원을 우리가 만든 '추가 그룹' 테이블에 추가 해 줘야 이 스크립트가 쓸모가 있겠죠?
4. admin/admin_view_member.php 에서
맨 위 부분에( <? 바로 뒤에 )
// 그룹정보를 저장
$result=mysql_query("select no, name from $group_table");
while ($data=mysql_fetch_object($result)) {
$group_name[$data->no]=$data->name;
}
이 부분을 추가 해 주시구요(그룹 테이블에서 그룹 번호와 이름을 읽어들여서 저장합니다),
다음으로는
function move_group()
{
var i, j=0, k=0;
for(i=0;i<document.write.length;i++) {
if(document.write[i].checked)
k++;
}
if(k<1)
{
alert("멤버를 선택 해 주세요");
return false;
}
if(confirm("선택된 멤버를 선택된 그룹으로 이동하시겠습니까?"))
{
write.exec2.value="move_group";
write.submit();
return true;
}
return false;
}
부분을 찾아서 바로 밑에
function add_group()
{
var i, j=0, k=0;
for(i=0;i<document.write.length;i++) {
if(document.write[i].checked)
k++;
}
if(k<1)
{
alert("멤버를 선택 해 주세요");
return false;
}
if(confirm("선택된 멤버를 선택된 그룹에 추가하시겠습니까?"))
{
write.exec2.value="add_group";
write.submit();
return true;
}
return false;
}
function clean_group() {
if (confirm("추가 그룹 테이블을 검색해서 없어진 그룹에 대한 데이터를 정리합니다.\n계속하시겠습니까?")) {
write.exec2.value="clean_group";
write.submit();
return true;
}
return false;
}
이 두 함수를 추가 해 주시구요(추가 그룹 등록, 추가 그룹 테이블 정리를 위한 함수였습니다),
또 다음으로
echo"
<tr align=center height=23 bgcolor=#e0e0e0>
<td style=font-family:Tahoma;font-size:7pt;>$number</td>
<td><input type=checkbox name=cart[] value=$data[no]></td>
<td style=font-family:Tahoma;font-size:8pt;>$data[user_id]</td>
<td><img src=images/t.gif height=3><br>$data[name] </td>
<td style=font-family:Tahoma;font-size:8pt;>$grant_color$data[level]</td>
<td style=font-family:Tahoma;font-size:8pt;>".($data[point1]*10+$data[point2])." <font style=font-size:7pt;>(".$data[point1]."/".$data[point2].")</font></td>
<td style=font-family:Tahoma;font-size:8pt;>".date("Y-m-d",$data[reg_date])."</td>
<td style=font-family:Tahoma;font-size:8pt;><a href=$PHP_SELF?exec=$exec&group_no=$group_no&exec2=modify&page=$page&no=$data[no]&keyword=$keyword&keykind=$keykind&like=$like&page_num=$page_num>Modify</a></td>
<td style=font-family:Tahoma;font-size:8pt;>";
if($data[no]>1) echo"<a href=$PHP_SELF?exec=$exec&group_no=$group_no&exec2=del&keyword=$keyword&page=$page&no=$data[no]$href onclick=\"return confirm('삭제하시겠습니까?')\">Delete</a>"; else echo" ";
echo" </td>
</tr>
";
$number--;
이런 부분을 찾아서 $number--; 부분 바로 위에
$queryString="select * from $group_member_table where user_no='".$data[no]."'";
$group_member_string="";
$gresult=mysql_query($queryString);
while ($gdata=mysql_fetch_array($gresult)) {
$group_member_string.=" <a href=$PHP_SELF?exec=$exec&group_no=$group_no&exec2=delgroup&delgroup_num=".$gdata[group_no]."&delgroup_no=".$data[no]."&keyword=$keyword&page=$page&no=$data[no]$href onclick=\"return confirm('".$data[name]."님을 ".$group_name[$gdata[group_no]]."그룹에서 삭제하시겠습니까?')\">".$group_name[$gdata[group_no]]."</a>";
}
if ($group_member_string!="") echo "<tr align=center height=23 bgcolor=#e0e0e0>
<td colspan=3 style=font-family:Tahoma;font-size:9pt;>참여중인 그룹 (지우려면 클릭하세요)</td>
<td colspan=6 align=left style=font-family:Tahoma;font-size:9pt;>$group_member_string</td>
</tr>";
이만큼을 추가 해 주세요.
이건 회원 리스트 바로 아래에 추가 그룹이 있을 때 추가 그룹 정보를 보여줍니다.
다음으로(헥헥...길다)
?></select></td>
<td><input type=button value='그룹 변경' style=border-color:#b0b0b0;background-color:#3d3d3d;color:#ffffff;font-size:8pt;font-family:Tahoma;height:20px; onclick=move_group()> </td>
<?
부분을 찾아서 <? 바로 위에
<td><select name=addgroup><?
foreach($group_name as $key=>$val) {
echo "<option value=$key>$val</option>";
}
?></select></td>
<td><input type=button value='추가그룹에 추가' style=border-color:#b0b0b0;background-color:#3d3d3d;color:#ffffff;font-size:8pt;font-family:Tahoma;height:20px; onclick=add_group()> </td>
<td><input type=button value='추가그룹 정리' style=border-color:#b0b0b0;background-color:#3d3d3d;color:#ffffff;font-size:8pt;font-family:Tahoma;height:20px; onclick=clean_group()> </td>
이만큼을 추가 해 주세요.
이 곳은 카트에 담은 회원을 새로운 추가그룹에 더하는 버튼과 추가그룹 테이블을 정리하는 버튼을 표시하는 부분입니다.
5. 여기까지 참 수고하셨습니다.
조금만 더 가면 됩니다.
이제 admin/admin_exe_member.php에서 del_member($no) 함수가 끝난 다음 부분에
아래와 같은 내용을 추가하면 됩니다.
// 회원 추가 그룹 추가하는 부분
if ($exec2=="add_group"&&$member[is_admin]==1) {
for($i=0;$i<sizeof($cart);$i++) {
// 이미 추가되어 있는지 확인
$queryString="select uid from $group_member_table where user_no='$cart[$i]' and group_no=$addgroup";
echo "<!-- queryString : $queryString -->";
$result=mysql_query($queryString) or Error(mysql_error(),"");
if (!mysql_fetch_array($result)) {
$queryString="insert into $group_member_table (user_no, group_no) values('$cart[$i]',$addgroup)";
echo "<!-- queryString : $queryString -->";
mysql_query($queryString);
}
}
movepage("$PHP_SELF?exec=view_member&group_no=$group_no&page=$page&keyword=$keyword&level_search=$level_search&page_num=$page_num&keykind=$keykind&like=$like");
}
// 추가 그룹 데이터 검색해서 없어진 그룹 정리하는 부분
if ($exec2=="clean_group"&&$member[is_admin]==1) {
// 그룹 테이블을 검색해서 그룹 번호를 얻어옴
$result=mysql_query("select no from $group_table");
while ($data=mysql_fetch_array($result)) {
$group_number[]=$data["no"];
}
// 추가그룹 데이터를 검색해서 없어진 그룹을 찾아냄
$result=mysql_query("select distinct(group_no) from $group_member_table");
while ($data=mysql_fetch_array($result)) {
$found=false;
foreach ($group_number as $key=>$val) {
if ($val==$data[no]) $found=true;
}
if (!$found) $delete_group[]=$data[no];
}
// 없어진 그룹과 관련된 추가그룹 데이터 삭제
foreach($delete_group as $key=>$val) {
mysql_query("delete from $group_member_table where group_no=$val");
}
}
// 회원 참여 추가 그룹 삭제하는 부분
if ($exec2=="delgroup") {
@mysql_query("delete from $group_member_table where user_no=$delgroup_no and group_no=$delgroup_num", $connect) or Error(mysql_error(),"");
}
------------------------------------------------------------------------
자! 이제 변경 사항은 끝입니다.
실제로 사용에 들어가 볼까요?
일단 이 모든 기능들은 최고관리자용의 기능입니다.
최고 관리자로 로그인 해서 게시판 관리 기능으로 들어갑니다.
(벌써 다른 비공개 그룹은 만들어 놓은 상태겠죠?)
거기에서 아무 그룹이나 선택한 다음에 멤버 관리를 선택합니다.
일단 카트에 회원을 담은 다음(무슨 뜻인지 아시죠?)
만들어놓은 비공개 그룹으로 그룹을 옮기는게 아니라,
오른쪽 아래 부분의 추가 그룹에 추가 버튼 보이시죠? 그 옆의 선택 상자에서 그룹 이름을
선택한 다음에 '추가 그룹에 추가'를 누릅니다.
그러면 회원 리스트가 조금 달라질겁니다.
한줄이 더 생기죠? 그 회원이 가진 추가 그룹 정보가 바로 보이는 것입니다.
그 정보에서 추가 그룹 이름을 클릭하면 그 추가 그룹 정보는 삭제됩니다.
이렇게 말로 해서는 조금 알아듣기 힘드시겠지만, 일단 직접 게시판 관리를 해 보시면
금방 이해가 가실겁니다.
제 귀찮음에 의해 여러명의 추가 그룹 정보 삭제 기능은 만들지 않았습니다.
그리고 만약 비공개 그룹을 삭제하면 아쉽게도 추가 그룹 테이블의 정보는 삭제되지 않습니다.
(만약 그렇게 하려면 손 볼 파일이 서너개 더 늘어납니다. 끔찍하죠?^^;;;;)
그래서 이 귀차니즘의 결과로 추가 그룹 정리 버튼이 있습니다.
이걸 누르면 없어진 그룹에 대한 정보가 정리 되게 됩니다.
------------------------------------------------------------------------
장문의 글 읽어주셔서 감사합니다.
제로보드를 이용해서 커뮤니티나 동호회(특히 비공개) 만드시려는 분 들께 유용하게 쓰였으면
좋겠습니다.
질문사항은 여기에다가 해 주셔도 좋지만, 제 홈(http://www.diary4u.net)에 들러서 해 주시면
더 자세하게 답변 해 드리겠습니다.(또 홈 광고 해서 죄송합니다)
그럼.
출처 : http://www.nzeo.com/bbs/zboard.php?id=cgi_tip&page=3&sn1=&divpage=1&sn=off&ss=on&sc=off&keyword=그룹&select_arrange=headnum&desc=asc&no=2769