зарание попрошу строго не судить, т.к. с пхп ток знакомлюсь, кижек таких читал мало и т.д.:)
вообщем изменения нужно сделать в двух файлах:
в index.php перед
$config['http_home_url'] = reset(explode("index.php", $_SERVER['PHP_SELF']));
добавляем
if ( stristr( $tpl->copy_template, "{topnews" ) ) {
$tpl->copy_template = preg_replace( "#\\{topnews category=['\"](.+?)['\"]\\}#ies", "topnews_print('\\1')", $tpl->copy_template );
}
и в файле
engine/modules/functions.php добавляем функцию
function topnews_print ($custom_category){
global $db;
$custom_category = $db->safesql(str_replace(',', '|', $custom_category));
if(!defined('DATALIFEENGINE'))
{
die("Hacking attempt!");
}
$topnews = dle_cache("topnews", $config['skin']);
if (!$topnews) {
$this_month = date ('Y-m-d', time()-(3600*24*27));
$db->query("SELECT id, title, date, alt_name FROM " . PREFIX . "_post WHERE approve='1' AND category regexp '[[:<:]]($custom_category)[[:>:]]' AND date >= '$this_month'AND date < '$this_month' + INTERVAL 1 MONTH ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,10");
while($row = $db->get_row()){
$row['date'] = strtotime($row['date']);
if (strlen($row['title']) > 55)
$title = substr ($row['title'], 0, 55)." ...";
else
$title = $row['title'];
$go_page = ($config['ajax']) ? "onclick=\"DlePage('newsid=".$row['id']."'); return false;\" " : "";
if ($config['allow_alt_url'] == "yes")
$link = "<a {$go_page}href=\"".$config['http_home_url'].date('Y/m/d/', $row['date']).$row['alt_name'].".html\">".stripslashes($title)."</a>";
else
$link = "<a {$go_page}href=\"$PHP_SELF?newsid=".$row['id']."\">".stripslashes($title)."</a>";
$topnews .= "» ".$link."<br />";
}
$db->free();
create_cache ("topnews", $topnews, $config['skin']);
}
return $topnews;
}
популярные новости выводим тегом {topnews category="ID категории"}
все естессно безплатно, но уж если кто-то чувтсует чрезмерную благодарность, то может поделиться аккой на рапиду;)
надеюсь, что хак кому-то да и пригодится;)