Passed
Push — master ( 80d34d...67ed39 )
by Paul
02:55
created
plugin/Modules/Hooks.php 1 patch
Indentation   +130 added lines, -130 removed lines patch added patch discarded remove patch
@@ -4,142 +4,142 @@
 block discarded – undo
4 4
 
5 5
 class Hooks extends Module
6 6
 {
7
-    /**
8
-     * @var array
9
-     */
10
-    protected $hooks = [];
11
-    /**
12
-     * @var int
13
-     */
14
-    protected $totalHooks = 0;
15
-    /**
16
-     * Total elapsed time in nanoseconds
17
-     * @var int
18
-     */
19
-    protected $totalTime = 0;
7
+	/**
8
+	 * @var array
9
+	 */
10
+	protected $hooks = [];
11
+	/**
12
+	 * @var int
13
+	 */
14
+	protected $totalHooks = 0;
15
+	/**
16
+	 * Total elapsed time in nanoseconds
17
+	 * @var int
18
+	 */
19
+	protected $totalTime = 0;
20 20
 
21
-    public function entries(): array
22
-    {
23
-        if (!$this->hasEntries()) {
24
-            return [];
25
-        }
26
-        if (!empty($this->hooks)) {
27
-            return $this->hooks;
28
-        }
29
-        array_walk($this->entries, function (&$data) {
30
-            $total = $this->totalTimeForHook($data);
31
-            $perCall = (int) round($total / $data['count']);
32
-            $data['per_call'] = $this->formatTime($perCall);
33
-            $data['total'] = $total;
34
-            $data['total_formatted'] = $this->formatTime($total);
35
-        });
36
-        $entries = $this->entries;
37
-        $executionOrder = array_keys($entries);
38
-        uasort($entries, [$this, 'sortByTime']);
39
-        $this->hooks = array_slice($entries, 0, 50); // Keep the 50 slowest hooks
40
-        $this->totalHooks = array_sum(wp_list_pluck($this->entries, 'count'));
41
-        $this->totalTime = array_sum(wp_list_pluck($this->entries, 'total'));
42
-        $order = array_intersect($executionOrder, array_keys($this->hooks));
43
-        foreach ($order as $index => $hook) {
44
-            $this->hooks[$hook]['index'] = $index;
45
-        }
46
-        return $this->hooks;
47
-    }
21
+	public function entries(): array
22
+	{
23
+		if (!$this->hasEntries()) {
24
+			return [];
25
+		}
26
+		if (!empty($this->hooks)) {
27
+			return $this->hooks;
28
+		}
29
+		array_walk($this->entries, function (&$data) {
30
+			$total = $this->totalTimeForHook($data);
31
+			$perCall = (int) round($total / $data['count']);
32
+			$data['per_call'] = $this->formatTime($perCall);
33
+			$data['total'] = $total;
34
+			$data['total_formatted'] = $this->formatTime($total);
35
+		});
36
+		$entries = $this->entries;
37
+		$executionOrder = array_keys($entries);
38
+		uasort($entries, [$this, 'sortByTime']);
39
+		$this->hooks = array_slice($entries, 0, 50); // Keep the 50 slowest hooks
40
+		$this->totalHooks = array_sum(wp_list_pluck($this->entries, 'count'));
41
+		$this->totalTime = array_sum(wp_list_pluck($this->entries, 'total'));
42
+		$order = array_intersect($executionOrder, array_keys($this->hooks));
43
+		foreach ($order as $index => $hook) {
44
+			$this->hooks[$hook]['index'] = $index;
45
+		}
46
+		return $this->hooks;
47
+	}
48 48
 
49
-    public function info(): string
50
-    {
51
-        $this->entries(); // calculate the totalTime
52
-        return $this->formatTime($this->totalTime);
53
-    }
49
+	public function info(): string
50
+	{
51
+		$this->entries(); // calculate the totalTime
52
+		return $this->formatTime($this->totalTime);
53
+	}
54 54
 
55
-    public function label(): string
56
-    {
57
-        return __('Hooks', 'blackbar');
58
-    }
55
+	public function label(): string
56
+	{
57
+		return __('Hooks', 'blackbar');
58
+	}
59 59
 
60
-    public function startTimer(): void
61
-    {
62
-        if (class_exists('Debug_Bar_Slow_Actions')) {
63
-            return;
64
-        }
65
-        $hook = current_filter();
66
-        if (!isset($this->entries[$hook])) {
67
-            $callbacks = $this->callbacksForHook($hook);
68
-            if (empty($callbacks)) {
69
-                return; // We skipped Blackbar callbacks
70
-            }
71
-            $this->entries[$hook] = [
72
-                'callbacks' => $callbacks,
73
-                'callbacks_count' => count(array_merge(...$callbacks)),
74
-                'count' => 0,
75
-                'stack' => [],
76
-                'time' => [],
77
-            ];
78
-            add_action($hook, [$this, 'stopTimer'], 9999); // @phpstan-ignore-line
79
-        }
80
-        ++$this->entries[$hook]['count'];
81
-        array_push($this->entries[$hook]['stack'], ['start' => (int) hrtime(true)]);
82
-    }
60
+	public function startTimer(): void
61
+	{
62
+		if (class_exists('Debug_Bar_Slow_Actions')) {
63
+			return;
64
+		}
65
+		$hook = current_filter();
66
+		if (!isset($this->entries[$hook])) {
67
+			$callbacks = $this->callbacksForHook($hook);
68
+			if (empty($callbacks)) {
69
+				return; // We skipped Blackbar callbacks
70
+			}
71
+			$this->entries[$hook] = [
72
+				'callbacks' => $callbacks,
73
+				'callbacks_count' => count(array_merge(...$callbacks)),
74
+				'count' => 0,
75
+				'stack' => [],
76
+				'time' => [],
77
+			];
78
+			add_action($hook, [$this, 'stopTimer'], 9999); // @phpstan-ignore-line
79
+		}
80
+		++$this->entries[$hook]['count'];
81
+		array_push($this->entries[$hook]['stack'], ['start' => (int) hrtime(true)]);
82
+	}
83 83
 
84
-    /**
85
-     * @param mixed $filteredValue
86
-     * @return mixed
87
-     */
88
-    public function stopTimer($filteredValue = null)
89
-    {
90
-        $time = array_pop($this->entries[current_filter()]['stack']);
91
-        $time['stop'] = (int) hrtime(true);
92
-        array_push($this->entries[current_filter()]['time'], $time);
93
-        return $filteredValue; // In case this was a filter.
94
-    }
84
+	/**
85
+	 * @param mixed $filteredValue
86
+	 * @return mixed
87
+	 */
88
+	public function stopTimer($filteredValue = null)
89
+	{
90
+		$time = array_pop($this->entries[current_filter()]['stack']);
91
+		$time['stop'] = (int) hrtime(true);
92
+		array_push($this->entries[current_filter()]['time'], $time);
93
+		return $filteredValue; // In case this was a filter.
94
+	}
95 95
 
96
-    protected function callbacksForHook(string $hook): array
97
-    {
98
-        global $wp_filter;
99
-        $results = [];
100
-        if (!isset($wp_filter[$hook])) {
101
-            return $results;
102
-        }
103
-        foreach ($wp_filter[$hook] as $priority => $callbacks) {
104
-            $results[$priority] = $results[$priority] ?? [];
105
-            foreach ($callbacks as $callback) {
106
-                if (is_array($callback['function']) && 2 === count($callback['function'])) {
107
-                    list($object, $method) = $callback['function'];
108
-                    if (is_object($object)) {
109
-                        $object = get_class($object);
110
-                        $reflection = new \ReflectionClass($object);
111
-                        if (str_starts_with($reflection->getNamespaceName(), 'GeminiLabs\BlackBar')) {
112
-                            continue; // skip Blackbar callbacks
113
-                        }
114
-                    }
115
-                    $results[$priority][] = sprintf('%s::%s', $object, $method);
116
-                } elseif (is_object($callback['function'])) {
117
-                    $results[$priority][] = get_class($callback['function']);
118
-                } else {
119
-                    $results[$priority][] = $callback['function'];
120
-                }
121
-            }
122
-        }
123
-        return $results;
124
-    }
96
+	protected function callbacksForHook(string $hook): array
97
+	{
98
+		global $wp_filter;
99
+		$results = [];
100
+		if (!isset($wp_filter[$hook])) {
101
+			return $results;
102
+		}
103
+		foreach ($wp_filter[$hook] as $priority => $callbacks) {
104
+			$results[$priority] = $results[$priority] ?? [];
105
+			foreach ($callbacks as $callback) {
106
+				if (is_array($callback['function']) && 2 === count($callback['function'])) {
107
+					list($object, $method) = $callback['function'];
108
+					if (is_object($object)) {
109
+						$object = get_class($object);
110
+						$reflection = new \ReflectionClass($object);
111
+						if (str_starts_with($reflection->getNamespaceName(), 'GeminiLabs\BlackBar')) {
112
+							continue; // skip Blackbar callbacks
113
+						}
114
+					}
115
+					$results[$priority][] = sprintf('%s::%s', $object, $method);
116
+				} elseif (is_object($callback['function'])) {
117
+					$results[$priority][] = get_class($callback['function']);
118
+				} else {
119
+					$results[$priority][] = $callback['function'];
120
+				}
121
+			}
122
+		}
123
+		return $results;
124
+	}
125 125
 
126
-    protected function sortByTime(array $a, array $b): int
127
-    {
128
-        if ($a['total'] !== $b['total']) {
129
-            return ($a['total'] > $b['total']) ? -1 : 1;
130
-        }
131
-        return 0;
132
-    }
126
+	protected function sortByTime(array $a, array $b): int
127
+	{
128
+		if ($a['total'] !== $b['total']) {
129
+			return ($a['total'] > $b['total']) ? -1 : 1;
130
+		}
131
+		return 0;
132
+	}
133 133
 
134
-    /**
135
-     * Total elapsed time in nanoseconds
136
-     */
137
-    protected function totalTimeForHook(array $data): int
138
-    {
139
-        $total = 0;
140
-        foreach ($data['time'] as $time) {
141
-            $total += ($time['stop'] - $time['start']);
142
-        }
143
-        return $total;
144
-    }
134
+	/**
135
+	 * Total elapsed time in nanoseconds
136
+	 */
137
+	protected function totalTimeForHook(array $data): int
138
+	{
139
+		$total = 0;
140
+		foreach ($data['time'] as $time) {
141
+			$total += ($time['stop'] - $time['start']);
142
+		}
143
+		return $total;
144
+	}
145 145
 }
