테스트 사이트 - 개발 중인 베타 버전입니다

목록에서 수정 바로가기

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

 

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

 

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

 

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

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

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

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 6개

대박 좋은정보감사합니다!
목록에서 수정 바로가기
좋은정보 감사합니다!

게시판 목록

그누보드5 팁자료실

글쓰기