목록에서 수정 바로가기 > 그누보드5 팁자료실

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!

그누보드5 팁자료실

목록에서 수정 바로가기 정보

목록에서 수정 바로가기

본문

목록에서 게시글 뷰페이지로 넘어가지 않고 수정페이지로 바로가기

 

commom.lib.php에서 아래 함수에 전역변수와 수정 링크 코드 추가

 

// 게시물 정보($write_row)를 출력하기 위하여 $list로 가공된 정보를 복사 및 가공
function get_list($write_row, $board, $skin_url, $subject_len=40)
{
    global $g5, $config, $g5_object;
    global $qstr, $page, $is_admin;

 

 

...

 

    // 분류명 링크
    $list['ca_name_href'] = get_pretty_url($board['bo_table'], '', 'sca='.urlencode($list['ca_name']));

    $list['href'] = get_pretty_url($board['bo_table'], $list['wr_id'], $qstr);
    $list['comment_href'] = $list['href'];

 

    // 수정(삭제 링크)
    $list['update_href'] = '';
    //$delete_href = ''; delete는 view페이지에서 토큰값을 받아야 가능하다
    // 로그인중이고 자신의 글이라면 또는 관리자라면 비밀번호를 묻지 않고 바로 수정, 삭제 가능

    if (($member['mb_id'] && ($member['mb_id'] === $write['mb_id'])) || $is_admin) {
        $list['update_href'] =     short_url_clean(G5_BBS_URL.'/write.php?w=u&bo_table='.$board['bo_table'].'&wr_id='.$list['wr_id'].'&page='.$page.$qstr);
        set_session('ss_delete_token', $token = uniqid(time()));
        //$delete_href =     G5_BBS_URL.'/delete.php?bo_table='.$board['bo_table'].'&wr_id='.$list['wr_id'].'&token='.$token.'&page='.$page.urldecode($qstr);
    }
    else if (!$write['mb_id']) { // 회원이 쓴 글이 아니라면
        $list['update_href'] = G5_BBS_URL.'/password.php?w=u&bo_table='.$board['bo_table'].'&wr_id='.$list['wr_id'].'&page='.$page.$qstr;
        //$delete_href = G5_BBS_URL.'/password.php?w=d&bo_table='.$board['bo_table'].'&wr_id='.$list['wr_id'].'&page='.$page.$qstr;
    }

 

 

 

리스트에서 사용 방법

 

<a href="<?php echo $list[$i]['href'] ?>">

대신

<a href="<?php echo $list[$i]['update_href'] ?>">

를 사용

 

 

 

글 수정 후 view페이지로 이동하지 않고 리스트로 이동하는 방법

 

위 링크에서 no_view=y 파라미터를 추가한다.

(추가하는 것이 어렵거나 귀찮은 경우 아래 코드를 복사하여 통째로 추가하면 됨)

    // 수정(삭제 링크)
    $list['update_href'] = '';
    //$delete_href = ''; delete는 view페이지에서 토큰값을 받아야 가능하다
    // 로그인중이고 자신의 글이라면 또는 관리자라면 비밀번호를 묻지 않고 바로 수정, 삭제 가능

    if (($member['mb_id'] && ($member['mb_id'] === $write['mb_id'])) || $is_admin) {
        $list['update_href'] =     short_url_clean(G5_BBS_URL.'/write.php?w=u&bo_table='.$board['bo_table'].'&wr_id='.$list['wr_id'].'
&no_view=y&page='.$page.$qstr);
        set_session('ss_delete_token', $token = uniqid(time()));
        //$delete_href =     G5_BBS_URL.'/delete.php?bo_table='.$board['bo_table'].'&wr_id='.$list['wr_id'].'&token='.$token.'&page='.$page.urldecode($qstr);
    }
    else if (!$write['mb_id']) { // 회원이 쓴 글이 아니라면
        $list['update_href'] = G5_BBS_URL.'/password.php?w=u&bo_table='.$board['bo_table'].'&wr_id='.$list['wr_id'].'
&no_view=y&page='.$page.$qstr;
        //$delete_href = G5_BBS_URL.'/password.php?w=d&bo_table='.$board['bo_table'].'&wr_id='.$list['wr_id'].'&page='.$page.$qstr;
    }

 

view.skin.php 에서 form 아래 hidden값 추가

 

    <input type="hidden" name="no_view" value="<?php echo $no_view ?>">

 

write_update.php 하단에서 분기 설정

 

// 사용자 코드 실행
@include_once($board_skin_path.'/write_update.skin.php');
@include_once($board_skin_path.'/write_update.tail.skin.php');

delete_cache_latest($bo_table);


if($no_view=='y'){
    $redirect_url = run_replace('write_update_move_url', short_url_clean(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.$qstr), $board, $wr_id, $w, $qstr, $file_upload_msg);
}else{
    $redirect_url = run_replace('write_update_move_url', short_url_clean(G5_HTTP_BBS_URL.'/board.php?bo_table='.$bo_table.'&wr_id='.$wr_id.$qstr), $board, $wr_id, $w, $qstr, $file_upload_msg);
}

 

※버그 테스트 하지 않음
-수정하시는 분 께서는 댓글로 달아주세요.

 

위 코드 적용 후 관리자 로그인 후 뷰페이지에서 글 삭제가 되지 않는 경우 

set_session('ss_delete_token', $token = uniqid(time()));

코드를 주석처리 해보시기 바랍니다. (정확한 전후 상황 판단 없이 적어놓습니다.)

추천
8

댓글 6개

전체 2,453 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT