Автор: GaRRiLL
Дата сообщения: 21.06.2002 16:43
Gumanoid
Там не сложно. Добавлять нужно только одну строку. В двух словах объясню:
Вот.
require_once("includes/blocks_news.php");
Содержание этого файла:
Код: function blocks($side) {
global $storynum, $prefix, $multilingual, $currentlang, $dbi, $admin, $user, $block_side; // $block_side added by Somara Sem
if ($multilingual == 1) {
$querylang = "AND (blanguage='$currentlang' OR blanguage='')";
} else {
$querylang = "";
}
$side = strtolower($side[0]); // Added by Somara Sem
$block_side = $side; // Added by Somara Sem
if (strtolower($side[0]) == "l") {
$pos = "l";
} elseif (strtolower($side[0]) == "r") {
$pos = "r";
} elseif (strtolower($side[0]) == "c") {
$pos = "c";
}
$side = $pos;
$result = sql_query("select bid, bkey, title, content, url, blockfile, view from ".$prefix."_news_blocks where position='$pos' AND active='1' $querylang ORDER BY weight ASC", $dbi);
while(list($bid, $bkey, $title, $content, $url, $blockfile, $view) = sql_fetch_row($result, $dbi)) {
if ($bkey == userbox) {
userblock();
} elseif ($bkey == "") {
if ($view == 0) {
render_blocks($side, $blockfile, $title, $content, $bid, $url);
} elseif ($view == 1 AND is_user($user) || is_admin($admin)) {
render_blocks($side, $blockfile, $title, $content, $bid, $url);
} elseif ($view == 2 AND is_admin($admin)) {
render_blocks($side, $blockfile, $title, $content, $bid, $url);
} elseif ($view == 3 AND !is_user($user) || is_admin($admin)) {
render_blocks($side, $blockfile, $title, $content, $bid, $url);
}
}
}
}
function headlines($bid, $cenbox=0) {
global $prefix, $dbi;
$result = sql_query("select title, content, url, refresh, time from ".$prefix."_news_blocks where bid='$bid'", $dbi);
list($title, $content, $url, $refresh, $otime) = sql_fetch_row($result, $dbi);
$past = time()-$refresh;
if ($otime < $past) {
$btime = time();
$rdf = parse_url($url);
$fp = fsockopen($rdf['host'], 80, $errno, $errstr, 15);
if (!$fp) {
$content = "";
//$content = "<font class=\"content\">"._RSSPROBLEM."</font>";
$result = sql_query("update ".$prefix."_news_blocks set content='$content', time='$btime' where bid='$bid'", $dbi);
$cont = 0;
if ($cenbox == 0) {
themesidebox($title, $content);
} else {
themecenterbox($title, $content);
}
return;
}
if ($fp) {
fputs($fp, "GET " . $rdf['path'] . "?" . $rdf['query'] . " HTTP/1.0\r\n");
fputs($fp, "HOST: " . $rdf['host'] . "\r\n\r\n");
$string = "";
while(!feof($fp)) {
$pagetext = fgets($fp,300);
$string .= chop($pagetext);
}
fputs($fp,"Connection: close\r\n\r\n");
fclose($fp);
$items = explode("</item>",$string);
$content = "<font class=\"content\">";
for ($i=0;$i<10;$i++) {
$link = ereg_replace(".*<link>","",$items[$i]);
$link = ereg_replace("</link>.*","",$link);
$title2 = ereg_replace(".*<title>","",$items[$i]);
$title2 = ereg_replace("</title>.*","",$title2);
if ($items[$i] == "") {
$content = "";
sql_query("update ".$prefix."_news_blocks set content='$content', time='$btime' where bid='$bid'", $dbi);
$cont = 0;
if ($cenbox == 0) {
themesidebox($title, $content);
} else {
themecenterbox($title, $content);
}
return;
} else {
if (strcmp($link,$title)) {
$cont = 1;
$content .= "<strong><big>·</big></strong><a href=\"$link\" target=\"new\">$title2</a><br>\n";
}
}
}
}
sql_query("update ".$prefix."_news_blocks set content='$content', time='$btime' where bid='$bid'", $dbi);
}
$siteurl = ereg_replace("http://","",$url);
$siteurl = explode("/",$siteurl);
if (($cont == 1) OR ($content != "")) {
$content .= "<br><a href=\"http://$siteurl[0]\" target=\"blank\"><b>"._HREADMORE."</b></a></font>";
} elseif (($cont == 0) OR ($content == "")) {
$content = "<font class=\"content\">"._RSSPROBLEM."</font>";
}
if ($cenbox == 0) {
themesidebox($title, $content);
} else {
themecenterbox($title, $content);
}
}