Skip to content
This repository was archived by the owner on Sep 6, 2023. It is now read-only.

Commit a12af5e

Browse files
committed
Улучшена работоспособность фильтров
1 parent 5bfc2cb commit a12af5e

File tree

4 files changed

+27
-29
lines changed

4 files changed

+27
-29
lines changed

module/ggrachdev.debugbar/classes/general/BitrixDebugger/Debugger/FilterDebugger.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public function resetFilter(): self {
3434
return $this;
3535
}
3636

37-
public function isFreezedFilter(): self {
37+
public function isFreezedFilter(): bool {
3838
return $this->isFreezedFilter === true;
3939
}
4040

module/ggrachdev.debugbar/classes/general/Filtrator/Filtrator.php

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
use \GGrach\Filtrator\FiltratorContract;
66

77
/**
8-
* Фильтратор данных
9-
*
108
* @author ggrachdev
119
*/
1210
class Filtrator implements FiltratorContract {
@@ -26,19 +24,19 @@ public function addFilter(string $filterType, array $filterParams = []): void {
2624
}
2725
}
2826

29-
protected function filtrateItem(string $filterType, array $filterParams, $data) {
27+
public function filtrateItem(string $filterType, array $filterParams, $data) {
3028
switch ($filterType) {
3129
case 'limit':
3230
if (\is_array($data) && !empty($data)) {
33-
if (!empty($filterParams['count'])) {
31+
if (empty($filterParams['count']) || $filterParams['count'] < 1) {
3432
$filterParams['count'] = 10;
3533
}
3634
$data = array_slice($data, 0, $filterParams['count'], true);
3735
}
3836
break;
3937
case 'first':
40-
if (\is_array($data) && !empty($data[0])) {
41-
$data = $data[0];
38+
if (\is_array($data) && !empty($data)) {
39+
$data = array_shift($data);
4240
}
4341
break;
4442
case 'keys':
@@ -56,7 +54,7 @@ protected function filtrateItem(string $filterType, array $filterParams, $data)
5654
break;
5755
case 'last':
5856
if (\is_array($data) && !empty($data)) {
59-
$data = $data[sizeof($data) - 1];
57+
$data = array_pop($data);
6058
}
6159
break;
6260
}
@@ -69,8 +67,8 @@ public function clearFilters(): void {
6967
}
7068

7169
public function filtrate($data) {
72-
if (!empty($this->filters) && !empty($data)) {
73-
foreach ($this->filters as $arFilter) {
70+
if (!empty($this->sequenceFilters) && !empty($data)) {
71+
foreach ($this->sequenceFilters as $arFilter) {
7472
$data = $this->filtrateItem($arFilter['type'], $arFilter['params'], $data);
7573
}
7674
}

module/ggrachdev.debugbar/classes/general/Filtrator/FiltratorContract.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
interface FiltratorContract {
1010
public function filtrate($data);
1111

12-
public function filtrateItem(string $filterType,array $data): array;
12+
public function filtrateItem(string $filterType, array $filterParams, $data);
1313

1414
public function addFilter(string $filterType, array $filterParams): void;
1515

module/ggrachdev.debugbar/include.php

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
$ggrachDirCss = "/bitrix/css/ggrachdev.debugbar";
2525
} else {
2626
// Корневая папка модуля
27-
$ggrachDebuggerRootPath = str_replace($_SERVER['DOCUMENT_ROOT'], '', __DIR__ . '/../..');
27+
$ggrachDebuggerRootPath = str_replace($_SERVER['DOCUMENT_ROOT'], '', \realpath(__DIR__ . '/../..'));
2828

2929
// Папка для логов по умолчанию
3030
$ggrachPathLogFolder = \realpath('.' . $ggrachDebuggerRootPath . '/logs');
@@ -39,26 +39,26 @@
3939
$ggrachDirCss = $ggrachDebuggerRootPath . '/module/ggrachdev.debugbar/install/css';
4040
}
4141

42-
Bitrix\Main\Loader::registerAutoLoadClasses('ggrachdev.debugbar', [
42+
Bitrix\Main\Loader::registerAutoLoadClasses((GGRACH_DEBUG_BAR_TYPE_INCLUDE === 'module' ? 'ggrachdev.debugbar' : null), [
4343
// BitrixDebugger
44-
"\GGrach\BitrixDebugger\Debugger\Debugger" => $ggrachRootpathClassAutoload . "/BitrixDebugger/Debugger/Debugger.php",
45-
"\GGrach\BitrixDebugger\Debugger\NoticeDebugger" => $ggrachRootpathClassAutoload . "/BitrixDebugger/Debugger/NoticeDebugger.php",
46-
"\GGrach\BitrixDebugger\Debugger\LogFileDebugger" => $ggrachRootpathClassAutoload . "/BitrixDebugger/Debugger/LogFileDebugger.php",
47-
"\GGrach\BitrixDebugger\Debugger\ConfigurationDebugger" => $ggrachRootpathClassAutoload . "/BitrixDebugger/Debugger/ConfigurationDebugger.php",
48-
"\GGrach\BitrixDebugger\Debugger\FilterDebugger" => $ggrachRootpathClassAutoload . "/BitrixDebugger/Debugger/FilterDebugger.php",
49-
"\GGrach\BitrixDebugger\Contract\ShowModableContract" => $ggrachRootpathClassAutoload . "/BitrixDebugger/Contract/ShowModableContract.php",
50-
"\GGrach\BitrixDebugger\Configurator\DebuggerConfigurator" => $ggrachRootpathClassAutoload . "/BitrixDebugger/Configurator/DebuggerConfigurator.php",
51-
"\GGrach\BitrixDebugger\Configurator\DebugBarConfigurator" => $ggrachRootpathClassAutoload . "/BitrixDebugger/Configurator/DebugBarConfigurator.php",
52-
"\GGrach\BitrixDebugger\Cache\RuntimeCache" => $ggrachRootpathClassAutoload . "/BitrixDebugger/Cache/RuntimeCache.php",
53-
"\GGrach\BitrixDebugger\Validator\ShowModeDebuggerValidator" => $ggrachRootpathClassAutoload . "/BitrixDebugger/Validator/ShowModeDebuggerValidator.php",
54-
"\GGrach\BitrixDebugger\Representer\DebugBarRepresenter" => $ggrachRootpathClassAutoload . "/BitrixDebugger/Representer/DebugBarRepresenter.php",
55-
"\GGrach\BitrixDebugger\Events\OnEndBufferContent" => $ggrachRootpathClassAutoload . "/BitrixDebugger/Events/OnEndBufferContent.php",
44+
"\\GGrach\\BitrixDebugger\\Debugger\\Debugger" => $ggrachRootpathClassAutoload . "/BitrixDebugger/Debugger/Debugger.php",
45+
"\\GGrach\\BitrixDebugger\\Debugger\\NoticeDebugger" => $ggrachRootpathClassAutoload . "/BitrixDebugger/Debugger/NoticeDebugger.php",
46+
"\\GGrach\\BitrixDebugger\\Debugger\\LogFileDebugger" => $ggrachRootpathClassAutoload . "/BitrixDebugger/Debugger/LogFileDebugger.php",
47+
"\\GGrach\\BitrixDebugger\\Debugger\\ConfigurationDebugger" => $ggrachRootpathClassAutoload . "/BitrixDebugger/Debugger/ConfigurationDebugger.php",
48+
"\\GGrach\\BitrixDebugger\\Debugger\\FilterDebugger" => $ggrachRootpathClassAutoload . "/BitrixDebugger/Debugger/FilterDebugger.php",
49+
"\\GGrach\\BitrixDebugger\\Contract\\ShowModableContract" => $ggrachRootpathClassAutoload . "/BitrixDebugger/Contract/ShowModableContract.php",
50+
"\\GGrach\\BitrixDebugger\\Configurator\\DebuggerConfigurator" => $ggrachRootpathClassAutoload . "/BitrixDebugger/Configurator/DebuggerConfigurator.php",
51+
"\\GGrach\\BitrixDebugger\\Configurator\\DebugBarConfigurator" => $ggrachRootpathClassAutoload . "/BitrixDebugger/Configurator/DebugBarConfigurator.php",
52+
"\\GGrach\\BitrixDebugger\\Cache\\RuntimeCache" => $ggrachRootpathClassAutoload . "/BitrixDebugger/Cache/RuntimeCache.php",
53+
"\\GGrach\\BitrixDebugger\\Validator\\ShowModeDebuggerValidator" => $ggrachRootpathClassAutoload . "/BitrixDebugger/Validator/ShowModeDebuggerValidator.php",
54+
"\\GGrach\\BitrixDebugger\\Representer\\DebugBarRepresenter" => $ggrachRootpathClassAutoload . "/BitrixDebugger/Representer/DebugBarRepresenter.php",
55+
"\\GGrach\\BitrixDebugger\\Events\\OnEndBufferContent" => $ggrachRootpathClassAutoload . "/BitrixDebugger/Events/OnEndBufferContent.php",
5656
// Writer
57-
"\GGrach\Writer\FileWriter" => $ggrachRootpathClassAutoload . "/Writer/FileWriter.php",
58-
"\GGrach\Writer\Contract\WritableContract" => $ggrachRootpathClassAutoload . "/Writer/Contract/WritableContract.php",
57+
"\\GGrach\\Writer\\FileWriter" => $ggrachRootpathClassAutoload . "/Writer/FileWriter.php",
58+
"\\GGrach\\Writer\\Contract\\WritableContract" => $ggrachRootpathClassAutoload . "/Writer/Contract/WritableContract.php",
5959
// Filtrator
60-
"\GGrach\Filtrator\Filtrator" => $ggrachRootpathClassAutoload . "/Filtrator/Filtrator.php",
61-
"\GGrach\Filtrator\FiltratorContract" => $ggrachRootpathClassAutoload . "/Filtrator/FiltratorContract.php"
60+
"\\GGrach\\Filtrator\\Filtrator" => $ggrachRootpathClassAutoload . "/Filtrator/Filtrator.php",
61+
"\\GGrach\\Filtrator\\FiltratorContract" => $ggrachRootpathClassAutoload . "/Filtrator/FiltratorContract.php"
6262
]);
6363
$ggrachDebuggerConfigurator = new \GGrach\BitrixDebugger\Configurator\DebuggerConfigurator();
6464
$ggrachDebugBarConfigurator = new \GGrach\BitrixDebugger\Configurator\DebugBarConfigurator();

0 commit comments

Comments
 (0)