뉴스 스티커 > 그누3 스킨

그누3 스킨

뉴스 스티커 정보

최신글 뉴스 스티커

첨부파일

newslink.zip (6.2K) 79회 다운로드 2004-02-18 22:21:20

본문

얼마전
지니아빠님이 phpschool 에서 퍼온 소스를 응용해서 만들었읍니다.
기존소스는 직접 뉴스 사이트에서 링크를 긁어 오기 때문에
속도에 문제점이 있어서 직접사용하기에는 왠지 부담스러웠으나
한시간 마다 디비에저장해서 디비에서 불러오기 때문데 그런 부담을 줄일수 있게 하였읍니다.

참고로 저의 홈페이지에서는 이상없이 잘 되고 있읍니다.
안되시면 리플 바랍니다.

최신글 처럼 사용하기때문데 최신글 스킨에 올렸지만
불러오는 부분을 main.php 가 아니라 어느페이지에다 붙일수 있읍니다.
현재 불러오는 부분은 div marqee 태크를 붙였으나 싫으신부분은
불러오는 부분만 살짝 고쳐서 사용하세요.(그냥 태그만 지우시면 됨)
링크 1은 한글 홈페이지에 적용한 예이고
링크 2는 일본어 홈페이지에 적용한 예입니다.

그런데 뉴스스티커에 뉴스 티커에요  이런걸 뭐라 그러는지???

readme.txt 내용
#############################################
키도니다뉴스 스티커
제작자 : kidonida.na.ly
카피레프트 입니다. 맘껏 수정하시고
수정하신 내용은 서로 공유하시길
단 원제작자 문구는 남겨주심 고맙겠읍니다.

주의사항
링크만하는것은 현재 저작권에 걸리는 판례는 없다고
합니다. 그래도 사용하기전에 확인 하세요.

관련 뉴스사이트나 저작권 관련글을 읽어 보십시요.

이소스를 사용해서 입은 피해에 대해서는 본인이 책임을
져야 합니다.

kidonida.na.ly 에 저작권에 관한 관련글이 있읍니다.
참조하세요

글내용까지 붙이고 싶으신분은 신문사에 직접 연락하세요
섹션당 월 50 만원에서 200 만원 정도 지불하시면
야후뉴스 처럼 내용까지도 붙이실 수 있읍니다.
(현재 이소스에는 뉴스링크만 나오게 하였읍니다.)


설치
첨부한 newslink.sql 파일을 설치합니다.

mysql -u 유저명 -p 디비명 < newslink.sql

첨부한 다음파일을 업로드한다.
news.php
newssection.php
newsli.gif


밑에 기술한 코드  두 부분을  기존홈페이지 소스에
붙이거나 새로운 파일로 만든다.
그누보드의 경우
( 처음 부분은 main.php 나 기타 뉴스스티커가 나올파일에 붙인다.
함수부분은 developper.lib.php 에 붙이거나 새로운 파일로 만들어
index.php 에서 include 한다.)

사용법

1.현재 설정사항
한시간마다 뉴스를 업데이트한다(뉴스사이트에서 불러온다.)
밤 11시부터 익일 세시까지는 업데이트 안한다.

고치실 분은 news.php 상단부분의 내용을 수정하세요

2.함수 사용예
sqlnews('한겨레','경제','m', 'http://www.hani.co.kr/section-004000000/home01.html', '30',$adm);
}
한겨레 신문사 경제 섹션을 불어와서 디비에 입력한다.
outputlist('경제','m' ,'20','5');
디비에서 경제부분을 불러온다. (동아일보 조선일본 신문사 관계없이 경제섹션은 다 불러온다.)

3.특징
뉴스를 업데이트 하는 페이지는 news.php 입니다.




#############################################
뉴스를 불러오그 싶은부분에 붙이세요
#############################################
<!-- news start -->
<table width=100% cellpadding=0 cellspacing=1 align=center valign=top bgcolor=black>
<tr ><td height=25 align=left bgcolor=blue> &nbsp;&nbsp;
<a href='./?doc=news.php'><font color=white><b>신문은 언제나 한겨레</b></font></a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#DDDDFF><? echo date("Y")." 년 ".date("m")." 월 ".date("d")." 일"; ?></font></td></tr></table>
<div class=box1><marquee scrollamount=1 scrolldelay=100 direction=up width=552 height=60 align='middle'><span style='font-size:14px;color:#ff9900'>
<? outputlatestnews('m' ,'20','10'); ?>
</span></marquee></div>


<P>
<!-- news end -->
#############################################



#############################################
함수부분 밑에 내용을 include 하거나
라이브러리 파일에 붙이세요
#############################################
//news function start
function get($url){
        $fp = fopen($url, "r");
       
        while(!feof($fp)){
                $tmp = fgets($fp, 1024);
                $temp .= $tmp;
        }
       
fclose($fp);

return $temp;
}//function get

