웹툴즈에서 몇 가지를 만들어 봤는데요… 트래픽 부담도 있고 해서, 필요하신 분들은 직접 설치해서 쓰시라고 소스를 공개합니다.

PHP가 어려우신 분께서는 아래의 삽입코드는 그대로 이용하셔도 무방합니다. 좀 더 다양한 기능 (통계분석, 이웃관리, 랜덤, 이웃랜덤 등)을 이용하시려면 웹툴즈 홈페이지에서 회원 가입 후 이용하셔야 합니다. (DB와 연결되는 부분이라 어쩔 수 없네요.)

간단히 HTML로만 이루어진 소스는 며칠 전에 공개했으니, 그 것을 이용하시면 됩니다.

RSS로 구독을 원하시면 며칠 전 공개한 RSS구독 PHP소스를 이용하시면 됩니다.

아래 코드는 웹툴즈에서 제공하고 있는 부분 중 회원가입이 필요하진 않은 부분만 추린 소스입니다.

삽입코드

<iframe name='opencastframe' id='opencastframe' src='http://opencast.netne.net/embed.php?opencast_id=KK244&opencast_index=3&is_header=1&is_footer=1&is_feed=1&opencast_feed=opencast.netne.net/feed.php?id=KK244' width='475 height='336' border='0' frameborder='0' scrolling='no' marginheight='0' marginwidth='0' allowtransparency='true'></iframe>

옵션 설명

http://opencast.netne.net/embed.php embed.php의 도메인을 포함한 전체 경로
opencast_id=KK244 필수, 오픈캐스트의 캐스트 채널 아이디
opencast_index=3 생략하면 최신 발행, 발행번호
is_header=1 상단에 캐스트 채널 보일지 여부, 0 또는 생략하면 안보임
is_footer=1 하단에 구독링크 보일지 여부, 0 또는 생략하면 안보임
is_feed=1 하단에 rss 구독링크 보일지 여부, 0 또는 생략하면 안보임, is_footer=1 일 때만 보임
opencast_feed= feed링크에 연결할 주소, 블로그 RSS링크로 바꿔도 됨. 앞서 공개한 RSS PHP파일 경로를 이용. http://를 붙이지 말 것.

만약 is_feed=1 인데, opencast_feed를 생략하면 기본 RSS주소로 링크됩니다. 기본 링크 주소를 바꾸시려면 embed.php의 13번 줄을 변경하시면 됩니다.

view.php

오픈캐스트의 캐스트보드 부분만을 가져오는 IFRAME 소스

view.php?opencast_id=KK244 또는
view.php?opencast_id=KK244&opencast_index=3 형태로 불러오면, 캐스트보드만 가져옴.

캐스트보드만 보여주기 원하면 이 소스만 이용하면 됨.

<?php
// GET변수 가져옴
$opencast_id = $_GET['opencast_id'];
$opencast_index = $_GET['opencast_index'];

$opencast_url = "http://opencast.naver.com/" . $opencast_id;

if ($opencast_index)
$opencast_url .= "/" . $opencast_index;
?>

<body topmargin="0" leftmargin="0" style="background-color:transparent">
<div style="position:absolute; width:475; height:275; left:-263px; top:-127px;">
<iframe name='opencast' id='opencast' src='<?=$opencast_url?>' width='738' height='402' border='0' frameborder='0' scrolling='no' marginheight='0' marginwidth='0' allowtransparency='true'></iframe>
</div>
</body>

embed.php

상단 제목과 하단 구독링크를 만들기 위해서 확장한 것임.

파란색으로 된 줄은 자신의 홈페이지 등으로 링크해서 쓰세요 .

3개의 이미지 파일이 필요합니다. 각 이미지는 embed.php이 있는 디렉토리 하단에 images 디렉토리를 만들어서 업로드 합니다.

<?php
// GET변수 가져옴
$opencast_id = $_GET['opencast_id'];
$opencast_index = $_GET['opencast_index'];
$is_header = $_GET['is_header'];
$is_footer = $_GET['is_footer'];
$opencast_feed = $_GET['opencast_feed'];
$is_feed = $_GET['is_feed'];

$opencast_url = "http://opencast.naver.com/" . $opencast_id;

if ($is_feed && !$opencast_feed)
$opencast_feed = "opencast.netne.net/feed.php?id=" . $opencast_id;

$fp = fopen($opencast_url,"r");
$content = "";
while( !feof($fp) ){
$buffer = fgets($fp,4096);
$content .= $buffer;
}
fclose($fp);

preg_match("/<h1>.*<\/h1>/", $content, $matches);

echo "<p>";
if( $matches[0] == ""){
$ch_link = "";
} else {
$ch_link = $matches[0];
$ch_link = str_replace("a href=\"/", "a target=\"_blank\" href=\"http://opencast.naver.com/", $ch_link);
}

