вопрос
В dle есть такой вот тег который формирует ссылку на непрочитанные новости с последнего посещения: {newposts-link}
Нашел я во такие строки тут на сайте, которые выводят кол-во этих самых непрочитанных новостей: {last-count}
Но хорошо бы сделать ещё вот такой вот 'оберточный' тег: [last-count] {last-count} [/last-count]
Ну суть проста, чтобы он выводил цифру только тогда когда эти самые непрочитанные новости есть. А если нет то не выводил.
Сам хак:
Нашел я во такие строки тут на сайте, которые выводят кол-во этих самых непрочитанных новостей: {last-count}
Но хорошо бы сделать ещё вот такой вот 'оберточный' тег: [last-count] {last-count} [/last-count]
Ну суть проста, чтобы он выводил цифру только тогда когда эти самые непрочитанные новости есть. А если нет то не выводил.
Сам хак:
$last_count = dle_cache("lastcount_" . $member_id['user_id']);
if( $is_logged AND $last_count === false ) {
$thistime = date( "Y-m-d H:i:s", $_TIME );
if( isset ( $_SESSION['member_lasttime'] ) ) {
$lasttime = date( "Y-m-d H:i:s", $_SESSION['member_lasttime'] );
} else {
$lasttime = date( "Y-m-d H:i:s", (time () + ($config['date_adjust'] * 60) - (3600 * 4)) );
}
$sql_count = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE approve=1 AND date between '$lasttime' AND '$thistime'" );
$last_count = $sql_count['count'];
create_cache( "lastcount_" . $member_id['user_id'], $last_count);
}
$tpl->set( '{last-count}', $last_count );
if ($is_logged) {
$last_count = dle_cache('lastcount_' . $member_id['user_id']);
if ($last_count === false) {
$thistime = date('Y-m-d H:i:s', $_TIME);
$lasttime = isset($_SESSION['member_lasttime']) ? date('Y-m-d H:i:s', $_SESSION['member_lasttime']) : date('Y-m-d H:i:s', (time() + ($config['date_adjust'] * 60) - (3600 * 4)));
$last_count = $db->super_query("SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE approve AND date between '{$lasttime}' AND '{$thistime}'")['count'];
create_cache('lastcount_' . $member_id['user_id'], $last_count);
}
$tpl->set('{last-count}', $last_count);
$tpl->set_block("'\\[lastcount\\](.*?)\\[/lastcount\\]'si", $last_count ? '\\1' : '');
} else {
$tpl->set_block("'\\[lastcount\\](.*?)\\[/lastcount\\]'si", '');
}