function Strip($all){// link and title
       
        $link_pm=strpos($all,">");
       
        $link=substr($all,0,$link_pm);
       
        if(!$link) return;
       
        if(ereg("\"",$link)){
               
                $link_p=strpos($link,"\"");
                $link=substr($link,$link_p+1);
                $link_p=strpos($link,"\"");
               
                $link=substr($link,0,$link_p);
        }
       
        if(ereg("'",$link)){
               
                $link_p=strpos($link,"'");
                $link=substr($link,$link_p+1);
                $link_p=strpos($link,"'");
               
                $link=substr($link,0,$link_p);
        }
       
        $link=trim($link);
       
        $substr=substr($all,$link_pm+1);
        $substr_p=strpos($substr,"</a>");
        $substr=substr($substr,0,$substr_p);
        $strip=strip_tags($substr);
        $strip=trim($strip);
       
        return array(link => $link, sub => $strip);
}//function strip($all)


function makeUrl($Url, $Link){
       
        if(!strpos($Link,"http://") && substr_count("$Link","http://")) return $Link;
       
        $eURL = pathinfo("$Url");
       
        $host = parse_url($Url);
        $host = $host[scheme]."://".$host[host];
       
        $Link = "/".$Link;        //link to root
        if(substr_count("$Link","../")){       
               
                $Link = str_replace("./../", "", $Link);
                $Link = str_replace("../", "", $Link);
               
                $pos = strrpos($eURL["dirname"], "/");
                $makeUrl = substr($eURL["dirname"],0,$pos);
               
                $makeUrl = "$makeUrl"."$Link";
       
        }else if(substr_count("$Link","//") && !strpos($Link, "//")){        //to root
               
                $makeUrl = $host."/".str_replace("//", "", $Link);
               
        }else{        //jejari
               
                $Link = str_replace("./", "", $Link);
                $makeUrl = $eURL["dirname"]."$Link";
        }

return $makeUrl;       
}

function sqlnews($newscom='KSN',$newscat='NEWS', $newsparad='m' , $newslink, $newslimit='30',$is_adm='0'){

$date_Y = date("Y");
$date_M = date("m");
$date_D = date("d");
$now  = date("Y-m-d H:i:s", time());


if($newsparad == "y")
$mdate = "$date_Y"; 

if($newsparad == "m")
$mdate = "$date_Y$date_M"; 

if($newsparad == "d")
$mdate = "$date_Y$date_M$date_D"; 


////////////////////////////////////////////////////////////<== journal confirm

$newspaper[] = $newscom ;
$URL[] = $newslink ;
$like[] = $mdate ;

////////////////////////////////////////////////////////////<==journal confirm

for($x=0; $x < sizeof($newspaper); $x++){

        $temp = get($URL[$x]);

        $all = split("href =|HREF =|href=|HREF=",$temp);//--> url extract

$li = 0;

if($is_adm)
echo "<br>";
               
        for($i=0; $i < sizeof($all); $i++){
               
                $kisa =  Strip($all[$i]);

                if((ereg($like[$x], $kisa[link]) && 20 < strlen($kisa[sub])) && $li < $newslimit){
                       
                        $LinkURL = makeUrl($URL[$x], $kisa[link]);
                       
$sql = " select wr_link from newslink where wr_link = '$LinkURL' ";
$result = sql_query($sql);
$row = sql_fetch($sql);
if(!$row){
$sqli = " insert into newslink set
y_id = '$date_Y',
m_id = '$date_M',
d_id = '$date_D',
regist_datetime = '$now',
wr_subject = '$kisa[sub]',
wr_link = '$LinkURL',
wr_newspapername = '$newspaper[$x]',
wr_catname = '$newscat'";
$resulti = @mysql_query($sqli);
if ($resulti)
$li++;

if($is_adm)
echo $kisa[sub]." updated <br>";
}

                }//if(ereg($like[$x], $kisa[link]) && 20 < strlen($kisa[sub]))
        }//for($i=0; $i < sizeof($all); $i++)
}//for($x=0; $x < sizeof($newspaper); $x++)
if($li =='0'){

$sqlu = " update newslink set regist_datetime = '$now' where news_id ='1' ";
@mysql_query($sqlu);

if($is_adm)
echo "No Updated News<br>";

}

}

