summaryrefslogtreecommitdiffstats
path: root/usr/local/www/widgets/widgets/smart_status.widget.php
diff options
context:
space:
mode:
authorjim-p <jimp@pfsense.org>2012-04-17 11:39:58 -0400
committerjim-p <jimp@pfsense.org>2012-04-17 11:39:58 -0400
commit2f0a49e922e282a1abc641ec9d489f2678e069be (patch)
tree32a56d13699d05845e64ebef702ccc0c2d3a5d1c /usr/local/www/widgets/widgets/smart_status.widget.php
parent4f8adcb66a92e5fe20027045113ea55a089fdf2e (diff)
downloadpfsense-2f0a49e922e282a1abc641ec9d489f2678e069be.zip
pfsense-2f0a49e922e282a1abc641ec9d489f2678e069be.tar.gz
Add contributed SMART Status widget - http://forum.pfsense.org/index.php/topic,48447.0.html
Diffstat (limited to 'usr/local/www/widgets/widgets/smart_status.widget.php')
-rw-r--r--usr/local/www/widgets/widgets/smart_status.widget.php48
1 files changed, 48 insertions, 0 deletions
diff --git a/usr/local/www/widgets/widgets/smart_status.widget.php b/usr/local/www/widgets/widgets/smart_status.widget.php
new file mode 100644
index 0000000..b3793d0
--- /dev/null
+++ b/usr/local/www/widgets/widgets/smart_status.widget.php
@@ -0,0 +1,48 @@
+<?php
+require_once("guiconfig.inc");
+require_once("pfsense-utils.inc");
+require_once("functions.inc");
+$devs = array();
+?>
+
+<table width="100%" border="0" cellpadding="0" cellspacing="0">
+ <tr>
+ <?
+ echo '<td class="widgetsubheader"><b><center>' . gettext("Drive") . '</center></b></td>';
+ echo '<td class="widgetsubheader"><b><center>' . gettext("Ident") . '</center></b></td>';
+ echo '<td class="widgetsubheader"><b><center>' . gettext("SMART Status") . '</center></b></td>';
+ ?>
+ </tr>
+
+<?php
+
+// Get all AD* and DA* (IDE and SCSI) devices currently installed and st$
+exec("ls /dev | grep '^[ad][da][0-9]\{1,2\}$'", $devs);
+
+if(count($devs) > 0) {
+ foreach($devs as $dev) {
+ $dev_state = exec("smartctl -a /dev/$dev | grep result: | awk '{print $6}'");
+ $dev_ident = exec("diskinfo -v /dev/$dev | grep ident | awk '{print $1}'");
+ ##erste Spalte: Drives ausgeben
+ echo '<tr><td class="listlr">';
+ echo '/dev/'. $dev ;
+ echo '</td>' . "\n";
+
+ ##zweite Spalte
+ echo '<td class="listr"><center>' . "\n";
+ echo $dev_ident ;
+ echo '</td>' . "\n";
+
+ ##dritte Spalte: smartstatus ausgeben
+ echo '<td class="listr">'; #tabellenspalte
+
+ if($dev_state == "PASSED")
+ echo "<span style=\"background-color:#00FF00\">$dev_state</span><br>"; ##gruener Hintergrund bei PASSED
+ else
+ echo "<span style=\"background-color:#FF0000\">$dev_state</span><br>"; ##roter Hintergrund sonst
+ echo '</td></tr>' . "\n"; #tabellenspalte
+ }
+}
+?>
+</table>
+<center><a href="diag_smart.php" class="navlink">SMART Status</a></center> \ No newline at end of file
OpenPOWER on IntegriCloud