/*
RSS script for Intellect Board 2 Project
(C) 2006, XXXX Pro, United Open Project
Visit us online: http://intboard.ru
*/
$IBOARD=1;
error_reporting(E_ERROR | E_WARNING | E_PARSE |E_CORE_ERROR | E_CORE_WARNING);
set_error_handler("err_handler");
set_magic_quotes_runtime(0);
$start_time = microtime();
require("xaphpi.php");
require("common.php");
require("config/database.php");
require("config/iboard.php");
require("db/$DBdriver.php");
require("addons.php");
$forum = getvar("f");
$topic = getvar("t");
$action = getvar("a");
$count = getvar('count');
if (!$count) $count=10;
$GLOBALS['inuserid']=1;
$GLOBALS['inuserbasic']="0";
if (!$action && $topic) $action="topic";
elseif (!$action && $forum) $action="forum";
elseif (!$action) $action="stats";
if ($DBpersist) $link=db_pconnect($DBhost,$DBusername,$DBpassword);
else $link=db_connect($DBhost,$DBusername,$DBpassword);
db_select_db($DBname,$link);
$sql = "SELECT st.*,ln.*, u_lformat FROM ".$GLOBALS['DBprefix']."User, ".$GLOBALS['DBprefix']."StyleSet st, ".$GLOBALS['DBprefix']."Language ln WHERE u_id=1 AND u_stid=st_id AND u_lnid=ln_id";
$res=db_query($sql,$link);
$style=db_fetch_array($res);
db_free_result($res);
$GLOBALS['inuser']=$style;
load_lang("main.php");
if (!$do_mode || getvar('preview')) load_style("message.php");
load_lang("format.php");
if ($action=="topic") { // ñîäåðæèìîå òåìû
$sql = "SELECT f_lread, t.*, IFNULL(ua_level,0) AS level FROM ".$GLOBALS['DBprefix']."Forum f, ".$GLOBALS['DBprefix']."Topic t ".
"LEFT JOIN ".$GLOBALS['DBprefix']."UserAccess ON (uid=1 AND f_id=fid) ".
"WHERE t_id=\"$topic\" AND t_fid=f_id";
$res=db_query($sql,$link);
$tdata=db_fetch_array($res);
db_free_result($res);
$title=$tdata['t_title'];
$descr=$tdata['t_descr'];
$url="index.php?t=$topic";
if ($tdata['level']>=$tdata['f_lread']) {
$sql = "SELECT p.*, file_size, file_name FROM ".$GLOBALS['DBprefix']."Post p ".
" LEFT JOIN ".$GLOBALS['DBprefix']."File ON (p_attach=file_id) ".
" WHERE p_tid=\"$topic\" AND p__premoderate=0 ORDER BY p_id DESC LIMIT ".intval($count);
$res=db_query($sql,$link);
while ($pdata=db_fetch_array($res)) {
$item['title']=$pdata['p_title'];
$item['descr']=strip_tags(textout($pdata['p_text'],$pdata['p__html'],$pdata['p__bcode'],$pdata['p__smiles']));
if ($item['file_id']) $item['descr'].="
".MSG_p_attachfile." (".$pdata['file_name'].", ".$pdata['file_size']." ".MSG_bytes.")";
$item['date']=$pdata['p__time'];
$item['author']=$pdata['p_uname'];
$item['link']="index.php?t=".$tdata['t_id']."&p=".$pdata['p_id']."#pp".$pdata['p_id'];
$items[]=$item;
}
}
}
elseif ($action=="last_topics") { // òîëüêî íîâûå òåìû
$sql = "SELECT t.*, p_uname, p__time FROM ".$GLOBALS['DBprefix']."Topic t, ".$GLOBALS['DBprefix']."Forum f, ".$GLOBALS['DBprefix']."Post p ".
"LEFT JOIN ".$GLOBALS['DBprefix']."UserAccess ua ON (ua.uid=1 AND ua.fid=f.f_id) ".
"WHERE t_fid=f_id AND t__pcount>0 $sqldata AND f.f_lview<=IFNULL(ua_level,0) AND t_id=p_tid AND t__startpostid=p_id ".
"ORDER BY t_id DESC LIMIT ".intval($count);
$res = db_query($sql,$link);
while ($tdata=db_fetch_array($res)) {
$item['title']=$tdata['t_title'];
$item['descr']=$tdata['t_descr']."
";
$item['descr'].=format_word($tdata['t__pcount'],MSG_p1,MSG_p2,MSG_p3).", ".MSG_t_last.": ".$tdata['p_uname'].", ".long_date_out($tdata['p__time']);
if ($tdata['t__status']) $item['descr'].="
".MSG_t_closed;
$item['date']=$tdata['p__time'];
$item['author']=$tdata['p_uname'];
$item['link']="index.php?t=".$tdata['t_id'];
$items[]=$item;
}
db_free_result($res);
}
elseif ($action=="forum") { // ðàçäåë
$sql = "SELECT f.*, IFNULL(ua_level,0) AS level FROM ".$GLOBALS['DBprefix']."Forum f ".
"LEFT JOIN ".$GLOBALS['DBprefix']."UserAccess ON (uid=1 AND f_id=fid) ".
"WHERE f_id=\"$forum\"";
$res=db_query($sql,$link);
$fdata=db_fetch_array($res);
db_free_result($res);
$title=$fdata['f_title'];
$descr=$fdata['f_descr'];
$url="index.php?f=$forum";
if ($fdata['level']>=$fdata['f_lread']) {
$sql = "SELECT t.*, p__time, p_uname FROM ".$GLOBALS['DBprefix']."Topic t, ".$GLOBALS['DBprefix']."Post WHERE t_fid=\"$forum\" AND p_tid=t_id AND p_id=t__lastpostid AND t__pcount>0 ORDER BY p_id DESC LIMIT ".intval($count);
$res=db_query($sql,$link);
while ($tdata=db_fetch_array($res)) {
$item['title']=$tdata['t_title'];
$item['descr']=$tdata['t_descr']."
";
$item['descr'].=format_word($tdata['t__pcount'],MSG_p1,MSG_p2,MSG_p3).", ".MSG_t_start.": ".$tdata['p_uname'].", ".long_date_out($tdata['p__time']);
if ($tdata['t__status']) $item['descr'].="
".MSG_t_closed;
$item['date']=$tdata['p__time'];
$item['author']=$tdata['p_uname'];
$item['link']="index.php?t=".$tdata['t_id'];
$items[]=$item;
}
db_free_result($res);
}
}
elseif ($action=="newtopic") {
$sql = "SELECT f.*, IFNULL(ua_level,0) AS level FROM ".$GLOBALS['DBprefix']."Forum f ".
"LEFT JOIN ".$GLOBALS['DBprefix']."UserAccess ON (uid=1 AND f_id=fid) ".
"WHERE f_id=\"$forum\"";
$res=db_query($sql,$link);
$fdata=db_fetch_array($res);
db_free_result($res);
$title=$fdata['f_title'];
$descr=$fdata['f_descr'];
$url="index.php?f=$forum";
if ($fdata['level']>=$fdata['f_lread']) {
$sql = "SELECT * FROM ".$GLOBALS['DBprefix']."Topic t, ".$GLOBALS['DBprefix']."Post WHERE t_fid=\"$forum\" AND p_tid=t_id AND p_id=t__startpostid AND t__pcount>0 ORDER BY p_id DESC LIMIT ".intval($count);
$res=db_query($sql,$link);
while ($tdata=db_fetch_array($res)) {
$item['title']=$tdata['t_title'];
$tdata['p_text']=strip_tags(textout($tdata['p_text'],$tdata['p__html'],$tdata['p__bcode'],$tdata['p__smiles']));
if (strlen($tdata['p_text'])>1024)
$item['descr']=substr($tdata['p_text'],0,1024)."...";
else $item['descr']=$tdata['p_text'];
$item['date']=$tdata['p__time'];
$item['author']=$tdata['p_uname'];
$item['link']="index.php?t=".$tdata['t_id']."&st=0";
$items[]=$item;
}
db_free_result($res);
}
}
elseif ($action=="active") { // àêòèâíûå òåìû
$period=getvar('period');
if ($onlyforum) $sqldata=" AND f_tpid=1";
if ($period) $sqldata.=" AND p__time>".(time()-$period*60*60*24);
$sql = "SELECT t.*, p__time, p_uname FROM ".$GLOBALS['DBprefix']."Topic t, ".$GLOBALS['DBprefix']."Forum f, ".$GLOBALS['DBprefix']."Post ".
"LEFT JOIN ".$GLOBALS['DBprefix']."UserAccess ua ON (ua.uid=1 AND ua.fid=f.f_id) ".
"WHERE t_fid=f_id AND p_id=t__lastpostid AND p_tid=t_id AND f.f_lview<=IFNULL(ua_level,0) AND t__pcount>0 $sqldata ".
"ORDER BY t__pcount DESC LIMIT ".intval($count);
$res = db_query($sql,$link);
while ($tdata=db_fetch_array($res)) {
$item['title']=$tdata['t_title'];
$item['descr']=$tdata['t_descr']."
";
$item['descr'].=format_word($tdata['t__pcount'],MSG_p1,MSG_p2,MSG_p3).", ".MSG_t_last.": ".$tdata['p_uname'].", ".long_date_out($tdata['p__time']);
if ($tdata['t__status']) $item['descr'].="
".MSG_t_closed;
$item['date']=$tdata['p__time'];
$item['author']=$tdata['p_uname'];
$item['link']="index.php?t=".$tdata['t_id'];
$items[]=$item;
}
db_free_result($res);
}
else { // îáùàÿ ñòàòèñòèêà
$title=$GLOBALS['opt_title'];
$url=$GLOBALS['opt_url'];
$descr=MSG_main_include;
$sql = "SELECT SUM(f__pcount), SUM(f__tcount) FROM ".$GLOBALS['DBprefix']."Forum ".
"LEFT JOIN ".$GLOBALS['DBprefix']."UserAccess ON (uid=".$GLOBALS['inuserid']." AND fid=f_id) ".
"WHERE f_nostats=0 AND $lang f_lview<=IFNULL(ua_level,".$GLOBALS['inuserbasic'].")";
$res = db_query($sql,$link);
list($p_total,$t_total) = db_fetch_row($res);
db_free_result($res);
$sql = "SELECT p__time FROM ".$GLOBALS['DBprefix']."Post ORDER BY p__time DESC LIMIT 1";
$res=db_query($sql,$link);
list($lastdate)=db_fetch_row($res);
db_free_result($res);
$sql = "SELECT COUNT(u_id) AS u_total FROM ".$GLOBALS['DBprefix']."User u WHERE u_id>3";
$res = db_query($sql,$link);
list($u_total) = db_fetch_row($res);
db_free_result($res);
$sql = "SELECT u_id, u__name, u__regdate FROM ".$GLOBALS['DBprefix']."User u ORDER BY u_id DESC LIMIT 1";
$res = db_query($sql,$link);
list($uid,$uname,$udate) = db_fetch_row($res);
$ucount['u_total'] = $u_total;
db_free_result($res);
$item['title']=MSG_main_include;
$item['descr']=format_word($t_total,MSG_t1,MSG_t2,MSG_t3).", ".
format_word($p_total,MSG_p1,MSG_p2,MSG_p3).", ".format_word($ucount['u_total'],MSG_u1,MSG_u2,MSG_u3).
".\n ".MSG_main_lastuser.": ".$uname;
$item['date']=max($udate,$lastdate);
$item['author']=$GLOBALS['opt_title'];
$item['link']="";
$items[]=$item;
}
if ($url) $url=$GLOBALS['opt_url']."/".$url;
$buffer = '
GLOBAL FORUM ERROR: =htmlspecialchars($errtext);?> |