На сайте реализован хак для отображения ссылок на следующую и предыдущую новости.
Хак работает правильно если ставить дату публикаций новостей 2012, 2013, 2014 год. При публикации новостей с текущей датой ссылки формируются некорректно - ссылка на предыдущую новость ведет на последнюю новость опубликованную в 2014 году, а ссылка на следующую новость ведет на первую новость опубликованную в 2015 в данной субкатегории.
// Начало: ссылки на следующую и предыдущую новости
$backnext_allow = "yes";
if( $backnext_allow == "yes" ) {
if( $config['allow_cache'] != "yes" ) {
$config['allow_cache'] = "yes";
$revert_cache = true;
} else
$revert_cache = false;
$back_link = dle_cache( "backlink", $row['id'] );
$next_link = dle_cache( "nextlink", $row['id'] );
$back_link2 = dle_cache( "backlink2", $row['id'] );
$next_link2 = dle_cache( "nextlink2", $row['id'] );
// Предыдущая новость
if( $back_link === FALSE ) {
$backlink = $db->super_query( "SELECT id, date, title, category, alt_name FROM " . PREFIX . "_post WHERE date < FROM_UNIXTIME({$row['date']}) AND category = '{$row['category']}' AND approve = '1' ORDER BY date DESC LIMIT 0,1" );
if( $backlink ) {
$backlink['date'] = strtotime( $backlink['date'] );
$backlink['category'] = intval( $backlink['category'] );
if( strlen( $backlink['title'] ) > 70 ) $backlink['title'] = substr( $backlink['title'], 0, 70 ) . "...";
if( $config['allow_alt_url'] == "yes" ) {
if( $backlink['category'] and $config['seo_type'] == 2 ) {
$back_link = $config['http_home_url'] . get_url( $backlink['category'] ) . "/" . $backlink['id'] . "-" . $backlink['alt_name'] . ".html";
} else {
$back_link = $config['http_home_url'] . get_url( $backlink['category'] ) . "/" . $backlink['id'] . "-" . $backlink['alt_name'] . ".html";
}
} else {
$back_link = $config['http_home_url'] . get_url( $backlink['category'] ) . "/" . $backlink['id'] . "-" . $backlink['alt_name'] . ".html";
}
} else {
$back_link = "";
}
if( $back_link ) {
$back_link2=$back_link;
$back_link = "<a href=\"" . $back_link . "#pic\"><img src=\"{THEME}/img/prevl.png\" alt=\"\" border=\"0\" /></a>";
}
$db->free();
create_cache( "backlink", $back_link, $row['id'] );
create_cache( "backlink2", $back_link2, $row['id'] );
}
// Следующая новость
if( $next_link === FALSE ) {
$nextlink = $db->super_query( "SELECT id, date, title, category, alt_name FROM " . PREFIX . "_post WHERE date > FROM_UNIXTIME({$row['date']}) AND category = '{$row['category']}' AND approve = '1' ORDER BY date ASC LIMIT 0,1" );
if ( $nextlink ) {
$nextlink['date'] = strtotime( $nextlink['date'] );
$nextlink['category'] = intval( $nextlink['category'] );
if( strlen( $nextlink['title'] ) > 70 ) $nextlink['title'] = substr( $nextlink['title'], 0, 70 ) . "...";
if( $config['allow_alt_url'] == "yes" ) {
if( $nextlink['category'] and $config['seo_type'] == 2 ) {
$next_link = $config['http_home_url'] . get_url( $nextlink['category'] ) . "/" . $nextlink['id'] . "-" . $nextlink['alt_name'] . ".html";
} else {
$next_link = $config['http_home_url'] . get_url( $nextlink['category'] ) . "/" . $nextlink['id'] . "-" . $nextlink['alt_name'] . ".html";
}
} else {
$next_link = $config['http_home_url'] . get_url( $nextlink['category'] ) . "/" . $nextlink['id'] . "-" . $nextlink['alt_name'] . ".html";
}
} else {
$next_link = "";
}
if( $next_link ) {
$next_link2=$next_link;
$next_link = "<a href=\"" . $next_link . "#pic\"><img src=\"{THEME}/img/nextr.png\" alt=\"\" border=\"0\" /></a>";
}
$db->free();
create_cache( "nextlink", $next_link, $row['id'] );
create_cache( "nextlink2", $next_link2, $row['id'] );
}
// Сссылки
$tpl->set( '{back-link}', $back_link );
$tpl->set( '{next-link}', $next_link );
if( $revert_cache ) $config['allow_cache'] = "no";
}
// Конец: ссылки на следующую и предыдущую новости