Skip to content

Commit 84d0436

Browse files
committed
Update debug page to show basic information for debugging
1 parent 5897b86 commit 84d0436

File tree

3 files changed

+196
-0
lines changed

3 files changed

+196
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<?php namespace Unisharp\Laravelfilemanager\controllers;
2+
3+
/**
4+
* Class DebugController
5+
* @package Unisharp\Laravelfilemanager\controllers
6+
*/
7+
class DebugController extends LfmController
8+
{
9+
10+
/**
11+
* show the basic information for debug
12+
*
13+
* @return mixed
14+
*/
15+
public function index()
16+
{
17+
if (env('APP_DEBUG') == false)
18+
abort(404);
19+
20+
$string = file_get_contents('../composer.lock');
21+
$json = json_decode($string);
22+
foreach ($json->packages as $package) {
23+
if ($package->name == 'unisharp/laravel-filemanager') {
24+
$lfmVersion = $package->version;
25+
break;
26+
}
27+
}
28+
29+
return view('laravel-filemanager::debug')->with('lfmVersion', $lfmVersion);
30+
}
31+
}

src/routes.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,4 +87,7 @@
8787
]);
8888

8989
Route::get('/demo', 'DemoController@index');
90+
91+
// debug page
92+
Route::get('/debug', 'DebugController@index');
9093
});

