달력 내용 로그인후 내글만 보기확인

달력 내용 로그인후 내글만 보기확인

QA

달력 내용 로그인후 내글만 보기확인

본문

다시 전체 코드 소스 올립니다.

로그인후 내글만 볼수 있나요?

1번게시판과 2번게시판에서 내들만 볼 수있으면 합니다.

 

1. 달력스킨사용게시판 : https://wedgo1.cafe24.com/POTAL/bbs/board.php?bo_table=test088

2. 일반 보드스킨 게시판 : https://wedgo1.cafe24.com/POTAL/bbs/board.php?bo_table=test08

아이디 / 비번 

test2 / test2

 

1달력스킨게시판에서 홍길동이 글을 작성하면, 2일반보드스킨게시판 상단의 "최신글달력"에서 홍길동 본인 글만 보여지게 하려고 합니다.. 홍길순이 글 작성하면 홍길순만.. 

현재는 모두 보여집니다. (로그인후 글작성) 그리고 1.달력스킨 내글만 보기가 안되서 일반스킨으로 바꿔서 할때는 홍길동 본인 글만 잘보여지구요. 

결론은 일반 보드스킨은 작동이 잘고. 달력스킨만 안되서 그런듯 한데요.

 

아래는 내글만 보기에서 user.config.php에 설정된 값.

 

extend/user.config.php

-----------------------

<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

