• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Хак Количество новостей с последнего визита

Статус
В этой теме нельзя размещать новые ответы.

dragonstyle

Читатель
Заблокирован
Регистрация
17 Ноя 2008
Сообщения
523
Реакции
481
  • Автор темы
  • Заблокирован
  • #1
Хак показа не последних новостей с момента выхода пользователей.
Что сделано:
1. Гости этого не видят
2. Показует только новости какие опубликованы
3. Кэшируеться

Для начала мы открываем index.php
находим:
PHP:
$tpl->set ( '{topnews}', $topnews );
и ниже вставляем:
PHP:
if($is_logged) {
$ti = dle_cache("last_time_news", $member_id['user_id']);
if($ti === FALSE) {
$l = date( "Y-m-d H:i:s", $_SESSION['member_lasttime'] );
$th = date ( "Y-m-d H:i:s", $_TIME );
$t = $db->super_query("SELECT COUNT(id) as count FROM ".PREFIX."_post WHERE date between '$l' and '$th' AND approve = '1'");
$ti = $t['count'];
create_cache("last_time_news", $ti, $member_id['user_id']);
}
$tpl->set ( '{last_time_news}', $ti );
} else {
$tpl->set ( '{last_time_news}', '' );
}
А потом в шаблоне main.tpl в любом удобном месте вставляем :
PHP:
{last_time_news} Новостей опубликовано пока вас не было
Конечно лучше будет в login.tpl добавить я так думаю.... ;)
Автор хака: SOFTER, за что ему спасибо!

p.s. у некоторых могут быть ошибки с кэшом, вставьте без него:
PHP:
if($is_logged) {
$l = date( "Y-m-d H:i:s", $_SESSION['member_lasttime'
;] );
$th = date ( "Y-m-d H:i:s", $_TIME );
$t = $db->super_query("SELECT COUNT(id) as count FROM ".PREFIX."_post WHERE date between '$l' and '$th' AND approve = '1'");
$ti = $t['count'];
$tpl->set ( '{last_time_news}', $ti );
} else {
$tpl->set ( '{last_time_news}', '' );
}
Всего один запрос к БД !
Усе, работа кончена ;)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху