» » » Хак "Временной диапазон" для тега custom [DLE]

Хак "Временной диапазон" для тега custom [DLE]

 Хак "Временной диапазон" для тега custom [DLE]

 

Хак позволяет устанавливать рамки дат для выборки и вывода новостей в теге {custom ...}. Может использоваться для архивного вывода новостей или проведение конкурсов с чёткими сроками начала и конца оного.

ИСПОЛЬЗОВАНИЕ

Пример, где
ramki - выборка с 01.07 до 07.08 числа (включительно) текущего месяца. Числа месяца, которые меньше 10, обязательно через 0.
 
{custom ramki="01.07-07.08" order="rating" }

Другие теги, используемые в теге custom смотрите на офф. сайте (http://dle-news.ru/extras/online/index.html?startnews.html)

УСТАНОВКА
Установку лучше производить по инструкции в txt файле (прикреплён вконце поста), т.к. некоторые символы мог съесть парсер request
 
В файле engine/modules/functions.php ищем строку:
} else $days = 0;

После неё вставляем:
    if( preg_match( "#ramki=['\"](.+?)['\"]#i", $param_str, $match ) ) {
            if( count(explode('-', $match[1])) == 2 ) {
                $days = explode('-', $match[1]);
                $term1 = explode('.', $days[0]);
                $term2 = explode('.', $days[1]);
                
                $days[0] = date( "Y-{$term1[1]}-{$term1[0]} 00:00:00" );
                $days[1] = date( "Y-{$term2[1]}-{$term2[0]} 23:59:59" );
                $where[] = "p.date >= '{$days[0]}' AND p.date < '{$days[1]}'";
            }
    } else $days = 0;
 
Hak_diapazon-dat.zip [999 b] (cкачиваний: 11)