src/views/debug.blade.php

Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<title>Laravel Filemanager</title>
6+
<link rel="shortcut icon" type="image/png" href="{{ asset('vendor/laravel-filemanager/img/folder.png') }}">
7+
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
8+
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
9+
</head>
10+
<body>
11+
<div class="container">
12+
<h1 class="page-header">Debug Page</h1>
13+
<table class="table" id="debug-info">
14+
<tr>
15+
<th>Browser Name & Version</th>
16+
<td></td>
17+
</tr>
18+
<tr>
19+
<th>OS Name & Version</th>
20+
<td></td>
21+
</tr>
22+
<tr>
23+
<th>Laravel Version</th>
24+
<td>{{ App::version() }}</td>
25+
</tr>
26+
<tr>
27+
<th>File Manager Version</th>
28+
<td>{{ $lfmVersion }}</td>
29+
</tr>
30+
<tr>
31+
<th>imagick Extension</th>
32+
<td>{{ extension_loaded('imagick') ? 'Install' : 'Not Install' }}</td>
33+
</tr>
34+
<tr>
35+
<th>gd Extension</th>
36+
<td>{{ extension_loaded('gd') ? 'Install' : 'Not Install' }}</td>
37+
</tr>
38+
</table>
39+
</div>
40+
41+
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
42+
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
43+
<script>
44+
var nVer = navigator.appVersion;
45+
var nAgt = navigator.userAgent;
46+
var browserName = navigator.appName;
47+
var fullVersion = ''+parseFloat(navigator.appVersion);
48+
var nameOffset,verOffset,ix;
49+
50+
// In Opera, the true version is after "Opera" or after "Version"
51+
if ((verOffset=nAgt.indexOf("Opera"))!=-1) {
52+
browserName = "Opera";
53+
fullVersion = nAgt.substring(verOffset+6);
54+
if ((verOffset=nAgt.indexOf("Version"))!=-1)
55+
fullVersion = nAgt.substring(verOffset+8);
56+
}
57+
// In MSIE, the true version is after "MSIE" in userAgent
58+
else if ((verOffset=nAgt.indexOf("MSIE"))!=-1) {
59+
browserName = "Microsoft Internet Explorer";
60+
fullVersion = nAgt.substring(verOffset+5);
61+
}
62+
// In Chrome, the true version is after "Chrome"
63+
else if ((verOffset=nAgt.indexOf("Chrome"))!=-1) {
64+
browserName = "Chrome";
65+
fullVersion = nAgt.substring(verOffset+7);
66+
}
67+
// In Safari, the true version is after "Safari" or after "Version"
68+
else if ((verOffset=nAgt.indexOf("Safari"))!=-1) {
69+
browserName = "Safari";
70+
fullVersion = nAgt.substring(verOffset+7);
71+
if ((verOffset=nAgt.indexOf("Version"))!=-1)
72+
fullVersion = nAgt.substring(verOffset+8);
73+
}
74+
// In Firefox, the true version is after "Firefox"
75+
else if ((verOffset=nAgt.indexOf("Firefox"))!=-1) {
76+
browserName = "Firefox";
77+
fullVersion = nAgt.substring(verOffset+8);
78+
}
79+
// In most other browsers, "name/version" is at the end of userAgent
80+
else if ( (nameOffset=nAgt.lastIndexOf(' ')+1) < (verOffset=nAgt.lastIndexOf('/')) )
81+
{
82+
browserName = nAgt.substring(nameOffset,verOffset);
83+
fullVersion = nAgt.substring(verOffset+1);
84+
if (browserName.toLowerCase()==browserName.toUpperCase()) {
85+
browserName = navigator.appName;
86+
}
87+
}
88+
// trim the fullVersion string at semicolon/space if present
89+
if ((ix=fullVersion.indexOf(";"))!=-1)
90+
fullVersion=fullVersion.substring(0,ix);
91+
if ((ix=fullVersion.indexOf(" "))!=-1)
92+
fullVersion=fullVersion.substring(0,ix);
93+
94+
// system
95+
var os = 'unknown';
96+
var clientStrings = [
97+
{s:'Windows 10', r:/(Windows 10.0|Windows NT 10.0)/},
98+
{s:'Windows 8.1', r:/(Windows 8.1|Windows NT 6.3)/},
99+
{s:'Windows 8', r:/(Windows 8|Windows NT 6.2)/},
100+
{s:'Windows 7', r:/(Windows 7|Windows NT 6.1)/},
101+
{s:'Windows Vista', r:/Windows NT 6.0/},
102+
{s:'Windows Server 2003', r:/Windows NT 5.2/},
103+
{s:'Windows XP', r:/(Windows NT 5.1|Windows XP)/},
104+
{s:'Windows 2000', r:/(Windows NT 5.0|Windows 2000)/},
105+
{s:'Windows ME', r:/(Win 9x 4.90|Windows ME)/},
106+
{s:'Windows 98', r:/(Windows 98|Win98)/},
107+
{s:'Windows 95', r:/(Windows 95|Win95|Windows_95)/},
108+
{s:'Windows NT 4.0', r:/(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)/},
109+
{s:'Windows CE', r:/Windows CE/},
110+
{s:'Windows 3.11', r:/Win16/},
111+
{s:'Android', r:/Android/},
112+
{s:'Open BSD', r:/OpenBSD/},
113+
{s:'Sun OS', r:/SunOS/},
114+
{s:'Linux', r:/(Linux|X11)/},
115+
{s:'iOS', r:/(iPhone|iPad|iPod)/},
116+
{s:'Mac OS X', r:/Mac OS X/},
117+
{s:'Mac OS', r:/(MacPPC|MacIntel|Mac_PowerPC|Macintosh)/},
118+
{s:'QNX', r:/QNX/},
119+
{s:'UNIX', r:/UNIX/},
120+
{s:'BeOS', r:/BeOS/},
121+
{s:'OS/2', r:/OS\/2/},
122+
{s:'Search Bot', r:/(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\/Teoma|ia_archiver)/}
123+
];
124+
for (var id in clientStrings) {
125+
var cs = clientStrings[id];
126+
if (cs.r.test(nAgt)) {
127+
os = cs.s;
128+
break;
129+
}
130+
}
131+
132+
var osVersion = 'unknown';
133+
if (/Windows/.test(os)) {
134+
osVersion = /Windows (.*)/.exec(os)[1];
135+
os = 'Windows';
136+
}
137+
138+
switch (os) {
139+
case 'Mac OS X':
140+
osVersion = /Mac OS X (10[\.\_\d]+)/.exec(nAgt)[1];
141+
break;
142+
case 'Android':
143+
osVersion = /Android ([\.\_\d]+)/.exec(nAgt)[1];
144+
break;
145+
case 'iOS':
146+
osVersion = /OS (\d+)_(\d+)_?(\d+)?/.exec(nVer);
147+
osVersion = osVersion[1] + '.' + osVersion[2] + '.' + (osVersion[3] | 0);
148+
break;
149+
}
150+
151+
var OSName="Unknown OS";
152+
if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows";
153+
if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS";
154+
if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX";
155+
if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux";
156+
157+
$('table tr:nth-child(1) td').html(browserName + ' ' + fullVersion);
158+
$('table tr:nth-child(2) td').html(os + ' ' + osVersion);
159+
</script>
160+
161+
</body>
162+
</html>

0 commit comments

Comments
 (0)