From 80f822945d772c0791f955a5c9c9810b4c3db75b Mon Sep 17 00:00:00 2001
From: ggrachdev <ggrachdev@yandex.ru>
Date: Tue, 25 May 2021 11:21:36 +0400
Subject: [PATCH 1/5] Fix index.php

---
 ggrachdev.debugbar/install/index.php | 36 +++++++++++++---------------
 1 file changed, 17 insertions(+), 19 deletions(-)

diff --git a/ggrachdev.debugbar/install/index.php b/ggrachdev.debugbar/install/index.php
index 9e25a43..85138a9 100644
--- a/ggrachdev.debugbar/install/index.php
+++ b/ggrachdev.debugbar/install/index.php
@@ -75,43 +75,41 @@ public function installAssets() {
 
         // copy js
         $dirJsFrom = null;
-        
-        if(\is_file($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/{$this->MODULE_ID}/install/version.php"))
-        {
+
+        if (\is_file($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/{$this->MODULE_ID}/install/version.php")) {
             $dirJsFrom = $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/" . $this->MODULE_ID . "/install/js";
-        }
-        else if(\is_file($_SERVER["DOCUMENT_ROOT"] . "/local/modules/{$this->MODULE_ID}/install/version.php"))
-        {
+        } else if (\is_file($_SERVER["DOCUMENT_ROOT"] . "/local/modules/{$this->MODULE_ID}/install/version.php")) {
             $dirJsFrom = $_SERVER["DOCUMENT_ROOT"] . "/local/modules/" . $this->MODULE_ID . "/install/js";
         }
 
         $dirJsTo = $_SERVER["DOCUMENT_ROOT"] . "/bitrix/js/" . $this->MODULE_ID;
-        
-        if ($dirJsFrom && !\is_dir($dirJsTo)) {
+
+        if (!\is_dir($dirJsTo)) {
             \mkdir($dirJsTo);
         }
 
-        \CopyDirFiles($dirJsFrom, $dirJsTo, true, true);
+        if (!\is_dir($dirJsFrom) && \is_dir($dirJsTo)) {
+            \CopyDirFiles($dirJsFrom, $dirJsTo, true, true);
+        }
 
         // copy css
         $dirCssFrom = null;
-        
-        if(\is_file($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/{$this->MODULE_ID}/install/version.php"))
-        {
+
+        if (\is_file($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/{$this->MODULE_ID}/install/version.php")) {
             $dirCssFrom = $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/" . $this->MODULE_ID . "/install/css";
-        }
-        else if(\is_file($_SERVER["DOCUMENT_ROOT"] . "/local/modules/{$this->MODULE_ID}/install/version.php"))
-        {
+        } else if (\is_file($_SERVER["DOCUMENT_ROOT"] . "/local/modules/{$this->MODULE_ID}/install/version.php")) {
             $dirCssFrom = $_SERVER["DOCUMENT_ROOT"] . "/local/modules/" . $this->MODULE_ID . "/install/css";
         }
-        
+
         $dirCssTo = $_SERVER["DOCUMENT_ROOT"] . "/bitrix/css/" . $this->MODULE_ID;
-        
-        if ($dirCssTo && !\is_dir($dirCssTo)) {
+
+        if (!\is_dir($dirCssTo)) {
             \mkdir($dirCssTo);
         }
 
-        \CopyDirFiles($dirCssFrom, $dirCssTo, true, true);
+        if (!\is_dir($dirCssFrom) && \is_dir($dirCssTo)) {
+             \CopyDirFiles($dirCssFrom, $dirCssTo, true, true);
+        }
     }
 
     public function reinstallAssets() {

From e59733a9d1858c7f9aaf90d8bdb6ef8a43a473c1 Mon Sep 17 00:00:00 2001
From: ggrachdev <ggrachdev@yandex.ru>
Date: Tue, 25 May 2021 12:52:23 +0400
Subject: [PATCH 2/5] Add fluent interface filters.php

---
 ggrachdev.debugbar/filters.php | 94 ++++++++++++++++------------------
 1 file changed, 45 insertions(+), 49 deletions(-)

diff --git a/ggrachdev.debugbar/filters.php b/ggrachdev.debugbar/filters.php
index cb7dd37..cccc46a 100644
--- a/ggrachdev.debugbar/filters.php
+++ b/ggrachdev.debugbar/filters.php
@@ -1,60 +1,56 @@
 <?php
 
 DD()->addFilter('values', function ($data, $filterParams) {
-    if (\is_array($data)) {
-        return \array_values($data);
-    } else {
-        return $data;
-    }
-});
-
-DD()->addFilter('limit', function ($data, $filterParams) {
-    if (\is_array($data) && !empty($data)) {
-        if (empty($filterParams[0]) || !\is_numeric($filterParams[0]) || $filterParams[0] < 1) {
-            $count = 10;
+        if (\is_array($data)) {
+            return \array_values($data);
         } else {
-            $count = $filterParams[0];
+            return $data;
         }
-        $data = array_slice($data, 0, $count, true);
-    }
-
-    return $data;
-});
-
-DD()->addFilter('first', function ($data, $filterParams) {
-    if (\is_array($data) && !empty($data)) {
-        $data = array_shift($data);
-    }
-
-    return $data;
-});
-
-DD()->addFilter('keys', function ($data, $filterParams) {
-
-    if (
-        !empty($data) &&
-        is_array($data) &&
-        !empty($filterParams[0]) &&
-        \is_array($filterParams[0])
-    ) {
-        $newData = [];
-
-        foreach ($data as $k => $v) {
-            if (\in_array($k, $filterParams[0])) {
-                $newData[$k] = $v;
+    })
+    ->addFilter('limit', function ($data, $filterParams) {
+        if (\is_array($data) && !empty($data)) {
+            if (empty($filterParams[0]) || !\is_numeric($filterParams[0]) || $filterParams[0] < 1) {
+                $count = 10;
+            } else {
+                $count = $filterParams[0];
             }
+            $data = array_slice($data, 0, $count, true);
         }
 
-        $data = $newData;
-    }
+        return $data;
+    })
+    ->addFilter('first', function ($data, $filterParams) {
+        if (\is_array($data) && !empty($data)) {
+            $data = array_shift($data);
+        }
+
+        return $data;
+    })
+    ->addFilter('keys', function ($data, $filterParams) {
+
+        if (
+            !empty($data) &&
+            is_array($data) &&
+            !empty($filterParams[0]) &&
+            \is_array($filterParams[0])
+        ) {
+            $newData = [];
+
+            foreach ($data as $k => $v) {
+                if (\in_array($k, $filterParams[0])) {
+                    $newData[$k] = $v;
+                }
+            }
 
-    return $data;
-});
+            $data = $newData;
+        }
 
-DD()->addFilter('last', function ($data, $filterParams) {
-    if (\is_array($data) && !empty($data)) {
-        $data = array_pop($data);
-    }
+        return $data;
+    })
+    ->addFilter('last', function ($data, $filterParams) {
+        if (\is_array($data) && !empty($data)) {
+            $data = array_pop($data);
+        }
 
-    return $data;
-});
+        return $data;
+    });

From 39580aedbe0fe9a3a58d681c25889a19cad7a2d5 Mon Sep 17 00:00:00 2001
From: ggrachdev <ggrachdev@yandex.ru>
Date: Tue, 25 May 2021 15:12:50 +0400
Subject: [PATCH 3/5] Default modal is close

---
 .../classes/general/BitrixDebugger/View/DebugBarView.php | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/ggrachdev.debugbar/classes/general/BitrixDebugger/View/DebugBarView.php b/ggrachdev.debugbar/classes/general/BitrixDebugger/View/DebugBarView.php
index 4ebb262..c3c7a46 100644
--- a/ggrachdev.debugbar/classes/general/BitrixDebugger/View/DebugBarView.php
+++ b/ggrachdev.debugbar/classes/general/BitrixDebugger/View/DebugBarView.php
@@ -99,7 +99,14 @@ public static function render(Debugger $debugger): string {
 
         self::addViewInRightSlot('<a target="_blank" href="/bitrix/admin/site_edit.php?LID=' . \SITE_ID . '&lang=ru" class="ggrach__debug-bar__right__item ggrach_background_success" title="Текущая страница">' . SITE_CHARSET . '</a>');
 
-        $debugBarIsClosed = $_COOKIE['ggrach_debug_bar_is_close'] == 'true';
+        if(!isset($_COOKIE['ggrach_debug_bar_is_close']))
+        {
+            $debugBarIsClosed = true;
+        }
+        else
+        {
+            $debugBarIsClosed = $_COOKIE['ggrach_debug_bar_is_close'] == 'true';
+        }
         
         $closeIcon = $debugBarIsClosed ? '&lt;' : '&#215;';
         

From d9f057d7920176310baf80e76f34986f4a3a0373 Mon Sep 17 00:00:00 2001
From: ggrachdev <ggrachdev@yandex.ru>
Date: Fri, 28 May 2021 12:14:09 +0400
Subject: [PATCH 4/5] Fix is ajax check in event

---
 .../general/BitrixDebugger/Events/OnEndBufferContent.php       | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/ggrachdev.debugbar/classes/general/BitrixDebugger/Events/OnEndBufferContent.php b/ggrachdev.debugbar/classes/general/BitrixDebugger/Events/OnEndBufferContent.php
index fa2846b..6a6faea 100644
--- a/ggrachdev.debugbar/classes/general/BitrixDebugger/Events/OnEndBufferContent.php
+++ b/ggrachdev.debugbar/classes/general/BitrixDebugger/Events/OnEndBufferContent.php
@@ -21,7 +21,8 @@ public function addDebugBar(&$content) {
             $APPLICATION->GetProperty("save_kernel") == "Y" ||
             !\is_object($USER) ||
             !$USER->IsAdmin() ||
-            $request->isAjaxRequest()
+            $request->isAjaxRequest() ||
+            (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
         ) {
             return;
         }

From ff67208c590302fb83f6331ad30ab5166e5a9935 Mon Sep 17 00:00:00 2001
From: ggrachdev <ggrachdev@yandex.ru>
Date: Tue, 1 Jun 2021 10:09:55 +0400
Subject: [PATCH 5/5] Fix intall assets

---
 ggrachdev.debugbar/install/index.php | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ggrachdev.debugbar/install/index.php b/ggrachdev.debugbar/install/index.php
index 85138a9..856372e 100644
--- a/ggrachdev.debugbar/install/index.php
+++ b/ggrachdev.debugbar/install/index.php
@@ -88,7 +88,7 @@ public function installAssets() {
             \mkdir($dirJsTo);
         }
 
-        if (!\is_dir($dirJsFrom) && \is_dir($dirJsTo)) {
+        if (\is_dir($dirJsFrom) && \is_dir($dirJsTo)) {
             \CopyDirFiles($dirJsFrom, $dirJsTo, true, true);
         }
 
@@ -107,7 +107,7 @@ public function installAssets() {
             \mkdir($dirCssTo);
         }
 
-        if (!\is_dir($dirCssFrom) && \is_dir($dirCssTo)) {
+        if (\is_dir($dirCssFrom) && \is_dir($dirCssTo)) {
              \CopyDirFiles($dirCssFrom, $dirCssTo, true, true);
         }
     }