summaryrefslogtreecommitdiffstats
path: root/usr/local/www/widgets/include
diff options
context:
space:
mode:
authorjim-p <jim@pingle.org>2009-04-05 15:03:39 -0400
committerjim-p <jim@pingle.org>2009-04-05 15:03:39 -0400
commit5aaccff5d3eb7124c2598ca8295213af5f4e6728 (patch)
tree2a8c67c2f0a1a0c6d9bbcacfa4f4818c4e0787e8 /usr/local/www/widgets/include
parent5579cecde32f82678c146faf71e27d1fc069a3c0 (diff)
downloadpfsense-5aaccff5d3eb7124c2598ca8295213af5f4e6728.zip
pfsense-5aaccff5d3eb7124c2598ca8295213af5f4e6728.tar.gz
New Widget: Gmirror Status
Diffstat (limited to 'usr/local/www/widgets/include')
-rw-r--r--usr/local/www/widgets/include/gmirror_status.inc31
1 files changed, 31 insertions, 0 deletions
diff --git a/usr/local/www/widgets/include/gmirror_status.inc b/usr/local/www/widgets/include/gmirror_status.inc
new file mode 100644
index 0000000..677be85
--- /dev/null
+++ b/usr/local/www/widgets/include/gmirror_status.inc
@@ -0,0 +1,31 @@
+<?php
+function get_gmirror_status() {
+ $status = "";
+ exec("/sbin/gmirror status", $status);
+ $mirrors = array();
+
+ /* Empty output = no mirrors found */
+ if (count($status) > 0) {
+ /* We don't need the first row, it's just a header */
+ $status = array_slice($status, 1);
+
+ /* Loop through gmirror status output. */
+ foreach ($status as $line) {
+ /* Split the line by whitespace */
+ $all = preg_split("/[\s\t]+/", trim($line), 3);
+ if (count($all) == 3) {
+ /* If there are three items on a line, it is mirror name, status, and component */
+ $currentmirror = $all[0];
+ $mirrors[$currentmirror]["name"] = $all[0];
+ $mirrors[$currentmirror]["status"] = $all[1];
+ $mirrors[$currentmirror]["components"] = array();
+ $mirrors[$currentmirror]["components"][] = $all[2];
+ } elseif ((trim($line) != "") && (count($all) > 0)) {
+ /* If there is just one item on a line, it is a component name of the previous mirror */
+ $mirrors[$currentmirror]["components"][] = trim($line);
+ }
+ }
+ }
+ /* Return an hash of mirrors and components */
+ return $mirrors;
+} ?> \ No newline at end of file
OpenPOWER on IntegriCloud