글 수 151
홈페이지를 관리하다 보면 같은 그룹에서도 회원을 몇가지 분류로 관리해야 하는 경우가 생기죠.
보통 회원의 레벨을 조절하는 것으로 하실 텐데, 회원의 가입 자료를 가지고 하는 경우도 있지만, 관리자가 직접 판단을 해서 레벨을 수정해야만 하는 경우도 참 많습니다.
이러한 경우 저처럼 게으른 관리자는 수시로 관리자 모드로 접속하는 게 매우 귀찮은 일이죠..
그래서 신규회원이 가입했다는 사실을 쪽지로 알려주면 편할 것 같아서 몇가지 추가했습니다.
수정해야 할 파일은 제로보드 디렉토리의 member_join_ok.php 파일입니다.
중간에서 약간 아래 부분을 보시면 (95번째 줄 주변)
mysql_query("insert into $member_table (level,group_no,user_id,password,name,email,homepage,icq,year,msn,jumin,comment,job,hobby,home_address,home_tel,office_address,office_tel,handphone,mailing,birth,reg_date,openinfo,open_email,open_homepage,open_icq,open_msn,open_comment,open_job,open_hobby,open_home_address,open_home_tel,open_office_address,open_office_tel,open_handphone,open_birth,open_picture,picture,open_aol) values ('$group_data[join_level]','$group_data[no]','$user_id',password('$password'),'$name','$email','$homepage','$icq','$year','$msn',password('$jumin'),'$comment','$job','$hobby','$home_address','$home_tel','$office_address','$office_tel','$handphone','$mailing','$birth','$reg_date','$openinfo','$open_email','$open_homepage','$open_icq','$open_msn','$open_comment','$open_job','$open_hobby','$open_home_address','$open_home_tel','$open_office_address','$open_office_tel','$open_handphone','$open_birth','$open_picture','$picture_name','$open_aol')") or error("회원 데이타 입력시 에러가 발생했습니다<br>".mysql_error());
mysql_query("update $group_table set member_num=member_num+1 where no='$group_data[no]'");
이와 같은 줄을 찾으실 수 있습니다. 정보의 타당성 검사를 하고 이상이 없어서 zetyx_member_table에 데이터를 입력하는 부분이죠.
이 다음 라인에 다음을 추가합니다.
// 회원 가입 사실을 관리자에게 알림
$masters=mysql_query("select * from $member_table where is_admin=1||(is_admin=2&&group_no=$group_data[no])",$connect);
// where 부분이 복잡한 것 같습니다만, is_admin=1인 사람은 최고 관리자이고 2인 사람은 그룹 관리자죠. 최고관리자와 해당 그룹의 그룹관리자에 해당하는 사람을 추출합니다.
$masters_num=mysql_affected_rows(); // 쪽지를 보내는 대상의 수입니다. 아래 for문의 루프를 한정하죠.
for($i=0;$i<$masters_num;$i++){
mysql_data_seek($masters,$i);
$master_info=mysql_fetch_array($masters);
$memo=$name."(".$user_id.") 님께서 ".$group_data[name]."그룹에 새로 가입했습니다.";
mysql_query("insert into $get_memo_table (member_no,member_from,subject,memo,readed,reg_date) values ($master_info[no],1,'회원가입 안내','$memo',1,'$reg_date')") or error(mysql_error());
// 이 위부분이 메모를 보내는 부분입니다. 보내는 사람은 회원번호가 1인 사람, 즉 게시판을 처음 설치한 최고관리자입니다. 누가 보내는 걸로 하는 것이 좋을까 하다가 이 사람이 보내는 것이 가장 무난할 것 같아 그렇게 했습니다.
mysql_query("update $member_table set new_memo=1 where no=$master_info[no]") or error(mysql_error()); // 새로운 쪽지가 왔다는 사실을 알려 주죠.
}
==================================================================================
<추가했습니다> 회원 탈퇴할 때 관리자에게 쪽지 보내기
방식은 위와 똑같습니다.
수정해야 할 파일은 member_out.php파일입니다.
적당한 곳에다 다음을 삽입합니다. 저는 49번째 줄
// 그룹테이블에서 회원수 -1
@mysql_query("update $group_table set member_num=member_num-1") or error(mysql_error());
요 다음에 삽입했습니다.
// 회원 탈퇴 사실을 관리자에게 알림. 이 아래를 삽입합니다.
$masters=mysql_query("select * from $member_table where is_admin=1||(is_admin=2&&group_no=$group[no])",$connect); // $group[no] 변수가 가입때와 다르죠..
$masters_num=mysql_affected_rows();
$reg_date=time(); // 보낸 시각 나타내는 변수를 만듭니다.
$memo=$member[name]."(".$member[user_id].") 님께서 ".$group[name]."그룹에서 탈퇴했습니다."; // 역시 변수가 조금 바뀌었습니다.
for($i=0;$i<$masters_num;$i++){
mysql_data_seek($masters,$i);
$master_info=mysql_fetch_array($masters);
mysql_query("insert into $get_memo_table (member_no,member_from,subject,memo,readed,reg_date) values ($master_info[no],1,'회원탈퇴 안내','$memo',1,'$reg_date')") or error(mysql_error());
mysql_query("update $member_table set new_memo=1 where no=$master_info[no]") or error(mysql_error());
}
==================================================================================
보통 회원의 레벨을 조절하는 것으로 하실 텐데, 회원의 가입 자료를 가지고 하는 경우도 있지만, 관리자가 직접 판단을 해서 레벨을 수정해야만 하는 경우도 참 많습니다.
이러한 경우 저처럼 게으른 관리자는 수시로 관리자 모드로 접속하는 게 매우 귀찮은 일이죠..
그래서 신규회원이 가입했다는 사실을 쪽지로 알려주면 편할 것 같아서 몇가지 추가했습니다.
수정해야 할 파일은 제로보드 디렉토리의 member_join_ok.php 파일입니다.
중간에서 약간 아래 부분을 보시면 (95번째 줄 주변)
mysql_query("insert into $member_table (level,group_no,user_id,password,name,email,homepage,icq,year,msn,jumin,comment,job,hobby,home_address,home_tel,office_address,office_tel,handphone,mailing,birth,reg_date,openinfo,open_email,open_homepage,open_icq,open_msn,open_comment,open_job,open_hobby,open_home_address,open_home_tel,open_office_address,open_office_tel,open_handphone,open_birth,open_picture,picture,open_aol) values ('$group_data[join_level]','$group_data[no]','$user_id',password('$password'),'$name','$email','$homepage','$icq','$year','$msn',password('$jumin'),'$comment','$job','$hobby','$home_address','$home_tel','$office_address','$office_tel','$handphone','$mailing','$birth','$reg_date','$openinfo','$open_email','$open_homepage','$open_icq','$open_msn','$open_comment','$open_job','$open_hobby','$open_home_address','$open_home_tel','$open_office_address','$open_office_tel','$open_handphone','$open_birth','$open_picture','$picture_name','$open_aol')") or error("회원 데이타 입력시 에러가 발생했습니다<br>".mysql_error());
mysql_query("update $group_table set member_num=member_num+1 where no='$group_data[no]'");
이와 같은 줄을 찾으실 수 있습니다. 정보의 타당성 검사를 하고 이상이 없어서 zetyx_member_table에 데이터를 입력하는 부분이죠.
이 다음 라인에 다음을 추가합니다.
// 회원 가입 사실을 관리자에게 알림
$masters=mysql_query("select * from $member_table where is_admin=1||(is_admin=2&&group_no=$group_data[no])",$connect);
// where 부분이 복잡한 것 같습니다만, is_admin=1인 사람은 최고 관리자이고 2인 사람은 그룹 관리자죠. 최고관리자와 해당 그룹의 그룹관리자에 해당하는 사람을 추출합니다.
$masters_num=mysql_affected_rows(); // 쪽지를 보내는 대상의 수입니다. 아래 for문의 루프를 한정하죠.
for($i=0;$i<$masters_num;$i++){
mysql_data_seek($masters,$i);
$master_info=mysql_fetch_array($masters);
$memo=$name."(".$user_id.") 님께서 ".$group_data[name]."그룹에 새로 가입했습니다.";
mysql_query("insert into $get_memo_table (member_no,member_from,subject,memo,readed,reg_date) values ($master_info[no],1,'회원가입 안내','$memo',1,'$reg_date')") or error(mysql_error());
// 이 위부분이 메모를 보내는 부분입니다. 보내는 사람은 회원번호가 1인 사람, 즉 게시판을 처음 설치한 최고관리자입니다. 누가 보내는 걸로 하는 것이 좋을까 하다가 이 사람이 보내는 것이 가장 무난할 것 같아 그렇게 했습니다.
mysql_query("update $member_table set new_memo=1 where no=$master_info[no]") or error(mysql_error()); // 새로운 쪽지가 왔다는 사실을 알려 주죠.
}
==================================================================================
<추가했습니다> 회원 탈퇴할 때 관리자에게 쪽지 보내기
방식은 위와 똑같습니다.
수정해야 할 파일은 member_out.php파일입니다.
적당한 곳에다 다음을 삽입합니다. 저는 49번째 줄
// 그룹테이블에서 회원수 -1
@mysql_query("update $group_table set member_num=member_num-1") or error(mysql_error());
요 다음에 삽입했습니다.
// 회원 탈퇴 사실을 관리자에게 알림. 이 아래를 삽입합니다.
$masters=mysql_query("select * from $member_table where is_admin=1||(is_admin=2&&group_no=$group[no])",$connect); // $group[no] 변수가 가입때와 다르죠..
$masters_num=mysql_affected_rows();
$reg_date=time(); // 보낸 시각 나타내는 변수를 만듭니다.
$memo=$member[name]."(".$member[user_id].") 님께서 ".$group[name]."그룹에서 탈퇴했습니다."; // 역시 변수가 조금 바뀌었습니다.
for($i=0;$i<$masters_num;$i++){
mysql_data_seek($masters,$i);
$master_info=mysql_fetch_array($masters);
mysql_query("insert into $get_memo_table (member_no,member_from,subject,memo,readed,reg_date) values ($master_info[no],1,'회원탈퇴 안내','$memo',1,'$reg_date')") or error(mysql_error());
mysql_query("update $member_table set new_memo=1 where no=$master_info[no]") or error(mysql_error());
}
==================================================================================