Skip to content

Commit 0567d7e

Browse files
authored
Merge pull request #167 from dle-modules/6.0.1
6.0.1
2 parents b567b3e + 9df8d37 commit 0567d7e

File tree

14 files changed

+1373
-1415
lines changed

14 files changed

+1373
-1415
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# 6.0.1
2+
- Полностью прекращена поддержка DLE старше 13 версии.
3+
- Теперь можно вносить изменения в файлы модуля (не классы) через систему плагинов.
4+
15
# 6.0.0
26
- Теперь модуль не гарантирует совместимость с версиями DLE ниже, чем 13.x и скоро будет убрана их поддержка полностью.
37
- Установка в виде плагина.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# DLE-BlockPro — тот самый модуль для вывода новостей!
2-
![version](https://img.shields.io/badge/version-6.0.0-red.svg?style=flat-square "Version")
2+
![version](https://img.shields.io/badge/version-6.0.1-red.svg?style=flat-square "Version")
33
![DLE](https://img.shields.io/badge/DLE-13.x-green.svg?style=flat-square "DLE Version")
44
[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](https://github.com/dle-modules/DLE-BlockPro/blob/master/LICENSE)
55

blockpro.php

Lines changed: 82 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -19,28 +19,20 @@
1919

2020
define('DATALIFEENGINE', true);
2121
define('ROOT_DIR', dirname(__FILE__));
22-
define('ENGINE_DIR', ROOT_DIR . '/engine');
23-
24-
include_once ENGINE_DIR . '/plugins/loader/loader.php';
25-
include(DLEPlugins::Check(ENGINE_DIR . '/data/config.php'));
22+
define('ENGINE_DIR', ROOT_DIR.'/engine');
23+
include_once ENGINE_DIR.'/classes/plugins.class.php';
2624

2725
/** @var array $config */
28-
if ($config['version_id'] > 10.2) {
29-
date_default_timezone_set($config['date_adjust']);
30-
$_TIME = time();
31-
} else {
32-
$_TIME = time() + ($config['date_adjust'] * 60);
33-
}
26+
date_default_timezone_set($config['date_adjust']);
27+
3428

3529
if ($config['http_home_url'] == '') {
36-
$config['http_home_url'] = explode('blockpro.php', $_SERVER['PHP_SELF']);
37-
$config['http_home_url'] = reset($config['http_home_url']);
38-
$config['http_home_url'] = 'http://' . $_SERVER['HTTP_HOST'] . $config['http_home_url'];
30+
$config['http_home_url'] = explode('blockpro.php', $_SERVER['PHP_SELF']);
31+
$config['http_home_url'] = reset($config['http_home_url']);
32+
$config['http_home_url'] = 'http://'.$_SERVER['HTTP_HOST'].$config['http_home_url'];
3933
}
4034

41-
require_once(DLEPlugins::Check(ENGINE_DIR . '/classes/mysql.php'));
42-
require_once(DLEPlugins::Check(ENGINE_DIR . '/data/dbconfig.php'));
43-
require_once(DLEPlugins::Check(ENGINE_DIR . '/modules/functions.php'));
35+
require_once(DLEPlugins::Check(ENGINE_DIR.'/modules/functions.php'));
4436

4537
check_xss();
4638

@@ -51,122 +43,123 @@
5143
$member_id = [];
5244

5345
if ($config['allow_registration']) {
54-
require_once ENGINE_DIR . '/modules/sitelogin.php';
46+
require_once(DLEPlugins::Check(ENGINE_DIR.'/modules/sitelogin.php'));
5547
}
5648
if (!$is_logged) {
57-
$member_id['user_group'] = 5;
49+
$member_id['user_group'] = 5;
5850
}
5951
if (!$cat_info) {
60-
$user_group = get_vars('usergroup');
52+
$user_group = get_vars('usergroup');
6153
}
6254
if (!$cat_info) {
63-
$cat_info = get_vars("category");
55+
$cat_info = get_vars("category");
6456
}
6557

6658
$blockId = $isJs = $isRSS = $isIframe = false;
6759
if (isset($_REQUEST['block'])) {
68-
$blockId = $_REQUEST['block'];
69-
$isJs = true;
60+
$blockId = $_REQUEST['block'];
61+
$isJs = true;
7062
}
7163
if (isset($_REQUEST['channel'])) {
72-
$blockId = $_REQUEST['channel'];
73-
$isRSS = true;
64+
$blockId = $_REQUEST['channel'];
65+
$isRSS = true;
7466
}
7567
if (isset($_REQUEST['frame'])) {
76-
$blockId = $_REQUEST['frame'];
77-
$isIframe = true;
68+
$blockId = $_REQUEST['frame'];
69+
$isIframe = true;
7870
}
7971
$blockId = $db->safesql($blockId);
8072

8173
$_cr = false;
8274
if ($blockId) {
83-
$arCr = $db->super_query("SELECT params FROM " . PREFIX . "_blockpro_blocks WHERE block_id='{$blockId}'");
84-
$_cr = $arCr['params'];
75+
$arCr = $db->super_query("SELECT params FROM ".PREFIX."_blockpro_blocks WHERE block_id='{$blockId}'");
76+
$_cr = $arCr['params'];
8577
}
8678
$externalOutput = '';
8779

8880
if ($_cr) {
89-
// Если запись существует — работаем.
90-
$isAjaxConfig = true;
91-
$ajaxConfigArr = unserialize($_cr);
81+
// Если запись существует — работаем.
82+
$isAjaxConfig = true;
83+
$ajaxConfigArr = unserialize($_cr);
9284

93-
if ($ajaxConfigArr['cacheLive']) {
94-
// Меняем префикс кеша для того, чтобы он не чистился автоматически, если указано время жизни кеша.
95-
$ajaxConfigArr['cachePrefix'] = 'base';
96-
}
85+
if ($ajaxConfigArr['cacheLive']) {
86+
// Меняем префикс кеша для того, чтобы он не чистился автоматически, если указано время жизни кеша.
87+
$ajaxConfigArr['cachePrefix'] = 'base';
88+
}
9789

98-
// Формируем имя кеша
99-
$cacheName = implode('_', $ajaxConfigArr) . $config['skin'];
90+
// Формируем имя кеша
91+
$cacheName = implode('_', $ajaxConfigArr).$config['skin'];
10092

101-
// Определяем необходимость создания кеша для разных групп
102-
$cacheSuffix = ($ajaxConfigArr['cacheSuffixOff']) ? false : true;
93+
// Определяем необходимость создания кеша для разных групп
94+
$cacheSuffix = ($ajaxConfigArr['cacheSuffixOff']) ? false : true;
10395

104-
// Если установлено время жизни кеша
105-
if ($ajaxConfigArr['cacheLive']) {
106-
// Формируем имя кеш-файла в соответствии с правилами формирования тагового стандартными средствами DLE, для последующей проверки на существование этого файла.
107-
$_end_file = (!$ajaxConfigArr['cacheSuffixOff']) ? ($is_logged) ? '_' . $member_id['user_group'] : '_0' : false;
108-
$filedate = ENGINE_DIR . '/cache/' . $ajaxConfigArr['cachePrefix'] . '_' . md5($cacheName) . $_end_file . '.tmp';
96+
// Если установлено время жизни кеша
97+
if ($ajaxConfigArr['cacheLive']) {
98+
// Формируем имя кеш-файла в соответствии с правилами формирования тагового стандартными средствами DLE, для последующей проверки на существование этого файла.
99+
$_end_file = (!$ajaxConfigArr['cacheSuffixOff']) ? ($is_logged) ? '_'.$member_id['user_group'] : '_0' : false;
100+
$filedate = ENGINE_DIR.'/cache/'.$ajaxConfigArr['cachePrefix'].'_'.md5($cacheName).$_end_file.'.tmp';
109101

110-
if (@file_exists($filedate)) {
111-
$cache_time = time() - @filemtime($filedate);
112-
} else {
113-
$cache_time = $ajaxConfigArr['cacheLive'] * 60;
114-
}
115-
if ($cache_time >= $ajaxConfigArr['cacheLive'] * 60) {
116-
$clear_time_cache = true;
117-
}
118-
}
102+
if (@file_exists($filedate)) {
103+
$cache_time = time() - @filemtime($filedate);
104+
} else {
105+
$cache_time = $ajaxConfigArr['cacheLive'] * 60;
106+
}
107+
if ($cache_time >= $ajaxConfigArr['cacheLive'] * 60) {
108+
$clear_time_cache = true;
109+
}
110+
}
119111

120-
// Говорим модулю, что он — внешний блок
121-
$external = true;
122-
include ENGINE_DIR . '/modules/base/blockpro.php';
112+
// Говорим модулю, что он — внешний блок
113+
$external = true;
114+
include(DLEPlugins::Check(ENGINE_DIR.'/modules/base/blockpro.php'));
123115

124-
if ($isJs) {
125-
header("Content-type: text/javascript; charset=" . $config['charset']);
126-
// Подготавливаем контент к выводу
127-
/** @var string $output */
128-
$result = prepareBlock($output);
129-
$externalOutput = '\'' . $result . '\'';
116+
if ($isJs) {
117+
header("Content-type: text/javascript; charset=".$config['charset']);
118+
// Подготавливаем контент к выводу
119+
/** @var string $output */
120+
$result = prepareBlock($output);
121+
$externalOutput = '\''.$result.'\'';
130122

131-
// Подсчитаем время выполнения скрипта и добавим данные об этом в вывод.
132-
$timeStop = round(microtime(true) - $timeStart, 5);
123+
// Подсчитаем время выполнения скрипта и добавим данные об этом в вывод.
124+
$timeStop = round(microtime(true) - $timeStart, 5);
133125

134-
$jsBlockId = str_replace('-', '', $blockId);
126+
$jsBlockId = str_replace('-', '', $blockId);
135127

136-
$consoleLog = 'console.log(\'[blockpro]: id: ' . $blockId . ', time: ' . $timeStop . ' s.\');';
128+
$consoleLog = 'console.log(\'[blockpro]: id: '.$blockId.', time: '.$timeStop.' s.\');';
137129

138-
$printOutput = 'var j' . $jsBlockId . ' = document.getElementById(\'' . $blockId . '\');if(j' . $jsBlockId . '){j' . $jsBlockId . '.innerHTML = ' . $externalOutput . '};' . $consoleLog;
139-
}
140-
if ($isRSS) {
141-
header("Content-type: application/xml; charset=" . $config['charset']);
130+
$printOutput = 'var j'.$jsBlockId.' = document.getElementById(\''.$blockId.'\');if(j'.$jsBlockId.'){j'
131+
.$jsBlockId.'.innerHTML = '.$externalOutput.'};'.$consoleLog;
132+
}
133+
if ($isRSS) {
134+
header("Content-type: application/xml; charset=".$config['charset']);
142135

143-
$printOutput = $output;
144-
}
136+
$printOutput = $output;
137+
}
145138

146-
if ($isIframe) {
147-
header("Content-type: text/html; charset=" . $config['charset']);
139+
if ($isIframe) {
140+
header("Content-type: text/html; charset=".$config['charset']);
148141

149-
$printOutput = $output;
150-
}
142+
$printOutput = $output;
143+
}
151144

152145

153-
// Выводим результаты работы модуля в виде js-строки
154-
/** @var string $printOutput */
155-
echo $printOutput;
146+
// Выводим результаты работы модуля в виде js-строки
147+
/** @var string $printOutput */
148+
echo $printOutput;
156149

157150
} else {
158-
if ($isJs) {
159-
$noData = 'console.warn(\'[blockpro]: no content to show\');';
160-
} else {
161-
$noData = 'no content to show';
162-
}
163-
echo $noData;
151+
if ($isJs) {
152+
$noData = 'console.warn(\'[blockpro]: no content to show\');';
153+
} else {
154+
$noData = 'no content to show';
155+
}
156+
echo $noData;
164157
}
165158

166159
function prepareBlock($text) {
167-
$search = ["\n", "\t"];
168-
$text = str_replace($search, '', $text);
169-
$text = addslashes($text);
160+
$search = ["\n", "\t"];
161+
$text = str_replace($search, '', $text);
162+
$text = addslashes($text);
170163

171-
return $text;
164+
return $text;
172165
}

blockpro.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<name>BlockPro</name>
44
<description>Модуль предназначен для удобного вывода новостей на сайте</description>
55
<icon>engine/skins/images/blockpro.png</icon>
6-
<version>6.0.0</version>
6+
<version>6.0.1</version>
77
<dleversion>13</dleversion>
88
<versioncompare>greater</versioncompare>
99
<upgradeurl>https://updates.pafnuty.name/check-bp.php</upgradeurl>

engine/ajax/base/save_block_pro.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,15 @@
2020
define('ROOT_DIR', substr(dirname(__FILE__), 0, -17));
2121

2222
define('ENGINE_DIR', ROOT_DIR . '/engine');
23-
include_once ENGINE_DIR . '/plugins/loader/loader.php';
23+
include_once ENGINE_DIR.'/classes/plugins.class.php';
2424

25-
include (DLEPlugins::Check(ENGINE_DIR . '/data/config.php'));
2625
/** @var array $config */
2726
if ($config['http_home_url'] == "") {
2827
$config['http_home_url'] = explode("engine/ajax/base/save_block_pro.php", $_SERVER['PHP_SELF']);
2928
$config['http_home_url'] = reset($config['http_home_url']);
3029
$config['http_home_url'] = "http://" . $_SERVER['HTTP_HOST'] . $config['http_home_url'];
3130
}
32-
require_once (DLEPlugins::Check(ENGINE_DIR . '/classes/mysql.php'));
33-
require_once (DLEPlugins::Check(ENGINE_DIR . '/data/dbconfig.php'));
31+
3432
require_once (DLEPlugins::Check(ENGINE_DIR . '/modules/functions.php'));
3533
if ($config['version_id'] > 9.6) {
3634
dle_session();

0 commit comments

Comments
 (0)