Please login to merge, or discard this patch.
plugin/Modules/Console.php 1 patch
Indentation   +101 added lines, -101 removed lines patch added patch discarded remove patch
@@ -7,112 +7,112 @@
 block discarded – undo
7 7
 
8 8
 class Console extends Module
9 9
 {
10
-    public const ERROR_CODES = [
11
-        E_ERROR => 'error', // 1
12
-        E_WARNING => 'warning', // 2
13
-        E_NOTICE => 'notice', // 8
14
-        E_STRICT => 'strict', // 2048
15
-        E_DEPRECATED => 'deprecated', // 8192
16
-    ];
10
+	public const ERROR_CODES = [
11
+		E_ERROR => 'error', // 1
12
+		E_WARNING => 'warning', // 2
13
+		E_NOTICE => 'notice', // 8
14
+		E_STRICT => 'strict', // 2048
15
+		E_DEPRECATED => 'deprecated', // 8192
16
+	];
17 17
 
18
-    public const MAPPED_ERROR_CODES = [
19
-        'debug' => 0,
20
-        'info' => E_NOTICE,
21
-        'deprecated' => E_DEPRECATED, // 8192
22
-        'error' => E_ERROR, // 1
23
-        'notice' => E_NOTICE, // 8
24
-        'strict' => E_STRICT, // 2048
25
-        'warning' => E_WARNING, // 2
26
-        'critical' => E_ERROR, // 1
27
-        'alert' => E_ERROR, // 1
28
-        'emergency' => E_ERROR, // 1
29
-    ];
18
+	public const MAPPED_ERROR_CODES = [
19
+		'debug' => 0,
20
+		'info' => E_NOTICE,
21
+		'deprecated' => E_DEPRECATED, // 8192
22
+		'error' => E_ERROR, // 1
23
+		'notice' => E_NOTICE, // 8
24
+		'strict' => E_STRICT, // 2048
25
+		'warning' => E_WARNING, // 2
26
+		'critical' => E_ERROR, // 1
27
+		'alert' => E_ERROR, // 1
28
+		'emergency' => E_ERROR, // 1
29
+	];
30 30
 
31
-    public function classes(): string
32
-    {
33
-        $errno = array_unique(wp_list_pluck($this->entries, 'errno'));
34
-        if (in_array(E_ERROR, $errno)) {
35
-            return sprintf('%s glbb-error', $this->id());
36
-        }
37
-        if (in_array(E_WARNING, $errno)) {
38
-            return sprintf('%s glbb-warning', $this->id());
39
-        }
40
-        return $this->id();
41
-    }
31
+	public function classes(): string
32
+	{
33
+		$errno = array_unique(wp_list_pluck($this->entries, 'errno'));
34
+		if (in_array(E_ERROR, $errno)) {
35
+			return sprintf('%s glbb-error', $this->id());
36
+		}
37
+		if (in_array(E_WARNING, $errno)) {
38
+			return sprintf('%s glbb-warning', $this->id());
39
+		}
40
+		return $this->id();
41
+	}
42 42
 
43
-    public function entries(): array
44
-    {
45
-        $entries = [];
46
-        foreach ($this->entries as $entry) {
47
-            $entry['name'] = ucfirst($entry['errname']);
48
-            if ($entry['count'] > 1) {
49
-                $entry['name'] = sprintf('%s (%s)', $entry['name'], $entry['count']);
50
-            }
51
-            $entries[] = $entry;
52
-        }
53
-        return $entries;
54
-    }
43
+	public function entries(): array
44
+	{
45
+		$entries = [];
46
+		foreach ($this->entries as $entry) {
47
+			$entry['name'] = ucfirst($entry['errname']);
48
+			if ($entry['count'] > 1) {
49
+				$entry['name'] = sprintf('%s (%s)', $entry['name'], $entry['count']);
50
+			}
51
+			$entries[] = $entry;
52
+		}
53
+		return $entries;
54
+	}
55 55
 
56
-    public function info(): string
57
-    {
58
-        $counts = array_count_values(wp_list_pluck($this->entries, 'errno'));
59
-        $entryCount = count($this->entries);
60
-        if (!empty($counts[E_ERROR])) {
61
-            return sprintf('%d, %d!', $entryCount, $counts[E_ERROR]);
62
-        }
63
-        if ($entryCount > 0) {
64
-            return (string) $entryCount;
65
-        }
66
-        return '';
67
-    }
56
+	public function info(): string
57
+	{
58
+		$counts = array_count_values(wp_list_pluck($this->entries, 'errno'));
59
+		$entryCount = count($this->entries);
60
+		if (!empty($counts[E_ERROR])) {
61
+			return sprintf('%d, %d!', $entryCount, $counts[E_ERROR]);
62
+		}
63
+		if ($entryCount > 0) {
64
+			return (string) $entryCount;
65
+		}
66
+		return '';
67
+	}
68 68
 
69
-    public function label(): string
70
-    {
71
-        return __('Console', 'blackbar');
72
-    }
69
+	public function label(): string
70
+	{
71
+		return __('Console', 'blackbar');
72
+	}
73 73
 
74
-    public function store(string $message, string $errno = '', string $location = ''): void
75
-    {
76
-        if (is_numeric($errno)) { // entry likely stored by set_error_handler()
77
-            $errname = 'Unknown';
78
-            if (array_key_exists((int) $errno, static::ERROR_CODES)) {
79
-                $errname = static::ERROR_CODES[$errno];
80
-            }
81
-        } else { // entry likely stored by filter hook
82
-            $errname = 'Debug';
83
-            if (array_key_exists($errno, static::MAPPED_ERROR_CODES)) {
84
-                $errname = $errno;
85
-                $errno = static::MAPPED_ERROR_CODES[$errno];
86
-            }
87
-        }
88
-        $errname = strtolower($errname);
89
-        $hash = md5($errno.$errname.$message.$location);
90
-        if (array_key_exists($hash, $this->entries)) {
91
-            ++$this->entries[$hash]['count'];
92
-        } else {
93
-            $this->entries[$hash] = [
94
-                'count' => 0,
95
-                'errname' => $errname,
96
-                'errno' => (int) $errno,
97
-                'message' => $this->normalizeMessage($message, $location),
98
-            ];
99
-        };
100
-    }
74
+	public function store(string $message, string $errno = '', string $location = ''): void
75
+	{
76
+		if (is_numeric($errno)) { // entry likely stored by set_error_handler()
77
+			$errname = 'Unknown';
78
+			if (array_key_exists((int) $errno, static::ERROR_CODES)) {
79
+				$errname = static::ERROR_CODES[$errno];
80
+			}
81
+		} else { // entry likely stored by filter hook
82
+			$errname = 'Debug';
83
+			if (array_key_exists($errno, static::MAPPED_ERROR_CODES)) {
84
+				$errname = $errno;
85
+				$errno = static::MAPPED_ERROR_CODES[$errno];
86
+			}
87
+		}
88
+		$errname = strtolower($errname);
89
+		$hash = md5($errno.$errname.$message.$location);
90
+		if (array_key_exists($hash, $this->entries)) {
91
+			++$this->entries[$hash]['count'];
92
+		} else {
93
+			$this->entries[$hash] = [
94
+				'count' => 0,
95
+				'errname' => $errname,
96
+				'errno' => (int) $errno,
97
+				'message' => $this->normalizeMessage($message, $location),
98
+			];
99
+		};
100
+	}
101 101
 
102
-    protected function normalizeMessage($message, string $location): string
103
-    {
104
-        if ($message instanceof \DateTime) {
105
-            $message = $message->format('Y-m-d H:i:s');
106
-        } elseif (is_object($message) || is_array($message)) {
107
-            $message = (new Dump())->dump($message);
108
-        } else {
109
-            $message = esc_html(trim((string) $message));
110
-        }
111
-        $location = trim($location);
112
-        if (!empty($location)) {
113
-            $location = str_replace([WP_CONTENT_DIR, ABSPATH], '', $location);
114
-            $location = sprintf('[%s]', $location);
115
-        }
116
-        return trim(sprintf('%s %s', $location, $message));
117
-    }
102
+	protected function normalizeMessage($message, string $location): string
103
+	{
104
+		if ($message instanceof \DateTime) {
105
+			$message = $message->format('Y-m-d H:i:s');
106
+		} elseif (is_object($message) || is_array($message)) {
107
+			$message = (new Dump())->dump($message);
108
+		} else {
109
+			$message = esc_html(trim((string) $message));
110
+		}
111
+		$location = trim($location);
112
+		if (!empty($location)) {
113
+			$location = str_replace([WP_CONTENT_DIR, ABSPATH], '', $location);
114
+			$location = sprintf('[%s]', $location);
115
+		}
116
+		return trim(sprintf('%s %s', $location, $message));
117
+	}
118 118
 }
