Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
OpnSense
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Kulya
OpnSense
Commits
ca19fb03
Commit
ca19fb03
authored
May 03, 2016
by
Ad Schellevis
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(dashboard, widgets) refactor interface_statistics.widget.php, use callbacks to update data
parent
ecb13223
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
69 additions
and
209 deletions
+69
-209
interface_statistics.widget.php
src/www/widgets/widgets/interface_statistics.widget.php
+69
-209
No files found.
src/www/widgets/widgets/interface_statistics.widget.php
View file @
ca19fb03
<?php
/*
Copyright (C) 2014
Deciso B.V.
Copyright (C) 2014-2016
Deciso B.V.
Copyright (C) 2007 Scott Dale
Copyright (C) 2004-2005 T. Lechat <dev@lechat.org>, Manuel Kasper <mk@neon1.net>
and Jonathan Watt <jwatt@jwatt.org>.
...
...
@@ -28,188 +28,48 @@
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
*/
$nocsrf
=
true
;
require_once
(
"guiconfig.inc"
);
require_once
(
"pfsense-utils.inc"
);
require_once
(
"interfaces.inc"
);
require_once
(
"widgets/include/interface_statistics.inc"
);
$ifdescrs
=
get_configured_interface_with_descr
();
$array_in_packets
=
array
();
$array_out_packets
=
array
();
$array_in_bytes
=
array
();
$array_out_bytes
=
array
();
$array_in_errors
=
array
();
$array_out_errors
=
array
();
$array_collisions
=
array
();
$array_interrupt
=
array
();
$interfacecounter
=
0
;
//build data arrays
foreach
(
$ifdescrs
as
$ifdescr
=>
$ifname
)
{
$ifinfo
=
get_interface_info
(
$ifdescr
);
$interfacecounter
++
;
if
(
$ifinfo
[
'status'
]
!=
"down"
)
{
$array_in_packets
[]
=
$ifinfo
[
'inpkts'
];
$array_out_packets
[]
=
$ifinfo
[
'outpkts'
];
$array_in_bytes
[]
=
format_bytes
(
$ifinfo
[
'inbytes'
]);
$array_out_bytes
[]
=
format_bytes
(
$ifinfo
[
'outbytes'
]);
if
(
isset
(
$ifinfo
[
'inerrs'
]))
{
$array_in_errors
[]
=
$ifinfo
[
'inerrs'
];
$array_out_errors
[]
=
$ifinfo
[
'outerrs'
];
}
else
{
$array_in_errors
[]
=
gettext
(
"n/a"
);
$array_out_errors
[]
=
gettext
(
"n/a"
);
}
if
(
isset
(
$ifinfo
[
'collisions'
]))
{
$array_collisions
[]
=
htmlspecialchars
(
$ifinfo
[
'collisions'
]);
}
else
{
$array_collisions
[]
=
gettext
(
"n/a"
);
}
}
}
//end for
?>
<div
id=
"int_labels"
style=
"float:left;width:32%"
>
<table
class=
"table table-striped"
width=
"100%"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
summary=
"interfaces statistics"
>
<tr><td
class=
"widgetsubheader"
style=
"height:25px"
>
</td></tr>
<tr>
<td><b>
<?php
echo
gettext
(
'Packets In'
)
?>
</b></td>
</tr>
<tr>
<td><b>
<?php
echo
gettext
(
'Packets Out'
)
?>
</b></td>
</tr>
<tr>
<td><b>
<?php
echo
gettext
(
'Bytes In'
)
?>
</b></td>
</tr>
<tr>
<td><b>
<?php
echo
gettext
(
'Bytes Out'
)
?>
</b></td>
</tr>
<tr>
<td><b>
<?php
echo
gettext
(
'Errors In'
)
?>
</b></td>
</tr>
<tr>
<td><b>
<?php
echo
gettext
(
'Errors Out'
)
?>
</b></td>
</tr>
<tr>
<td><b>
<?php
echo
gettext
(
'Collisions'
)
?>
</b></td>
</tr>
</table>
</div>
<div
id=
"interfacestats"
style=
"float:right;overflow: auto; width:68%"
>
<table
class=
"table table-striped"
width=
"100%"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
summary=
"the stats"
>
<tr>
<?php
$interface_names
=
array
();
foreach
(
$ifdescrs
as
$ifdescr
=>
$ifname
)
:
$ifinfo
=
get_interface_info
(
$ifdescr
);
if
(
$ifinfo
[
'status'
]
!=
"down"
)
{
?>
<td
class=
"widgetsubheader nowrap"
style=
"height:25px"
>
<b>
<?=
htmlspecialchars
(
$ifname
);
?>
</b>
</td>
<?php
//build array of interface names
$interface_names
[]
=
$ifname
;
<script
type=
"text/javascript"
>
/**
* update interface statistics
*/
function
interface_statistics_widget_update
(
sender
,
data
)
{
var
tbody
=
sender
.
find
(
'
tbody
'
);
var
thead
=
sender
.
find
(
'
thead
'
);
data
.
map
(
function
(
interface_data
)
{
var
th_id
=
"
interface_statistics_widget_intf_
"
+
interface_data
[
'
name
'
];
if
(
thead
.
find
(
"
#
"
+
th_id
).
length
==
0
)
{
thead
.
find
(
'
tr:eq(0)
'
).
append
(
'
<th id="
'
+
th_id
+
'
">
'
+
interface_data
[
'
name
'
]
+
'
</th>
'
);
tbody
.
find
(
'
tr
'
).
append
(
'
<td></td>
'
)
}
endforeach
;
?>
</tr>
<tr>
<?php
$counter
=
1
;
foreach
(
$array_in_packets
as
$data
)
:
?>
<td
class=
"listr nowrap"
id=
"stat
<?php
echo
$counter
?>
"
style=
"height:25px"
>
<?=
htmlspecialchars
(
$data
);
?>
</td>
<?php
$counter
=
$counter
+
7
;
endforeach
;
?>
</tr>
<tr>
<?php
$counter
=
2
;
foreach
(
$array_out_packets
as
$data
)
:
?>
<td
class=
"listr nowrap"
id=
"stat
<?php
echo
$counter
;
?>
"
style=
"height:25px"
>
<?=
htmlspecialchars
(
$data
);
?>
</td>
<?php
$counter
=
$counter
+
7
;
endforeach
;
?>
</tr>
<tr>
<?php
$counter
=
3
;
foreach
(
$array_in_bytes
as
$data
)
:
?>
<td
class=
"listr nowrap"
id=
"stat
<?php
echo
$counter
;
?>
"
style=
"height:25px"
>
<?=
htmlspecialchars
(
$data
);
?>
</td>
<?php
$counter
=
$counter
+
7
;
endforeach
;
?>
</tr>
<tr>
<?php
$counter
=
4
;
foreach
(
$array_out_bytes
as
$data
)
:
?>
<td
class=
"listr nowrap"
id=
"stat
<?php
echo
$counter
;
?>
"
style=
"height:25px"
>
<?=
htmlspecialchars
(
$data
);
?>
</td>
<?php
$counter
=
$counter
+
7
;
endforeach
;
?>
</tr>
<tr>
<?php
$counter
=
5
;
foreach
(
$array_in_errors
as
$data
)
:
?>
<td
class=
"listr nowrap"
id=
"stat
<?php
echo
$counter
;
?>
"
style=
"height:25px"
>
<?=
htmlspecialchars
(
$data
);
?>
</td>
<?php
$counter
=
$counter
+
7
;
endforeach
;
?>
</tr>
<tr>
<?php
$counter
=
6
;
foreach
(
$array_out_errors
as
$data
)
:
?>
<td
class=
"listr nowrap"
id=
"stat
<?php
echo
$counter
;
?>
"
style=
"height:25px"
>
<?=
htmlspecialchars
(
$data
);
?>
</td>
<?php
$counter
=
$counter
+
7
;
endforeach
;
?>
</tr>
// fill in stats, use column index to determine td location
var
item_index
=
$
(
"
#
"
+
th_id
).
index
();
$
(
"
#interface_statistics_widget_pkg_in > td:eq(
"
+
item_index
+
"
)
"
).
html
(
interface_data
[
'
inpkts
'
]);
$
(
"
#interface_statistics_widget_pkg_out > td:eq(
"
+
item_index
+
"
)
"
).
html
(
interface_data
[
'
outpkts
'
]);
$
(
"
#interface_statistics_widget_bytes_in > td:eq(
"
+
item_index
+
"
)
"
).
html
(
interface_data
[
'
inbytes_frmt
'
]);
$
(
"
#interface_statistics_widget_bytes_out > td:eq(
"
+
item_index
+
"
)
"
).
html
(
interface_data
[
'
outbytes_frmt
'
]);
$
(
"
#interface_statistics_widget_errors_in > td:eq(
"
+
item_index
+
"
)
"
).
html
(
interface_data
[
'
inerrs
'
]);
$
(
"
#interface_statistics_widget_errors_out > td:eq(
"
+
item_index
+
"
)
"
).
html
(
interface_data
[
'
outerrs
'
]);
$
(
"
#interface_statistics_widget_collisions > td:eq(
"
+
item_index
+
"
)
"
).
html
(
interface_data
[
'
collisions
'
]);
});
}
</script>
<table
class=
"table table-striped table-condensed"
data-plugin=
"interfaces"
data-callback=
"interface_statistics_widget_update"
>
<thead>
<tr>
<?php
$counter
=
7
;
foreach
(
$array_collisions
as
$data
)
:
?>
<td
class=
"listr nowrap"
id=
"stat
<?php
echo
$counter
;
?>
"
style=
"height:25px"
>
<?=
htmlspecialchars
(
$data
);
?>
</td>
<?php
$counter
=
$counter
+
7
;
endforeach
;
?>
<th>
</th>
</tr>
</table>
</div>
</thead>
<tbody>
<tr
id=
"interface_statistics_widget_pkg_in"
><td><strong>
<?=
gettext
(
'Packets In'
);
?>
</strong></td></tr>
<tr
id=
"interface_statistics_widget_pkg_out"
><td><strong>
<?=
gettext
(
'Packets Out'
);
?>
</strong></td></tr>
<tr
id=
"interface_statistics_widget_bytes_in"
><td><strong>
<?=
gettext
(
'Bytes In'
);
?>
</strong></td></tr>
<tr
id=
"interface_statistics_widget_bytes_out"
><td><strong>
<?=
gettext
(
'Bytes Out'
);
?>
</strong></td></tr>
<tr
id=
"interface_statistics_widget_errors_in"
><td><strong>
<?=
gettext
(
'Errors In'
);
?>
</strong></td></tr>
<tr
id=
"interface_statistics_widget_errors_out"
><td><strong>
<?=
gettext
(
'Errors Out'
);
?>
</strong></td></tr>
<tr
id=
"interface_statistics_widget_collisions"
><td><strong>
<?=
gettext
(
'Collisions'
);
?>
</strong></td></tr>
</tbody>
</table>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment