묻고답하기
XE 기본 방명록에서 관리권한으로 삭제하기
2013.04.09 05:22
방명록이 좀 문제가 있는것 같은데요.
관리자 외에 다른 회원에게 관리권한을 줘도 방명록에 올라온 글들이 삭제가 안되네요.
오직 관리자만 삭제가 되는데요.
심지어 비회원이 댓글 달 경우 비밀번호를 집어넣어도 삭제가 안되는데
그 부분은 해결한 게시판을 통해서 코드를 집어 넣어서 해결되었습니다.
그런데 관리권한을 받은 다른 회원 그룹이 삭제를 못하네요.
또 하나는 관리권한에서 > 모듈관리자 에 관리자 ID 추가가 전혀 안됩니다.
이 방법을 좀 해결 부탁드립니다.
관련 코드는요....
/**
* @brief Guestbook item delete
**/
function procGuestbookDeleteGuestbookItem(){
$guestbook_item_srl = Context::get('guestbook_item_srl');
if(!$guestbook_item_srl) return new Object(-1,'msg_invalid_request');
$password = Context::get('password');
$output = $this->deleteGuestbookItem($guestbook_item_srl,$password);
if(!$output->toBool()) return $output;
}
function deleteGuestbookItem($guestbook_item_srl,$password = null,$password_ck = true){
$oGuestbookModel = &getModel('guestbook');
$output = $oGuestbookModel->getGuestbookItem($guestbook_item_srl);
$oGuest = $output->data;
if(!$oGuest) return new Object(-1,'msg_invalid_request');
$logged_info = Context::get('logged_info');
//check grant
//is_logged
if(!$this->grant->manager)
{
if($logged_info->member_srl != ''){
if($oGuest->member_srl != $logged_info->member_srl) return new Object(-1,'msg_not_permitted');
} else {
if($password_ck && $oGuest->member_srl == '0' && $oGuest->password != md5($password)) return new Object(-1,'msg_not_permitted');
}
}
// delete children
$pobj->parent_srl = $guestbook_item_srl;
$output = executeQueryArray('guestbook.getGuestbookItem', $pobj);
if($output->data){
foreach($output->data as $k=>$v){
$poutput = $this->deleteGuestbookItem($v->guestbook_item_srl,$password,false);
if(!$poutput->toBool()) return $poutput;
}
}
$obj->guestbook_item_srl = $guestbook_item_srl;
$output = executeQuery('guestbook.deleteGuestbookItem', $obj);
if(!$output->toBool()) return $output;
return $output;
}