Please login to merge, or discard this patch.
plugin/Modules/Queries.php 1 patch
Indentation   +66 added lines, -66 removed lines patch added patch discarded remove patch
@@ -6,74 +6,74 @@
 block discarded – undo
6 6
 
7 7
 class Queries extends Module
8 8
 {
9
-    public function entries(): array
10
-    {
11
-        global $wpdb;
12
-        $entries = [];
13
-        $index = 0;
14
-        $search = [
15
-            'FROM', 'GROUP BY', 'INNER JOIN', 'LEFT JOIN', 'LIMIT',
16
-            'ON DUPLICATE KEY UPDATE', 'ORDER BY', 'OFFSET', ' SET', 'WHERE',
17
-        ];
18
-        $replace = array_map(function ($value) {
19
-            return PHP_EOL.$value;
20
-        }, $search);
21
-        foreach ($wpdb->queries as $query) {
22
-            $sql = preg_replace('/\s\s+/', ' ', trim($query[0]));
23
-            $sql = str_replace(PHP_EOL, ' ', $sql);
24
-            $sql = str_replace(['( ',' )',' ,'], ['(',')',','], $sql);
25
-            $sql = str_replace($search, $replace, $sql);
26
-            $parts = explode(PHP_EOL, $sql);
27
-            $sql = array_reduce($parts, function ($carry, $part) {
28
-                if (str_starts_with($part, 'SELECT') && strlen($part) > 100) {
29
-                    $part = preg_replace('/\s*(,)\s*/', ','.PHP_EOL.'  ', $part);
30
-                }
31
-                if (str_starts_with($part, 'WHERE')) {
32
-                    $part = str_replace('AND', PHP_EOL.'  AND', $part);
33
-                }
34
-                return $carry.$part.PHP_EOL;
35
-            });
36
-            $trace = explode(', ', $query[2]);
37
-            $nanoseconds = (int) round($query[1] * 1e9);
38
-            $entries[] = [
39
-                'index' => $index++,
40
-                'sql' => $sql,
41
-                'time' => $nanoseconds,
42
-                'time_formatted' => $this->formatTime($nanoseconds),
43
-                'trace' => array_reverse($trace, true),
44
-            ];
45
-        }
46
-        uasort($entries, [$this, 'sortByTime']);
47
-        return $entries;
48
-    }
9
+	public function entries(): array
10
+	{
11
+		global $wpdb;
12
+		$entries = [];
13
+		$index = 0;
14
+		$search = [
15
+			'FROM', 'GROUP BY', 'INNER JOIN', 'LEFT JOIN', 'LIMIT',
16
+			'ON DUPLICATE KEY UPDATE', 'ORDER BY', 'OFFSET', ' SET', 'WHERE',
17
+		];
18
+		$replace = array_map(function ($value) {
19
+			return PHP_EOL.$value;
20
+		}, $search);
21
+		foreach ($wpdb->queries as $query) {
22
+			$sql = preg_replace('/\s\s+/', ' ', trim($query[0]));
23
+			$sql = str_replace(PHP_EOL, ' ', $sql);
24
+			$sql = str_replace(['( ',' )',' ,'], ['(',')',','], $sql);
25
+			$sql = str_replace($search, $replace, $sql);
26
+			$parts = explode(PHP_EOL, $sql);
27
+			$sql = array_reduce($parts, function ($carry, $part) {
28
+				if (str_starts_with($part, 'SELECT') && strlen($part) > 100) {
29
+					$part = preg_replace('/\s*(,)\s*/', ','.PHP_EOL.'  ', $part);
30
+				}
31
+				if (str_starts_with($part, 'WHERE')) {
32
+					$part = str_replace('AND', PHP_EOL.'  AND', $part);
33
+				}
34
+				return $carry.$part.PHP_EOL;
35
+			});
36
+			$trace = explode(', ', $query[2]);
37
+			$nanoseconds = (int) round($query[1] * 1e9);
38
+			$entries[] = [
39
+				'index' => $index++,
40
+				'sql' => $sql,
41
+				'time' => $nanoseconds,
42
+				'time_formatted' => $this->formatTime($nanoseconds),
43
+				'trace' => array_reverse($trace, true),
44
+			];
45
+		}
46
+		uasort($entries, [$this, 'sortByTime']);
47
+		return $entries;
48
+	}
49 49
 
50
-    public function hasEntries(): bool
51
-    {
52
-        global $wpdb;
53
-        return !empty($wpdb->queries);
54
-    }
50
+	public function hasEntries(): bool
51
+	{
52
+		global $wpdb;
53
+		return !empty($wpdb->queries);
54
+	}
55 55
 
56
-    public function info(): string
57
-    {
58
-        if (!defined('SAVEQUERIES') || !SAVEQUERIES) {
59
-            return '';
60
-        }
61
-        global $wpdb;
62
-        $seconds = (float) array_sum(wp_list_pluck($wpdb->queries, 1));
63
-        $nanoseconds = (int) round($seconds * 1e9);
64
-        return $this->formatTime($nanoseconds);
65
-    }
56
+	public function info(): string
57
+	{
58
+		if (!defined('SAVEQUERIES') || !SAVEQUERIES) {
59
+			return '';
60
+		}
61
+		global $wpdb;
62
+		$seconds = (float) array_sum(wp_list_pluck($wpdb->queries, 1));
63
+		$nanoseconds = (int) round($seconds * 1e9);
64
+		return $this->formatTime($nanoseconds);
65
+	}
66 66
 
67
-    public function label(): string
68
-    {
69
-        return __('SQL', 'blackbar');
70
-    }
67
+	public function label(): string
68
+	{
69
+		return __('SQL', 'blackbar');
70
+	}
71 71
 
72
-    protected function sortByTime(array $a, array $b): int
73
-    {
74
-        if ($a['time'] !== $b['time']) {
75
-            return ($a['time'] > $b['time']) ? -1 : 1;
76
-        }
77
-        return 0;
78
-    }
72
+	protected function sortByTime(array $a, array $b): int
73
+	{
74
+		if ($a['time'] !== $b['time']) {
75
+			return ($a['time'] > $b['time']) ? -1 : 1;
76
+		}
77
+		return 0;
78
+	}
79 79
 }
