버그 & 건의

최근본상품
TOP
DOWN

버그 & 건의

배너/광고 숨김 선택시 에러코드 출력

2015.06.05 06:54 2,253 4

본문

게시판 이외의 페이지(FAQ포함)에서 에러메세지

관리자화면에서 배너 설정(숨기기)

 

관리자페이지에서 배너를 생성하고 치환코드를 레이아웃페이지에 입력한 상태에서

일시적으로 배너를 숨길 필요가 배너/광고 관리에서 "숨김"을 선택하니

레이아웃페이지에서 에러가 발생합니다.

레이아웃페이지에서 치환코드를 삭제하면 에러가 없어집니다.

숨김을 한 배너 치환코드가 레이아웃페이지에 있으면 게시판 이외의 페이지에서 에러메세지가 발생합니다.

(이미지 첨부해서 수정하였습니다)

- maxform - 회원등급 : 지상계 / Level 8
포인트 45,762
경험치 6,672
[레벨 8] - 진행률 67%
- 가입일 : 2015-03-12 16:47:32
- 서명 : 미입력
- 자기소개 : 미입력

댓글목록 4

fm25님의 댓글

fm25 2015.06.05 07:00

어떤 오류인지를 알려주셔야 원인 파악이 쉬울 듯 합니다.
저는 이상증상이 보이지 않네요.

축하합니다. 첫댓글 포인트 104포인트를 획득하였습니다.

maxform님의 댓글

maxform 2015.06.05 09:36

이미지 첨부해서 상세하게 설명드렸습니다.

이윰넷님의 댓글

maxform님 안녕하세요.
이윰 배너/광고 시스템을 활용하여 특정 위치(예: layout 영역)에 배너노출 치환코드를 입력하고
해당 광고자리에 노출될 광고가 모두 숨기기된 경우에는 예외처리가 필요하겠네요.
아래와 같이 처리해 주시면 됩니다. 해당 버그는 다음 버전에 패치하여 적용해 놓도록 하겠습니다.
---- 아 래 -----------------
1. 대상파일 : /eyoom/classes/Template_/tpl_plugin/function.eb_banner.php
수정 전


	for($i=0; $row=sql_fetch_array($result); $i++) {
		$banner[$i][$row['bn_no']] = $row;
	}
	$max_num = count($banner)-1;
	mt_srand ((double) microtime() * 1000000);
	$num = mt_rand(0, $max_num);
	$bn = $banner[$num];
	$bn_no = key($bn);
	$data = $banner[$num][$bn_no];
	unset($banner);

	if($data) {
		if($data['bn_type'] == 'intra') {
			$img = $data['bn_img'];
			$data['image'] = $link_path.$theme .'/'. $img;

			if($data['bn_link'] == '') $data['bn_link'] = 'nolink';

			$data['tag_img'] = '<img class="img-responsive full-width" src="'.$data['image'].'" align="absmiddle">';

			if ( $data['bn_link'] != '' && $data['bn_link'] != 'nolink' ){
				$tocken = encrypt_md5($bn_no . "||" . $_SERVER['REMOTE_ADDR'] . "||" . $data['bn_link']);
				$data['html'] = '<a id="banner_' . $data['bn_no'] . '" href="' . G5_URL . '/banner.php?tocken=' . $tocken . '" target="' . $data['bn_target'] . '">';
				$data['html'] .= $data['tag_img'];
				$data['html'] .= '</a>';
			} else {
				$data['html'] = $data['tag_img'];
			}
		} else if($data['bn_type'] == 'extra') {
			$data['html'] = stripslashes($data['bn_code']);
		}
		$banner[] = $data;
	}

	sql_query("update {$g5['eyoom_banner']} set bn_exposed = bn_exposed + 1 where bn_no = '{$bn_no}'");

	return $banner;


수정 후

	for($i=0; $row=sql_fetch_array($result); $i++) {
		$banner[$i][$row['bn_no']] = $row;
	}
	if(is_array($banner)) {
		$max_num = count($banner)-1;
		mt_srand ((double) microtime() * 1000000);
		$num = mt_rand(0, $max_num);
		$bn = $banner[$num];
		$bn_no = key($bn);
		$data = $banner[$num][$bn_no];
		unset($banner);
	}

	if($data) {
		if($data['bn_type'] == 'intra') {
			$img = $data['bn_img'];
			$data['image'] = $link_path.$theme .'/'. $img;

			if($data['bn_link'] == '') $data['bn_link'] = 'nolink';

			$data['tag_img'] = '<img class="img-responsive full-width" src="'.$data['image'].'" align="absmiddle">';

			if ( $data['bn_link'] != '' && $data['bn_link'] != 'nolink' ){
				$tocken = encrypt_md5($bn_no . "||" . $_SERVER['REMOTE_ADDR'] . "||" . $data['bn_link']);
				$data['html'] = '<a id="banner_' . $data['bn_no'] . '" href="' . G5_URL . '/banner.php?tocken=' . $tocken . '" target="' . $data['bn_target'] . '">';
				$data['html'] .= $data['tag_img'];
				$data['html'] .= '</a>';
			} else {
				$data['html'] = $data['tag_img'];
			}
		} else if($data['bn_type'] == 'extra') {
			$data['html'] = stripslashes($data['bn_code']);
		}
		$banner[] = $data;
		sql_query("update {$g5['eyoom_banner']} set bn_exposed = bn_exposed + 1 where bn_no = '{$bn_no}'");
	}

	return $banner;

-----------------------------
일단 급하신데로 수정하셔서 사용하시구요.
치환코드를 레이아웃에서 제거하셔서 사용하셔도 됩니다.

감사합니다.

maxform님의 댓글

maxform 2015.06.05 09:55

신속한 피드백 감사드립니다~

전체 463 건 - 1 페이지
제목
이윰넷 2015.03.02 2,289
이영진 2019.03.11 508
포운한 2019.03.11 507
이영진 2019.03.09 964
포운한 2019.03.09 610
이영진 2019.03.08 636
이영진 2019.03.08 629
포운한 2019.03.08 1,513
이영진 2019.03.07 288
이영진 2019.02.02 292
이영진 2019.02.01 291
이영진 2019.02.01 373
이영진 2019.01.31 299
이영진 2019.01.31 344
이영진 2019.01.30 346