배너/광고 숨김 선택시 에러코드 출력 > 시즌3 버그 & 건의

본문 바로가기

시즌3 버그 & 건의

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

본문

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

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

 

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

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

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

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

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

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

댓글목록4

fm25님의 댓글

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

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

maxform님의 댓글의 댓글

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

이윰넷님의 댓글

profile_image
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님의 댓글의 댓글

profile_image
신속한 피드백 감사드립니다~
전체 460 건 - 23 페이지
번호
제목
글쓴이
사이트 내 전체검색