|
19 | 19 |
|
20 | 20 | define('DATALIFEENGINE', true); |
21 | 21 | 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'; |
26 | 24 |
|
27 | 25 | /** @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 | + |
34 | 28 |
|
35 | 29 | 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']; |
39 | 33 | } |
40 | 34 |
|
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')); |
44 | 36 |
|
45 | 37 | check_xss(); |
46 | 38 |
|
|
51 | 43 | $member_id = []; |
52 | 44 |
|
53 | 45 | if ($config['allow_registration']) { |
54 | | - require_once ENGINE_DIR . '/modules/sitelogin.php'; |
| 46 | + require_once(DLEPlugins::Check(ENGINE_DIR.'/modules/sitelogin.php')); |
55 | 47 | } |
56 | 48 | if (!$is_logged) { |
57 | | - $member_id['user_group'] = 5; |
| 49 | + $member_id['user_group'] = 5; |
58 | 50 | } |
59 | 51 | if (!$cat_info) { |
60 | | - $user_group = get_vars('usergroup'); |
| 52 | + $user_group = get_vars('usergroup'); |
61 | 53 | } |
62 | 54 | if (!$cat_info) { |
63 | | - $cat_info = get_vars("category"); |
| 55 | + $cat_info = get_vars("category"); |
64 | 56 | } |
65 | 57 |
|
66 | 58 | $blockId = $isJs = $isRSS = $isIframe = false; |
67 | 59 | if (isset($_REQUEST['block'])) { |
68 | | - $blockId = $_REQUEST['block']; |
69 | | - $isJs = true; |
| 60 | + $blockId = $_REQUEST['block']; |
| 61 | + $isJs = true; |
70 | 62 | } |
71 | 63 | if (isset($_REQUEST['channel'])) { |
72 | | - $blockId = $_REQUEST['channel']; |
73 | | - $isRSS = true; |
| 64 | + $blockId = $_REQUEST['channel']; |
| 65 | + $isRSS = true; |
74 | 66 | } |
75 | 67 | if (isset($_REQUEST['frame'])) { |
76 | | - $blockId = $_REQUEST['frame']; |
77 | | - $isIframe = true; |
| 68 | + $blockId = $_REQUEST['frame']; |
| 69 | + $isIframe = true; |
78 | 70 | } |
79 | 71 | $blockId = $db->safesql($blockId); |
80 | 72 |
|
81 | 73 | $_cr = false; |
82 | 74 | 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']; |
85 | 77 | } |
86 | 78 | $externalOutput = ''; |
87 | 79 |
|
88 | 80 | if ($_cr) { |
89 | | - // Если запись существует — работаем. |
90 | | - $isAjaxConfig = true; |
91 | | - $ajaxConfigArr = unserialize($_cr); |
| 81 | + // Если запись существует — работаем. |
| 82 | + $isAjaxConfig = true; |
| 83 | + $ajaxConfigArr = unserialize($_cr); |
92 | 84 |
|
93 | | - if ($ajaxConfigArr['cacheLive']) { |
94 | | - // Меняем префикс кеша для того, чтобы он не чистился автоматически, если указано время жизни кеша. |
95 | | - $ajaxConfigArr['cachePrefix'] = 'base'; |
96 | | - } |
| 85 | + if ($ajaxConfigArr['cacheLive']) { |
| 86 | + // Меняем префикс кеша для того, чтобы он не чистился автоматически, если указано время жизни кеша. |
| 87 | + $ajaxConfigArr['cachePrefix'] = 'base'; |
| 88 | + } |
97 | 89 |
|
98 | | - // Формируем имя кеша |
99 | | - $cacheName = implode('_', $ajaxConfigArr) . $config['skin']; |
| 90 | + // Формируем имя кеша |
| 91 | + $cacheName = implode('_', $ajaxConfigArr).$config['skin']; |
100 | 92 |
|
101 | | - // Определяем необходимость создания кеша для разных групп |
102 | | - $cacheSuffix = ($ajaxConfigArr['cacheSuffixOff']) ? false : true; |
| 93 | + // Определяем необходимость создания кеша для разных групп |
| 94 | + $cacheSuffix = ($ajaxConfigArr['cacheSuffixOff']) ? false : true; |
103 | 95 |
|
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'; |
109 | 101 |
|
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 | + } |
119 | 111 |
|
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')); |
123 | 115 |
|
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.'\''; |
130 | 122 |
|
131 | | - // Подсчитаем время выполнения скрипта и добавим данные об этом в вывод. |
132 | | - $timeStop = round(microtime(true) - $timeStart, 5); |
| 123 | + // Подсчитаем время выполнения скрипта и добавим данные об этом в вывод. |
| 124 | + $timeStop = round(microtime(true) - $timeStart, 5); |
133 | 125 |
|
134 | | - $jsBlockId = str_replace('-', '', $blockId); |
| 126 | + $jsBlockId = str_replace('-', '', $blockId); |
135 | 127 |
|
136 | | - $consoleLog = 'console.log(\'[blockpro]: id: ' . $blockId . ', time: ' . $timeStop . ' s.\');'; |
| 128 | + $consoleLog = 'console.log(\'[blockpro]: id: '.$blockId.', time: '.$timeStop.' s.\');'; |
137 | 129 |
|
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']); |
142 | 135 |
|
143 | | - $printOutput = $output; |
144 | | - } |
| 136 | + $printOutput = $output; |
| 137 | + } |
145 | 138 |
|
146 | | - if ($isIframe) { |
147 | | - header("Content-type: text/html; charset=" . $config['charset']); |
| 139 | + if ($isIframe) { |
| 140 | + header("Content-type: text/html; charset=".$config['charset']); |
148 | 141 |
|
149 | | - $printOutput = $output; |
150 | | - } |
| 142 | + $printOutput = $output; |
| 143 | + } |
151 | 144 |
|
152 | 145 |
|
153 | | - // Выводим результаты работы модуля в виде js-строки |
154 | | - /** @var string $printOutput */ |
155 | | - echo $printOutput; |
| 146 | + // Выводим результаты работы модуля в виде js-строки |
| 147 | + /** @var string $printOutput */ |
| 148 | + echo $printOutput; |
156 | 149 |
|
157 | 150 | } 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; |
164 | 157 | } |
165 | 158 |
|
166 | 159 | 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); |
170 | 163 |
|
171 | | - return $text; |
| 164 | + return $text; |
172 | 165 | } |
0 commit comments