/* 게시판관리자

if($bo_table=='test088' && !$is_admin){
$sfl='mb_id'; $stx = $member['mb_id'] ? $member['mb_id'] : '없음';
}
// 내글만보기 ?>

-----------------------------


그리고 최신글 위젯의 데이터 관련 소스는 아래입니다.

본인글 데이터 보이게 설정도 해봤는데 잘 안되네요.

-> mb_id='{$member['mb_id']}'<-- 쿼리부분에 넣으면 달력에 입력된 값 모두 못 가져오구요.
---------------------------------------------------------------------------------

<?php
if (!defined('_GNUBOARD_')) exit; //개별 페이지 접근 불가

global $g5;

$wid = $grid;

$bo_table = $wset['bo_table'];

//$bo_table = 'event'; // 강제로 추가

$tcolor = (isset($wset['color']) && $wset['color']) ? $wset['color'] : 'orangered';

// Today
$today = getdate();
$year = $today['year'];
$mon = $today['mon'];
$day = $today['mday'];

$qstr2 = '&year='.urlencode($year).'&month='.urlencode($mon);

$chk_today = $year.sprintf("%02d",$mon).sprintf("%02d",$day);

$sql_ca = ($wset['ca_name']) ? "and find_in_set(ca_name, '{$wset['ca_name']}')" : "";

$tmp_write_table = $g5['write_prefix'] . $bo_table;
$result = sql_query("select * from $tmp_write_table where wr_is_comment = '0' and left(wr_1,8) <= '{$chk_today}' and left(wr_2,8) >= '{$chk_today}' $sql_ca order by wr_id asc", false);

$date_arrow_url = $widget_url.'/img/date_arrow.gif';
$date_dot_url = $widget_url.'/img/dot_09.png';

?>

<style type="text/css">
    p.title     {font-size: 14px; font-weight:bold}
    img {border:0}
    .ymd{margin-top:15px;}
    .ymd a{color : #333!important;font-size : 16px; padding: -10px;}
    .ymd a:hover{color : #ff0000!important;}
    .ymd ul{width : 100%;}        
    .ymd ul li{float : left; list-style-type:none; padding:0% 0.9%;}
    .ymd ul li.sunday    {text-align: center; font-size: 14px; color: #FF0000;}
    .ymd ul li.sunday a  {color: #FF0000!important;}
    .ymd ul li.saturday  {text-align: center; font-size: 14px; color: #3366CC;}
    .ymd ul li.saturday a  {color: #3366CC!important;}
    .ymd ul li.weekday   {text-align: center; font-size: 12px;}
    .ymd ul li a{background:url('<?php echo $date_dot_url; ?>') left 13px no-repeat; font-size: 12px;height : 100%; padding:18px 0px;}
    .ymd ul li div.txt_box{position:absolute; margin-left : -65px; margin-top:-5px; text-align : center; display : none; width : 140px;z-index:10;}
    .ymd ul li div.txt_box p{text-align : center;background:#d71920; padding: 5px 0px; color : #fff;margin-top:-7px;} 
    .ymd ul li div.txt_box ul.txt_ul_box{float : left; text-align : left; padding : 10px; background:#fff;margin-top:-10px;}
    .ymd ul li div.txt_box ul.txt_ul_box li{width : 100%;display:block;padding : 0px;}
    .ymd ul li div.txt_box ul.txt_ul_box li a{float : left; padding : 0px;color :#333!important;background:#fff;}
</style>

<script>
    function openDate(DateName) {
        var i;
        var x = document.getElementsByClassName("Date");
        for (i = 0; i < x.length; i++) {
           x[i].style.display = "none";  
        }
        document.getElementById(DateName).style.display = "block";  
    }
</script>


<?php
    //달력 변경시 년, 월 불러오기.
    if ($_GET["year"]) {
        $year = $_GET["year"];
    }
    if ($_GET["month"]) {
        $mon = $_GET["month"];
    }

    $lastday=array(0,31,28,31,30,31,30,31,31,30,31,30,31); // 월별 끝나는 날짜 설정.
    if ($year%4 == 0) $lastday[2] = 29;  // 2월 끝나는 날짜 설정
    
    $dayoftheweek = date("w", mktime (0,0,0, $mon,1,$year)); 
?>
<!-- 달력 뿌리기 -->
<div class="ymd">
<div class="row">
    <div class="col-xs-12 col-sm-12 col-md-12" style="margin-right: -10px; padding-bottom: 15px;"><!-- 월단위 선택 -->
        <a href="<?php echo G5_BBS_URL; ?>/board.php?bo_table=<?php echo $bo_table; ?>" style="color:#FFFFFF;" onfocus="this.blur()" title="일정관리 바로가기"><b><?php echo $year; ?>. <?php echo  $mon; ?></b></a>
    </div>
    <div class="col-xs-12 col-sm-12 col-md-12" style=" ">
    <ul style="margin-left: -10px; text-align: center;">
    <?php
            $cday = 1;
            $sel_mon[i] = sprintf("%02d", $mon);
            $query = "select * from ".$g5['write_prefix'].$bo_table." where left(wr_1,6) <= '".$year.$sel_mon[i]."'  and left(wr_2,6) >= '".$year.$sel_mon[i]."'  order by wr_id asc";
            $result = sql_query($query);
            
            // 쿼리결과 내용이 있을경우 비교값($html_day)와 제목($title) 배열 설정
            while ($row = sql_fetch_array($result)) {  // 제목글 뽑아서 링크 문자열 만들기..
                if( substr($row[wr_1],0,6) < $year.$sel_mon[i] ) { //검색된 자료중 wr_1 필드의 값과 현재날짜 값 비교
                    $start_day[i] =1; 
                    $start_day[i]= (int)$start_day[i];
                } else {
                    $start_day[i] = substr($row[wr_1],6,2);
                    $start_day[i]= (int)$start_day[i];
                }
            
                if( substr($row[wr_2],0,6) > $year.$sel_mon[i] ) { //검색된 자료중 wr_2 필드의 값과 현재날짜 값 비교
                    $end_day[i] = $lastday[ $mon]; //끝나는 날짜 가져오기 line 59
                    $end_day[i]= (int)$end_day[i];
                } else {
                    $end_day[i] = substr($row[wr_2],6,2);
                    $end_day[i]= (int)$end_day[i];
                }
            
                for ($i = $start_day[i] ; $i <= $end_day[i];  $i++) {
                    $html_day[$i] = "1";
                    $title[$i][] = $row['wr_subject']; // 제목글 삽입
                    $wr_id[$i]= $row['wr_id']; // 제목글 삽입
                }
            }                
            
            $temp = 7- (($lastday[ $mon]+$dayoftheweek)%7);
            
            
            if ($temp == 7) $temp = 0;
            
            $lastcount = $lastday[ $mon]+$dayoftheweek + $temp;
            
            // $lastcount = 42
            // $lastcount 는 달력을 이루고 있는 전체 셀의 갯수이다.  2003년 11월은 날짜 30개와 빈칸 12개 다.
            // 
            
            for ($iz = 1; $iz <= $lastcount; $iz++) { // 42번을 칠하게 된다.
                //$bgcolor = "#ffffff";  // 쭉 흰색으로 칠하고
                $offset = $iz%7;
             
                if ($dayoftheweek < $iz  &&  $iz <= $lastday[ $mon]+$dayoftheweek) {
                    
                    switch ($offset) {  // 요일 표시 및 색깔 결정
                        case 6: $dstyle = 'weekday';
                                $weekname = '(금)';    
                        break;
                        case 5: $dstyle = 'weekday';
                                $weekname = '(목)';
                        break;
                        case 4: $dstyle = 'weekday';
                                $weekname = '(수)';
                        break;
                        case 3: $dstyle = 'weekday';
                                $weekname = '(화)';                        
                        break;
                        case 2: $dstyle = 'weekday';
                                $weekname = '(월)';                        
                        break;
                        case 1: $dstyle = 'sunday';
                                $weekname = '(일)';                                                
                        break;
                        case 0: $dstyle = 'saturday';
                                $weekname = '(토)';                        
                        break;
                        default: $dstyle = 'weekday';
                    }  
                    
                    if ($html_day[$cday]) { 
                        $f_date = $year.sprintf("%02d", $mon).sprintf("%02d",$cday);                           
                        $Ctitle = count($title[$cday]); //해당 날짜에 입력된 정보 카운트
                        

                        echo "<li class='".$dstyle."'><a href='#' onclick='openDate("date_".$cday."");  return false;'>".$cday."</a>";
                        echo "<div id='date_".$cday."' class='Date txt_box'><img src='".$date_arrow_url."'><p>".$year.".".$mon.".".$cday.$weekname."</p>";
                        echo "<ul class='txt_ul_box'>";
                            for ($i = 1 ; $i <= $Ctitle;  $i++) {
                                echo "<li><a href='/bbs/board.php?bo_table=".$bo_table."&wr_id=".$wr_id[$cday]."&year=".$year."&month=".$mon."'>- ".$title[$cday][$i-1]."</a></li>";                                    
                            }
                        echo "</ul>";
                        echo "</div>";
                        
                    } 
                    else { // 숫자만 출력하기 
                        echo "<li class='".$dstyle."'>".$cday;                        
                    }                       
                     echo ("</li>\n");  // 날짜을 마무리
                     
                    $cday++; // 날짜를 카운팅
                } 
            
            } // 반복구문이 끝남
            ?>

        </ul>
    </div>
</div>
</div>
<!-- 테스트 부분 -->


--------------------------------------------------------------------------

이 질문에 댓글 쓰기 :

답변 2


 $query = "select * from ".$g5['write_prefix'].$bo_table." where mb_id='{$member['mb_id']}' and left(wr_1,6) <= '".$year.$sel_mon[i]."'  and left(wr_2,6) >= '".$year.$sel_mon[i]."'  order by wr_id asc";

 

이렇게 하셨는데 안되신다는건가요?

네. 답변 감사합니다. 위와 같이 했었는데요 적용하니 토글 및 작성한 글내용이 안보입니다. 희안하게 달력만 그러네요. 위 쿼리문 없이도 내글보기 적용하면 일반 최신글 스킨은 되구요.

소스 올려놓아습니다 확인해보세요

답변을 작성하시기 전에 로그인 해주세요.
전체 139
QA 내용 검색

회원로그인

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