function outputnews($newscat='',$newsparad='m' ,$newsheight='20',$newslimit='30'){


if($newsparad == "y")
$mdate = "$date_Y"; 

if($newsparad == "m")
$mdate = "$date_Y$date_M"; 

if($newsparad == "d")
$mdate = "$date_Y$date_M$date_D"; 



$sql = " select * from newslink where wr_catname = '$newscat' order by news_id desc limit $newslimit";

if($newscat == "")
$sql = " select * from newslink order by news_id desc limit $newslimit";


$result = sql_query($sql);
echo "<table>";
for ($k=0; $row = mysql_fetch_array($result); $k++){
$news_id[$k]=$row[news_id];
$news_y[$k]=$row[y_id];
$news_m[$k]=$row[m_id];
$news_d[$k]=$row[d_id];
$news_dt[$k]=$row[regist_datetime];
$news_sub[$k]=$row[wr_subject];
$news_link[$k]=$row[wr_link];
$news_newspapername[$k]=$row[wr_newspapername];
$news_newscat[$k]=$row[wr_catname];
$regist_datetime[$k]=$row[regist_datetime];

echo "<tr><td width=100% height=$newsheight><img src='./newsli.gif' align=absmiddle border=0> ";
//echo "";
echo "<font color=gray>[$news_id[$k]] </font><a target=_blank href='$news_link[$k]'>".$news_sub[$k]."</a> <font color=#9797FD>[ ".$news_newspapername[$k]." ] </font>&nbsp;&nbsp;<font color=gray>(  ".$regist_datetime[$k]." )</font></td></tr>";

}
echo "</table>";

mysql_free_result($result);
}

function outputlist($newscat='',$newsparad='m' ,$newsheight='20',$newslimit='30'){


if($newsparad == "y")
$mdate = "$date_Y"; 

if($newsparad == "m")
$mdate = "$date_Y$date_M"; 

if($newsparad == "d")
$mdate = "$date_Y$date_M$date_D"; 



$sql = " select * from newslink where wr_catname = '$newscat' order by news_id desc limit $newslimit";
if($newscat == "")
$sql = " select * from newslink order by news_id desc limit $newslimit";
$result = sql_query($sql);
echo "<table>";
for ($k=0; $row = mysql_fetch_array($result); $k++){
$news_id[$k]=$row[news_id];
$news_y[$k]=$row[y_id];
$news_m[$k]=$row[m_id];
$news_d[$k]=$row[d_id];
$news_dt[$k]=$row[regist_datetime];
$news_sub[$k]=$row[wr_subject];
$news_link[$k]=$row[wr_link];
$news_newspapername[$k]=$row[wr_newspapername];
$news_newscat[$k]=$row[wr_catname];
$regist_datetime[$k]=$row[regist_datetime];

echo "<tr><td width=40 valign=top height=$newsheight><font color=gray>".$news_newspapername[$k]."</font></td>";
//echo "";
echo "<td><a target=_blank href='$news_link[$k]'>".$news_sub[$k]."</a> </td></tr>";

}
echo "</table>";

mysql_free_result($result);
}

function outputlatestnews($newsparad='m' ,$newsheight='20',$newslimit='6'){


if($newsparad == "y")
$mdate = "$date_Y"; 

if($newsparad == "m")
$mdate = "$date_Y$date_M"; 

if($newsparad == "d")
$mdate = "$date_Y$date_M$date_D"; 



$sql = " select * from newslink order by news_id desc limit $newslimit";
$result = sql_query($sql);
echo "<table bgcolor=black width=552>";
for ($k=0; $row = mysql_fetch_array($result); $k++){
$news_id[$k]=$row[news_id];
$news_y[$k]=$row[y_id];
$news_m[$k]=$row[m_id];
$news_d[$k]=$row[d_id];
$news_dt[$k]=$row[regist_datetime];
$news_sub[$k]=$row[wr_subject];
$news_link[$k]=$row[wr_link];
$news_newspapername[$k]=$row[wr_newspapername];
$news_newscat[$k]=$row[wr_catname];
$regist_datetime[$k]=$row[regist_datetime];

echo "<tr><td width=100% height=$newsheight><img src='./newsli.gif' align=absmiddle border=0> ";
//echo "";
echo "<font color=gray><b>".$news_newscat[$k]."</b></font> <a href='./?doc=news.php'><font color=white>".$news_sub[$k]."</font></a> <font color=#9797FD>[ ".$news_newspapername[$k]." ]</font></td></tr>";

}
echo "</table>";

mysql_free_result($result);
}
function news_up_sql($news_cat){
$now_m = date("m");
$now_d = date("d");
$now  = date("Y-m-d H:i:s", time());

$sql = " select * from newslink where m_id = '$now_m' and d_id = '$now_d' and wr_newspapername =  '$news_cat' ";
 
$row = sql_fetch($sql);




if($row){

$sqlu = " update newslink set regist_datetime = '$now' where news_id ='1' ";
    @mysql_query($sqlu);
return "ok";

}
else{

return "no";}
}

////////news function end
#############################################
추천
0

댓글 전체

전체 169
그누3 스킨 내용 검색 최신글에서

회원로그인

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