Please login to merge, or discard this patch.
plugin/Modules/Module.php 1 patch
Indentation   +64 added lines, -64 removed lines patch added patch discarded remove patch
@@ -6,80 +6,80 @@
 block discarded – undo
6 6
 
7 7
 abstract class Module
8 8
 {
9
-    /**
10
-     * @var Application
11
-     */
12
-    protected $app;
13
-    /**
14
-     * @var array
15
-     */
16
-    protected $entries;
9
+	/**
10
+	 * @var Application
11
+	 */
12
+	protected $app;
13
+	/**
14
+	 * @var array
15
+	 */
16
+	protected $entries;
17 17
 
18
-    public function __construct(Application $app)
19
-    {
20
-        $this->app = $app;
21
-        $this->entries = [];
22
-    }
18
+	public function __construct(Application $app)
19
+	{
20
+		$this->app = $app;
21
+		$this->entries = [];
22
+	}
23 23
 
24
-    public function classes(): string
25
-    {
26
-        return $this->id();
27
-    }
24
+	public function classes(): string
25
+	{
26
+		return $this->id();
27
+	}
28 28
 
29
-    abstract public function entries(): array;
29
+	abstract public function entries(): array;
30 30
 
31
-    public function hasEntries(): bool
32
-    {
33
-        return !empty($this->entries);
34
-    }
31
+	public function hasEntries(): bool
32
+	{
33
+		return !empty($this->entries);
34
+	}
35 35
 
36
-    public function id(): string
37
-    {
38
-        return sprintf('glbb-%s', $this->slug());
39
-    }
36
+	public function id(): string
37
+	{
38
+		return sprintf('glbb-%s', $this->slug());
39
+	}
40 40
 
41
-    public function info(): string
42
-    {
43
-        return '';
44
-    }
41
+	public function info(): string
42
+	{
43
+		return '';
44
+	}
45 45
 
46
-    public function isVisible(): bool
47
-    {
48
-        return true;
49
-    }
46
+	public function isVisible(): bool
47
+	{
48
+		return true;
49
+	}
50 50
 
51
-    abstract public function label(): string;
51
+	abstract public function label(): string;
52 52
 
53
-    public function render(): void
54
-    {
55
-        $this->app->render('panels/'.$this->slug(), ['module' => $this]);
56
-    }
53
+	public function render(): void
54
+	{
55
+		$this->app->render('panels/'.$this->slug(), ['module' => $this]);
56
+	}
57 57
 
58
-    public function slug(): string
59
-    {
60
-        return strtolower((new \ReflectionClass($this))->getShortName());
61
-    }
58
+	public function slug(): string
59
+	{
60
+		return strtolower((new \ReflectionClass($this))->getShortName());
61
+	}
62 62
 
63
-    protected function formatTime(int $nanoseconds): string
64
-    {
65
-        if ($nanoseconds >= 1e9) {
66
-            return sprintf('%s s', $this->toDecimal(round($nanoseconds / 1e9, 2)));
67
-        }
68
-        if ($nanoseconds >= 1e6) {
69
-            return sprintf('%s ms', $this->toDecimal(round($nanoseconds / 1e6, 2)));
70
-        }
71
-        if ($nanoseconds >= 1e3) {
72
-            return sprintf('%s µs', round($nanoseconds / 1e3));
73
-        }
74
-        return sprintf('%s ns', $nanoseconds);
75
-    }
63
+	protected function formatTime(int $nanoseconds): string
64
+	{
65
+		if ($nanoseconds >= 1e9) {
66
+			return sprintf('%s s', $this->toDecimal(round($nanoseconds / 1e9, 2)));
67
+		}
68
+		if ($nanoseconds >= 1e6) {
69
+			return sprintf('%s ms', $this->toDecimal(round($nanoseconds / 1e6, 2)));
70
+		}
71
+		if ($nanoseconds >= 1e3) {
72
+			return sprintf('%s µs', round($nanoseconds / 1e3));
73
+		}
74
+		return sprintf('%s ns', $nanoseconds);
75
+	}
76 76
 
77
-    protected function toDecimal(float $number): string
78
-    {
79
-        $number = (string) $number;
80
-        if (false !== strpos($number, '.')) {
81
-            $number = rtrim(rtrim($number, '0'), '.');
82
-        }
83
-        return $number;
84
-    }
77
+	protected function toDecimal(float $number): string
78
+	{
79
+		$number = (string) $number;
80
+		if (false !== strpos($number, '.')) {
81
+			$number = rtrim(rtrim($number, '0'), '.');
82
+		}
83
+		return $number;
84
+	}
85 85
 }
Please login to merge, or discard this patch.