Na webu mám asi 5 diskusních fór. Na hlavní straně potřebuji vypisovat nejnovější témata z těch pěti. Snažil jsem se upravit HCM recentposts, ale pořád dělá to, k čemu byl navržen. Vypisuje každý příspěvek. Takže se mi tam jedno téma objeví třeba 5x díky tomu, že tam někdo odpovídá. Můžete to upravit tak, aby se vypisovali témata pouze jednou? Díky
<?php
/*--- kontrola jadra ---*/
if(!defined('_core')){exit;}
/*--- definice funkce modulu ---*/
function _HCM_nejnovejsi($limit=null, $stranky="", $typ=null){
//priprava
$result="";
if(isset($limit) and intval($limit)>=1){$limit=abs(intval($limit));}else{$limit=10;}
//filtr cisel sekci, knih nebo clanku
if(isset($stranky) and isset($typ)){
$rtype=intval($typ);
if($rtype<1 or $rtype>3){$rtype=1;}
$rroots="("._sqlWhereColumn("home", $stranky).") AND type=".$rtype;
}
else{
$rroots="type!=4";
}
$query=mysql_query("SELECT id,type,home,xhome,subject,author,guest,time,text FROM `"._mysql_prefix."-posts` WHERE ".$rroots." ORDER BY id DESC LIMIT ".$limit);
while($item=mysql_fetch_array($query)){
//nacteni titulku a odkazu na stranku
switch($item['type']){
case 1: case 3: $homelink=_linkRoot($item['home']); $hometitle=mysql_fetch_array(mysql_query("SELECT title FROM `"._mysql_prefix."-root` WHERE id=".$item['home'])); break;
case 2: $homelink=_linkArticle($item['home']); $hometitle=mysql_fetch_array(mysql_query("SELECT title FROM `"._mysql_prefix."-articles` WHERE id=".$item['home'])); break;
case 5:
if($item['xhome']==-1){
$tid=$item['id'];
$hometitle=array("title"=>$item['subject']);
}
else{
$tid=$item['xhome'];
$hometitle=mysql_fetch_array(mysql_query("SELECT subject FROM `"._mysql_prefix."-posts` WHERE id=".$item['xhome']));
$hometitle=array("title"=>$hometitle['subject']);
}
$homelink="index.php?m=topic&id=".$tid;
break;
}
//nacteni jmena autora
if($item['author']!=-1){$authorname=_linkUser($item['author'], null, true, true);}
else{$authorname=$item['guest'];}
$hometitle=$hometitle['title'];
$result.="
<tr class='tema-obsah'><td style='width:50%'><a href='".$homelink."'>".$hometitle."</a></td><td><a href='/index.php?m=profile&id=".$authorname."'>".$authorname."</a></td><td style='width:25%'>"._formatTime($item['time'])."</td></tr>
";
}
return $result;
}
?>
<?php
/*--- kontrola jadra ---*/
if(!defined('_core')){exit;}
/*--- definice funkce modulu ---*/
function _HCM_nejnovejsi($limit=null, $stranky="", $typ=null){
//priprava
$result="";
if(isset($limit) and intval($limit)>=1){$limit=abs(intval($limit));}else{$limit=10;}
//filtr cisel sekci, knih nebo clanku
if(isset($stranky) and isset($typ)){
$rtype=intval($typ);
if($rtype<1 or $rtype>3){$rtype=1;}
$rroots="("._sqlWhereColumn("home", $stranky).") AND type=".$rtype;
}
else{
$rroots="type!=4";
}
$query=mysql_query("SELECT id,type,home,xhome,subject,author,guest,time,text FROM `"._mysql_prefix."-posts` WHERE ".$rroots." ORDER BY id DESC LIMIT ".$limit);
while($item=mysql_fetch_array($query)){
//nacteni titulku a odkazu na stranku
switch($item['type']){
case 1: case 3: $homelink=_linkRoot($item['home']); $hometitle=mysql_fetch_array(mysql_query("SELECT title FROM `"._mysql_prefix."-root` WHERE id=".$item['home'])); break;
case 2: $homelink=_linkArticle($item['home']); $hometitle=mysql_fetch_array(mysql_query("SELECT title FROM `"._mysql_prefix."-articles` WHERE id=".$item['home'])); break;
case 5:
if($item['xhome']==-1){
$tid=$item['id'];
$hometitle=array("title"=>$item['subject']);
}
else{
$tid=$item['xhome'];
$hometitle=mysql_fetch_array(mysql_query("SELECT subject FROM `"._mysql_prefix."-posts` WHERE id=".$item['xhome']));
$hometitle=array("title"=>$hometitle['subject']);
}
$homelink="index.php?m=topic&id=".$tid;
break;
}
//nacteni jmena autora
if($item['author']!=-1){$authorname=_linkUser($item['author'], null, true, true);}
else{$authorname=$item['guest'];}
$hometitle=$hometitle['title'];
$result.="
<tr class='tema-obsah'><td style='width:50%'><a href='".$homelink."'>".$hometitle."</a></td><td><a href='/index.php?m=profile&id=".$authorname."'>".$authorname."</a></td><td style='width:25%'>"._formatTime($item['time'])."</td></tr>
";
}
return $result;
}
?>