Хак Топ категорий

Тема в разделе "DLE", создана пользователем twister777, 31 мар 2013.

Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 10.0 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Модераторы: killoff
  1. twister777

    twister777 Постоялец

    Регистр.:
    24 авг 2009
    Сообщения:
    51
    Симпатии:
    9
    Топ категорий

    Версия ДЛЕ: 9.7
    Автор: Forza.Baron

    Модуль выводит список 10 самых просматриваемых категорий на сайте.

    хороший человек подсказал код хака для вывода топ категорий, может кому пригодиться:
    PHP:
    <?php
    if(!defined('DATALIFEENGINE')){die("шел бы ты отсюда петушок");}
    $config['allow_cache'] = "no";
    $cache_live=3600//Время жизни кеша в секундах
    $cache_id "catlist";
    $catlist="";
    $filedate ENGINE_DIR."/cache/".$cache_id."_".md5($config['skin']).".tmp";
    if(@
    file_exists($filedate)) $cache_time=time()-@filemtime ($filedate);
    else 
    $cache_time $cache_live;
    if (
    $cache_time>=$cache_live$clear_time_cache 1;
    $catlist dle_cache($cache_id$config['skin']);
    if( !
    $catlist OR $clear_time_cache )
      {
      
    $catlist="";
      
    $sql_result $db->query("select ct.id, ct.alt_name, ct.name, ct.posi, ct.parentid, (select sum(news_read) from "PREFIX ."_post ps, "PREFIX ."_post_extras pse where ps.category = ct.id AND ps.id=pse.news_id AND approve = '1') as new_ from "PREFIX ."_category ct ORDER BY new_ DESC LIMIT 10");
      while(
    $row $db->get_row($sql_result))
        {
        if (
    $row['parentid']=='0'$catlist .= '<li>&raquo; <a href="'.$config['http_home_url'].$row['alt_name'].'/">'.$row['name'].'</a> ['.($row['new_']).']</li>';
      else 
    $catlist .= '<li class="subcat">&raquo; <a href="'.$config['http_home_url'].$row ['alt_name'].'/">'.$row['name'].'</a> ['.($row['new_']).']</li>';
        }
      
    create_cache("catlist"$catlist$config['skin'] ); //записываем данные в кеш
      
    }
    echo 
    $catlist//выводим наши данные
    ?>

    единственно мне не понятно почему цифры в скобках не изменяются, хотя кеш отключен. и как обнулить подсчет кликов.. может кто подскажет?
     
    swart2010 нравится это.
  2. swart2010

    swart2010

    Регистр.:
    12 апр 2009
    Сообщения:
    420
    Симпатии:
    109
    принцип работы такой же как у модуля topnews ?
     
  3. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.036
    Симпатии:
    2.038
    Нет, принцип в следующем: выводим 10 категорий, в которых сумма просмотров всех статей максимальная.
     
  4. Твоя

    Твоя Создатель

    Регистр.:
    31 мар 2013
    Сообщения:
    14
    Симпатии:
    12
    twister777, если Вы не хотите использовать кэш, удалите строку:
    PHP:
    create_cache("catlist"$catlist$config['skin'] ); //записываем данные в кеш
    Либо укажите крайне малое значение в этой строке:
    PHP:
    $cache_live=3600//Время жизни кеша в секундах
    Исходя из SQL-запроса, подсчёт кликов ведётся по количеству просмотров всех статей в данной категории. Обнулите просмотры статей - обнулится счётчик.
     
    twister777 нравится это.
  5. Infernalnya

    Infernalnya Писатель

    Регистр.:
    8 май 2014
    Сообщения:
    5
    Симпатии:
    1
    У меня не работает пишет хиккинг атемпт
     
  6. User221

    User221 Создатель

    Регистр.:
    19 май 2014
    Сообщения:
    31
    Симпатии:
    6
    Хак то полезный, но единственное я не понял, как его заюзать? код куда пихать?)) чтоб работало?
     
  7. Forza.Baron

    Forza.Baron

    Регистр.:
    26 янв 2012
    Сообщения:
    175
    Симпатии:
    76
    User221, 1 - надо создать новый пхп файл с кодом в /engine/modules/, например topcat.php
    2 - для шаблона в нужном месте: {include file="engine/modules/topcat.php"}
     
    User221 нравится это.
  8. User221

    User221 Создатель

    Регистр.:
    19 май 2014
    Сообщения:
    31
    Симпатии:
    6
    Это будет дополнительный вывод популярных категорий верно? тоесть основное меню сайта оставлять, а не заменять этим кодом?
     
  9. Forza.Baron

    Forza.Baron

    Регистр.:
    26 янв 2012
    Сообщения:
    175
    Симпатии:
    76
    Да, верно. Это как топ новостей, только здесь Топ категорий, выводит тольк 10 самых просматриваемых категорий на сайте...