From dbaa72923aaa9abb46806da6d00c03f3e33af481 Mon Sep 17 00:00:00 2001 From: pafnuty Date: Fri, 17 May 2019 21:36:07 +0400 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D1=88=D0=B0=D0=B1=D0=BB=D0=BE=D0=BD=D0=B8?= =?UTF-8?q?=D0=B7=D0=B0=D1=82=D0=BE=D1=80=D0=B0,=20=D0=B4=D0=BE=D1=80?= =?UTF-8?q?=D0=B0=D0=B1=D0=BE=D1=82=D0=BA=D0=B0=20=D0=B4=D0=BE=D0=BA=D1=83?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D1=82=D0=B0=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 21 +++++++++++++++++++++ README.md | 3 ++- blockpro_install.php | 4 ++-- engine/inc/blockpro.php | 2 +- engine/modules/base/core/Fenom/Compiler.php | 2 +- engine/modules/base/core/Fenom/Template.php | 4 ++++ 6 files changed, 31 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 833e955..6e2eb5d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,24 @@ +# 5.1.3 +- Обновлен шаблонизатор Fenom до актуальной версии. + +# 5.1.2 +- В параметр setFilter добавлена возможность использовать условие OR при формировании запроса. Примеры использования: +``` +// Поиск новостей с видео +setFilter=p.full_story|SEARCH|dle_media_begin|OR|p.full_story|SEARCH|dle_video_begin + +// Новости у которых более 100 просмотров и (более 20 комментариев или положительный рейтинг) +setFilter=e.news_read|+|100||p.comm_num|+|20|OR|e.rating|+|0 +``` +- Реализовано улучшенный поиск похожих новостей, как в стандартном функционале DLE 13.1. +- Исправлена ошибка отображения модуля, возникающая при переключении шаблонов сайта, если шаблоны модуля в разных шаблонах сайта имеют одинаковые имена. +- Исправлено некорректное отображение версии модуля в админке +- Исправлена ошибка с некорректной загрузкой website.lng, если файл отредактирован через управление плагинами. + +# 5.1.1 +- Исправлено некорректное тернартное выражение (#133) +- Исправлена ошибка Fatal error: Cannot redeclare dle_session() (previously declared in... (#130) + # 5.1.0 - Совместимость с DLE 13.x - Исправлено: Fatal error: Cannot redeclare class microTimer diff --git a/README.md b/README.md index 4ec125e..0bd8dea 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # DLE-BlockPro — тот самый модуль для вывода новостей! -![version](https://img.shields.io/badge/version-5.1.2-red.svg?style=flat-square "Version") +![version](https://img.shields.io/badge/version-5.1.3-red.svg?style=flat-square "Version") ![DLE](https://img.shields.io/badge/DLE-10.x-green.svg?style=flat-square "DLE Version") [![MIT License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](https://github.com/dle-modules/DLE-BlockPro/blob/master/LICENSE) @@ -8,6 +8,7 @@ - Более детальная информация по используемому шаблонизатору модуля находится в [документации по шаблонизатору](https://github.com/bzick/fenom/blob/master/docs/ru/readme.md) - Официальный сайт: [bp.pafnuty.name](http://bp.pafnuty.name/) - [Техническая поддержка](https://github.com/dle-modules/DLE-BlockPro/issues) +- [История изменений](https://github.com/dle-modules/DLE-BlockPro/blob/master/CHANGELOG.md) ## Установка модуля 1. Залить содержимое папки **upload** в корень сайта. diff --git a/blockpro_install.php b/blockpro_install.php index 80f992f..08c2924 100644 --- a/blockpro_install.php +++ b/blockpro_install.php @@ -15,9 +15,9 @@ // Описание модуля, для установщика и админки. 'moduleDescr' => 'Модуль вывода новостей для DLE', // Версия модуля, для установщика - 'moduleVersion' => '5.1.2', + 'moduleVersion' => '5.1.3', // Дата выпуска модуля, для установщика - 'moduleDate' => '16.05.2019', + 'moduleDate' => '17.05.2019', // Версии DLE, поддержваемые модулем, для установщика 'dleVersion' => '10.x', // ID групп, для которых доступно управление модулем в админке. diff --git a/engine/inc/blockpro.php b/engine/inc/blockpro.php index 3a80f2b..dfc2eac 100644 --- a/engine/inc/blockpro.php +++ b/engine/inc/blockpro.php @@ -29,7 +29,7 @@ define('MODULE_DIR', ENGINE_DIR . '/modules/base/admin/blockpro/'); $moduleName = 'blockpro'; -$moduleVersion = '5.1.2'; +$moduleVersion = '5.1.3'; $moderate = $_REQUEST['moderate']; $moderate_checked = ($moderate) ? 'checked' : ''; diff --git a/engine/modules/base/core/Fenom/Compiler.php b/engine/modules/base/core/Fenom/Compiler.php index 2a8dec3..dd48c52 100644 --- a/engine/modules/base/core/Fenom/Compiler.php +++ b/engine/modules/base/core/Fenom/Compiler.php @@ -1087,7 +1087,7 @@ public static function tagUnset(Tokenizer $tokens, Tag $tag) public static function tagPaste(Tokenizer $tokens, Tag $tag) { - $name = $tokens->get(T_CONSTANT_ENCAPSED_STRING); + $name = str_replace(array('\'', '"'), '', $tokens->get(T_CONSTANT_ENCAPSED_STRING)); $tokens->next(); if(isset($tag->tpl->blocks[$name])) { return "?>".substr($tag->tpl->blocks[$name]["block"], 1, -1)."is(T_OBJECT_OPERATOR) && $tokens->isNext(T_STRING)) { $code .= '->' . $tokens->next()->getAndNext(); } + if ($tokens->current() === "." || $tokens->current() === "[") { + $code = substr($code, 0, -strlen($tokens->prev[1])); + $code .= $this->parseVariable($tokens, $tokens->prev[1]); + } } while ($tokens->is('(', T_OBJECT_OPERATOR)); return $code;