$footer_top = 318;
if (!$is_header)
$footer_top -= 37;
?>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style>
a:link    {color:#666;text-decoration:none;}
a:visited {color:#666;text-decoration:none;}
a:active  {color:#333;text-decoration:none;}
a:hover  {color:#333;text-decoration:none;}

#chlink { width:100%; height:32px; background:url(images/cast_logo.gif) no-repeat 0 9px; background-color:#272e3c; }
<?php if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE')) { ?>
#chlink h1 { font-size: 12px; float:left; padding:9px 9px 0 27px; color:#fff; }
<?php } else { ?>
#chlink h1 { font-size: 12px; float:left; padding:2px 9px 0 27px; color:#fff; }
<?php } ?>
#chlink h1 span { position:relative; top:-1px;  margin-right:1px; padding-right:3px; font-size:11px; color:#01939c; font-family:Tahoma, sans-serif;}
#chlink h1 a { color:#fff; }

#chrssicon { position:absolute; width:100%; height:24px; background-color:#f0f0f0; font-size: 11px; font-family:Dotum; float:left; padding:4px 0 0 8px; color:#333333; left:0px; top:<?=$footer_top-6?>px;}
#chrsslink { position:absolute; width:120px; height:24px; font-size: 11px; color:#333333; font-family:Dotum; top:<?=$footer_top?>px; left:28px;}
#chrssicon2 { position:absolute; width:20px; height:24px; background-color:#f0f0f0; font-size: 11px; font-family:Dotum; float:left; padding:4px 0 0 8px; color:#333333; left:110px; top:<?=$footer_top-6?>px;}
#chrsslink2 { position:absolute; width:120px; height:24px; font-size: 11px; color:#333333; font-family:Dotum; top:<?=$footer_top?>px; left:137px;}
#chrssicon3 { position:absolute; width:20px; height:24px; background-color:#f0f0f0; font-size: 11px; font-family:Dotum; float:left; padding:4px 0 0 8px; color:#333333; left:183px; top:<?=$footer_top-6?>px;}
#chrsslink3 { position:absolute; width:120px; height:24px; font-size: 11px; color:#333333; font-family:Dotum; top:<?=$footer_top?>px; left:210px;}
#webtools { position:absolute; width:120px; height:24px; font-size: 10px; color:#333333; font-family:Tahoma, sans-serif; top:10px; left:<?php if($is_right) echo "450px;"; else echo "410px;"; ?> }
#webtools a { color:#666; }
#chhelp { position:absolute; width:220px; height:24px; font-size: 11px; color:#999999; font-family:Dotum; top:<?=$footer_top?>px; left:270px;}

#blank1 { padding:5px 0 0 0; }
</style>
</head>
<body topmargin="0" leftmargin="0" style="background-color:transparent">
<?php if ($is_header) { ?>
<div id="chlink"><?=$ch_link?></div>
<div id="webtools"><a href="http://webtools.kr" target="_blank">WEBTOOLS</a></div>
<div id="blank1"></div>
<?php } ?>
<iframe name='opencast' id='opencast' src='http://opencast.netne.net/view.php?opencast_id=<?=$opencast_id ?>&opencast_index=<?=$opencast_index?>' width='475' height='275' border='0' frameborder='0' scrolling='no' marginheight='0' marginwidth='0' allowtransparency='true'></iframe>
<?php if ($is_footer) { ?>
<div id="chrssicon"><img src="images/cast_link1.gif"></div>
<div id="chrsslink"><a href="<?=$opencast_url?>?action=subscribe" target="_blank">네이버에서 구독</a></div>
<?php if ($is_feed == 1) { // 피드출력 옵션이 체크된 경우만 RSS링크 출력 ?>
<div id="chrssicon2"><img src="images/cast_link2.gif"></div>
<div id="chrsslink2"><a href="http://www.hanrss.com/add_sub.qst?url=http://<?=$opencast_feed?>" target="_blank">HanRSS</a></div>
<div id="chrssicon3"><img src="images/cast_link2.gif"></div>
<div id="chrsslink3"><a href="http://<?=$opencast_feed?>" target="_blank">RSS</a></div>
<?php } ?>
<div id="chhelp">마우스를 올려놓고 휠을 사용해 보세요.</div>
<?php } ?>
</body>
</html>

  1. 2009.07.27 14:27

    비밀댓글입니다

    • k2man 2009.07.27 15:00 신고

      위에 소스는 단순히 네이버 오픈캐스트를 IFRAME으로 가져오기 위한 소스입니다.
      말씀하신 것을 하려면 플래시를 따로 공부하셔야 할 것으로 보입니다.
      도움이 못되어 죄송하네요. ^^;

  2. 2009.07.27 18:53

    비밀댓글입니다

오픈캐스트를 블로그에 넣기 위한 간단한 프로그램(?)을 만들었다가, 이제는 덩치가 너무 커지는 것 같습니다. 이 것을 마지막으로 더 이상 버그 수정 외에 업그레이드는 없을 듯 합니다.

오픈캐스트를 블로그에 넣기 위한 방법, 이전 글을 안보신 분께서는 오른쪽에 있는 이전 글을 참고 하세요.. ^^;; 웹툴즈 홈페이지를 방문하셔서 옵션을 바꾸면서 해보시면 쉽게 이해가 되실 겁니다.

오늘 소개해 드릴 기능은 이웃 맺기와 랜덤 보여주기 기능입니다.

먼저 실행 화면을 보시죠.. ^^

이웃 기능

우선 오른쪽에 “이웃” 링크가 생겼습니다.

옵션 중에 아래처럼 노출 여부를 선택할 수 있습니다. 이웃 캐스터 등록은 웹툴즈 홈페이지에서 커뮤니티 > 캐스트 이웃 게시판에서 글을 스크랩하면 됩니다.

자신의 캐스트를 다른 사람이 선택하기 위해서는 이 게시판에 먼저 글을 작성해 주셔야 합니다.

image

랜덤 출력

위에 적용한 것은 내 캐스트 노출 비율을 30%로 했습니다. 즉, 내 캐스트를 30% 노출하고, 나머지 70%는 다른 사람의 것 중 랜덤하게 노출 하는 것입니다.

랜덤 출력을 사용함으로 했을 경우에는 통계 데이터에서 찾아 랜덤하게 보여 줍니다.

단, 조건이 있는데요… 통계 데이터 기록은 로그인 후에 HTML코드를 생성해서 사용하신 분만 기록됩니다. 즉, 로그인 후에 HTML코드를 생성하신 분의 캐스트보드만 랜덤하게 노출됩니다. (처음에는 모두 통계데이터를 기록했는데, DB용량이 너무 커지는 것 같아서 어쩔 수 없었습니다.)

다른 방법으로 이웃 캐스터만 랜덤하게 노출되는 옵션도 있습니다. 이 경우는 이웃 캐스터로 등록한 분들의 캐스트보드를 랜덤하게 보여줍니다.

image

제가 또 너무 어렵게 포스팅 했는지 모르겠네요…

저도 제가 쓴 글을 읽다가 다른 분이 소개한 글을 읽으면 머리에 쏙쏙 들어오더라구요~~

여하튼, 이 쯤으로 더 이상의 기능추가는 그만하려고 합니다.

많이 이용해 주세요… http://webtools.kr 에서 가져가시면 됩니다.

애드센스를 사용하다 보면, 아무 수익이 없는 공익광고가 뜰 때가 의외로 많습니다.

이 경우 블로그의 중요한 자리를 꿰차고 있는 애드센스가 미워지기도 합니다. 이런 경우에 애드센스 공익광고 대신 블로거뉴스 위젯이 출력되록 하는 방법을 소개하고자 합니다.

아래 이미지는 제 다른 블로그인 시사미( http://sisa.me )에 적용한 화면입니다. 평소에는 애드센스 광고가 나오지만, 광고가 뜨지 않거나 공익광고가 나오는 경우에는 대신 블로거뉴스 위젯이 출력되도록 했습니다. (아시겠지만, 공익광고는 아무리 클릭해도 수익이 발생하지 않습니다. 아까운 공간이 낭비되고 있죠.)

image

제가 운영하고 있는 애드퍼블릭에 해당 기능을 넣었습니다. 이제부터 방법을 설명해 드리겠습니다.

 

1단계 : 애드퍼블릭에서 URL생성

먼저 애드퍼블릭( http://adpublic.org )로 이동합니다.

image

링크정보 > 블로거뉴스 위젯 URL 메뉴로 이동합니다.

image

아래처럼 화면이 나오는데, 여기서 자신에 맞는 설정을 하고 확인을 누르시면 됩니다.

회원가입과 로그인을 하지 않고도 이용할 수 있지만, 그렇게 하면 통계가 잡히지 않습니다. 통계보기 기능은 아직 만들고 있지만, 통계에 사용될 로그는 기록되고 있습니다.

따라서, 로그인을 하신 후에 URL을 생성하실 것을 권장합니다.

애드센스 크기에 따라 글 수와 위젯 크기가 자동으로 조정됩니다. 이 곳의 정보만 변경해 주시면 자동으로 최적의 크기로 생성됩니다.

모든 설정을 마쳤으면, 가장 아래에 있는 URL을 복사합니다.

image

 

2단계 : 애드센스 공익광고 설정

애드센스에 로그인 하신 후, 애드센스 설정 > 광고관리에 들어갑니다.

image

수정할 광고의 광고설정 수정하기 >> 를 클릭합니다.

image

추가 옵션 부분에 대체 광고 또는 색상란이 있습니다. 여기에서 Google이 아닌 다른 URL의 광고표시 부분에 복사하신 URL을 붙여넣기 하시면 됩니다.

image

이제 설정저장을 누르시면 모든 설정이 끝났습니다.

 

애드퍼블릭

애드퍼블릭에서는 이 외에도 비영리 광고를 공유하고, 애드센스 공익광고 대신 대체해 주는 기능도 있습니다.

앞으로 더 다양하고 재밌는 기능들을 개발하고 소개해 드리겠습니다. 많은 이용 부탁드립니다. ^^

+ Recent posts