]> git.mxchange.org Git - friendica.git/commitdiff
Fix unneeded database functions in the callstack
authorMichael <heluecht@pirati.ca>
Fri, 10 Jul 2020 07:01:28 +0000 (07:01 +0000)
committerMichael <heluecht@pirati.ca>
Fri, 10 Jul 2020 07:01:28 +0000 (07:01 +0000)
src/Core/System.php

index 46f0cb4f32fbb9859aee3a203ca968f00b8a3762..feed85e211ba52836a42e00010351ed034233102 100644 (file)
@@ -45,20 +45,22 @@ class System
                array_shift($trace);
 
                $callstack = [];
-               $previous = ['class' => '', 'function' => ''];
+               $previous = ['class' => '', 'function' => '', 'database' => false];
 
                // The ignore list contains all functions that are only wrapper functions
                $ignore = ['fetchUrl', 'call_user_func_array'];
 
                while ($func = array_pop($trace)) {
                        if (!empty($func['class'])) {
-                               // Don't show multiple calls from the "dba" class to show the essential parts of the callstack
-                               if ((($previous['class'] != $func['class']) || ($func['class'] != 'Friendica\Database\DBA')) && ($previous['function'] != 'q')) {
+                               // Don't show multiple calls from the Database classes to show the essential parts of the callstack
+                               $func['database'] = in_array($func['class'], ['Friendica\Database\DBA', 'Friendica\Database\Database']);
+                               if (!$previous['database'] || !$func['database']) {     
                                        $classparts = explode("\\", $func['class']);
                                        $callstack[] = array_pop($classparts).'::'.$func['function'];
                                        $previous = $func;
                                }
                        } elseif (!in_array($func['function'], $ignore)) {
+                               $func['database'] = ($func['function'] == 'q');
                                $callstack[] = $func['function'];
                                $func['class'] = '';
                                $previous = $func;