summaryrefslogtreecommitdiffstats
path: root/usr/local/www/widgets
diff options
context:
space:
mode:
authorRenato Botelho <renato@netgate.com>2015-08-25 08:08:24 -0300
committerRenato Botelho <renato@netgate.com>2015-08-25 14:49:54 -0300
commit46bc6e545a17e77202aaf01ec0cd8d5a46567525 (patch)
tree32d18dda436ec739c67c489ceb771e8629cd926f /usr/local/www/widgets
parent4d9801c2dbd2b3e54a39578ee62b93af66607227 (diff)
downloadpfsense-46bc6e545a17e77202aaf01ec0cd8d5a46567525.zip
pfsense-46bc6e545a17e77202aaf01ec0cd8d5a46567525.tar.gz
Move main pfSense content to src/
Diffstat (limited to 'usr/local/www/widgets')
-rw-r--r--usr/local/www/widgets/include/captiveportal.inc4
-rw-r--r--usr/local/www/widgets/include/carp_status.inc7
-rw-r--r--usr/local/www/widgets/include/dyn_dns_status.inc7
-rw-r--r--usr/local/www/widgets/include/gateways.inc5
-rw-r--r--usr/local/www/widgets/include/gmirror_status.inc4
-rw-r--r--usr/local/www/widgets/include/installed_packages.inc7
-rw-r--r--usr/local/www/widgets/include/interface_statistics.inc5
-rw-r--r--usr/local/www/widgets/include/interfaces.inc6
-rw-r--r--usr/local/www/widgets/include/ipsec.inc4
-rw-r--r--usr/local/www/widgets/include/load_balancer.inc4
-rw-r--r--usr/local/www/widgets/include/log.inc6
-rw-r--r--usr/local/www/widgets/include/ntp_status.inc5
-rw-r--r--usr/local/www/widgets/include/openvpn.inc4
-rw-r--r--usr/local/www/widgets/include/services_status.inc7
-rw-r--r--usr/local/www/widgets/include/smart_status.inc5
-rw-r--r--usr/local/www/widgets/include/thermal_sensors.inc27
-rw-r--r--usr/local/www/widgets/include/traffic_graph.inc4
-rw-r--r--usr/local/www/widgets/include/wake_on_lan.inc7
-rw-r--r--usr/local/www/widgets/javascript/cpu_graphs.js245
-rw-r--r--usr/local/www/widgets/javascript/ipsec.js9
-rw-r--r--usr/local/www/widgets/javascript/thermal_sensors.js296
-rw-r--r--usr/local/www/widgets/javascript/traffic_graph.js41
-rw-r--r--usr/local/www/widgets/widgets/captive_portal_status.widget.php146
-rw-r--r--usr/local/www/widgets/widgets/carp_status.widget.php85
-rw-r--r--usr/local/www/widgets/widgets/deactivated/cpu_graphs.widget.php76
-rw-r--r--usr/local/www/widgets/widgets/dyn_dns_status.widget.php174
-rw-r--r--usr/local/www/widgets/widgets/gateways.widget.php227
-rw-r--r--usr/local/www/widgets/widgets/gmirror_status.widget.php52
-rw-r--r--usr/local/www/widgets/widgets/installed_packages.widget.php126
-rw-r--r--usr/local/www/widgets/widgets/interface_statistics.widget.php216
-rw-r--r--usr/local/www/widgets/widgets/interfaces.widget.php126
-rw-r--r--usr/local/www/widgets/widgets/ipsec.widget.php265
-rw-r--r--usr/local/www/widgets/widgets/load_balancer_status.widget.php155
-rw-r--r--usr/local/www/widgets/widgets/log.widget.php281
-rw-r--r--usr/local/www/widgets/widgets/ntp_status.widget.php515
-rw-r--r--usr/local/www/widgets/widgets/openvpn.widget.php290
-rw-r--r--usr/local/www/widgets/widgets/picture.widget.php96
-rw-r--r--usr/local/www/widgets/widgets/rss.widget.php198
-rw-r--r--usr/local/www/widgets/widgets/services_status.widget.php105
-rw-r--r--usr/local/www/widgets/widgets/smart_status.widget.php76
-rw-r--r--usr/local/www/widgets/widgets/system_information.widget.php322
-rw-r--r--usr/local/www/widgets/widgets/thermal_sensors.widget.php279
-rw-r--r--usr/local/www/widgets/widgets/traffic_graphs.widget.php193
-rw-r--r--usr/local/www/widgets/widgets/wake_on_lan.widget.php80
44 files changed, 0 insertions, 4792 deletions
diff --git a/usr/local/www/widgets/include/captiveportal.inc b/usr/local/www/widgets/include/captiveportal.inc
deleted file mode 100644
index 3714209..0000000
--- a/usr/local/www/widgets/include/captiveportal.inc
+++ /dev/null
@@ -1,4 +0,0 @@
-<?php
-$captive_portal_status_title = "Captive Portal Status";
-$captive_portal_status_title_link = "status_captiveportal.php";
-?>
diff --git a/usr/local/www/widgets/include/carp_status.inc b/usr/local/www/widgets/include/carp_status.inc
deleted file mode 100644
index 79d3c03..0000000
--- a/usr/local/www/widgets/include/carp_status.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-
-//set variable for custom title
-$carp_status_title = "Carp Status";
-$carp_status_title_link = "carp_status.php";
-
-?>
diff --git a/usr/local/www/widgets/include/dyn_dns_status.inc b/usr/local/www/widgets/include/dyn_dns_status.inc
deleted file mode 100644
index 8116fe7..0000000
--- a/usr/local/www/widgets/include/dyn_dns_status.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-
-//set variable for custom title
-$dyn_dns_status_title = "Dyn DNS Status";
-$dyn_dns_status_title_link = "services_dyndns.php";
-
-?>
diff --git a/usr/local/www/widgets/include/gateways.inc b/usr/local/www/widgets/include/gateways.inc
deleted file mode 100644
index 4666689..0000000
--- a/usr/local/www/widgets/include/gateways.inc
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-//set variable for custom title
-$gateways_title = "Gateways";
-$gateways_title_link = "status_gateways.php";
-?>
diff --git a/usr/local/www/widgets/include/gmirror_status.inc b/usr/local/www/widgets/include/gmirror_status.inc
deleted file mode 100644
index 6547d4d..0000000
--- a/usr/local/www/widgets/include/gmirror_status.inc
+++ /dev/null
@@ -1,4 +0,0 @@
-<?php
-$gmirror_status_title = "GEOM Mirror Status";
-$gmirror_status_title_link = "diag_gmirror.php";
-?> \ No newline at end of file
diff --git a/usr/local/www/widgets/include/installed_packages.inc b/usr/local/www/widgets/include/installed_packages.inc
deleted file mode 100644
index a978191..0000000
--- a/usr/local/www/widgets/include/installed_packages.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-
-//set variable for custom title
-$installed_packages_title = "Installed Packages";
-$installed_packages_title_link = "pkg_mgr_installed.php";
-
-?> \ No newline at end of file
diff --git a/usr/local/www/widgets/include/interface_statistics.inc b/usr/local/www/widgets/include/interface_statistics.inc
deleted file mode 100644
index c789418..0000000
--- a/usr/local/www/widgets/include/interface_statistics.inc
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-//set variable for custom title
-$interface_statistics_title = "Interface Statistics";
-$interface_statistics_title_link = "status_interfaces.php";
-?> \ No newline at end of file
diff --git a/usr/local/www/widgets/include/interfaces.inc b/usr/local/www/widgets/include/interfaces.inc
deleted file mode 100644
index 6c19a6b..0000000
--- a/usr/local/www/widgets/include/interfaces.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-//set variable for custom title
-$interfaces_title = "Interfaces";
-$interfaces_title_link = "status_interfaces.php";
-
-?> \ No newline at end of file
diff --git a/usr/local/www/widgets/include/ipsec.inc b/usr/local/www/widgets/include/ipsec.inc
deleted file mode 100644
index 6df0a7c..0000000
--- a/usr/local/www/widgets/include/ipsec.inc
+++ /dev/null
@@ -1,4 +0,0 @@
-<?php
-$ipsec_title = "IPsec";
-$ipsec_title_link = "diag_ipsec.php";
-?>
diff --git a/usr/local/www/widgets/include/load_balancer.inc b/usr/local/www/widgets/include/load_balancer.inc
deleted file mode 100644
index 367ea46..0000000
--- a/usr/local/www/widgets/include/load_balancer.inc
+++ /dev/null
@@ -1,4 +0,0 @@
-<?php
-$load_balancer_status_title = "Load Balancer Status";
-$load_balancer_status_title_link = "status_lb_pool.php";
-?>
diff --git a/usr/local/www/widgets/include/log.inc b/usr/local/www/widgets/include/log.inc
deleted file mode 100644
index 7ad453a..0000000
--- a/usr/local/www/widgets/include/log.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-//set variable for custom title
-$log_title = "Firewall Logs";
-$log_title_link = "diag_logs_filter.php";
-
-?> \ No newline at end of file
diff --git a/usr/local/www/widgets/include/ntp_status.inc b/usr/local/www/widgets/include/ntp_status.inc
deleted file mode 100644
index 1115095..0000000
--- a/usr/local/www/widgets/include/ntp_status.inc
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-//set variable for custom title
-$ntp_status_title = "NTP Status";
-$ntp_status_title_link = "status_ntpd.php";
-?>
diff --git a/usr/local/www/widgets/include/openvpn.inc b/usr/local/www/widgets/include/openvpn.inc
deleted file mode 100644
index 075d0e5..0000000
--- a/usr/local/www/widgets/include/openvpn.inc
+++ /dev/null
@@ -1,4 +0,0 @@
-<?php
-$openvpn_title = "OpenVPN";
-$openvpn_title_link = "status_openvpn.php";
-?> \ No newline at end of file
diff --git a/usr/local/www/widgets/include/services_status.inc b/usr/local/www/widgets/include/services_status.inc
deleted file mode 100644
index 685aee4..0000000
--- a/usr/local/www/widgets/include/services_status.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-
-//set variable for custom title
-$services_status_title = "Services Status";
-$services_status_title_link = "status_services.php";
-
-?> \ No newline at end of file
diff --git a/usr/local/www/widgets/include/smart_status.inc b/usr/local/www/widgets/include/smart_status.inc
deleted file mode 100644
index bbfa274..0000000
--- a/usr/local/www/widgets/include/smart_status.inc
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-//set variable for custom title
-$smart_status_title = "SMART Status";
-$smart_status_title_link = "diag_smart.php";
-?>
diff --git a/usr/local/www/widgets/include/thermal_sensors.inc b/usr/local/www/widgets/include/thermal_sensors.inc
deleted file mode 100644
index a6e727a..0000000
--- a/usr/local/www/widgets/include/thermal_sensors.inc
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-/*
- $Id: thermal_sensors.inc
- File location:
- \usr\local\www\widgets\include\
-
- Used by:
- \usr\local\www\widgets\widgets\thermal_sensors.widget.php
-
-
-*/
-
-//set variable for custom title
-$thermal_sensors_widget_title = "Thermal Sensors";
-//$thermal_sensors_widget_link = "thermal_sensors.php";
-
-
-//returns core temp data (from coretemp.ko or amdtemp.ko driver) as "|"-delimited string.
-//NOTE: depends on proper config in System >> Advanced >> Miscellaneous tab >> Thermal Sensors section.
-function getThermalSensorsData() {
-
- $_gb = exec("/sbin/sysctl -a | grep temperature", $dfout);
- $thermalSensorsData = join("|", $dfout);
- return $thermalSensorsData;
-
-}
-?>
diff --git a/usr/local/www/widgets/include/traffic_graph.inc b/usr/local/www/widgets/include/traffic_graph.inc
deleted file mode 100644
index 3901db6..0000000
--- a/usr/local/www/widgets/include/traffic_graph.inc
+++ /dev/null
@@ -1,4 +0,0 @@
-<?php
-$traffic_graphs_title = "Traffic Graphs";
-$traffic_graphs_title_link = "status_graph.php";
-?>
diff --git a/usr/local/www/widgets/include/wake_on_lan.inc b/usr/local/www/widgets/include/wake_on_lan.inc
deleted file mode 100644
index af3229c..0000000
--- a/usr/local/www/widgets/include/wake_on_lan.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-
-//set variable for custom title
-$wake_on_lan_title = "Wake On Lan";
-$wake_on_lan_title_link = "services_wol.php";
-
-?> \ No newline at end of file
diff --git a/usr/local/www/widgets/javascript/cpu_graphs.js b/usr/local/www/widgets/javascript/cpu_graphs.js
deleted file mode 100644
index 1fc690a..0000000
--- a/usr/local/www/widgets/javascript/cpu_graphs.js
+++ /dev/null
@@ -1,245 +0,0 @@
-/******************************************************************************
- $Id: graphlink.js,v 1.1 2006/12/21 17:10:25 dberlin Exp $
-
- This file is part of the GraphLink software.
- GraphLink is distributed under the MIT License.
- Copyright (C) 2005-2006 Max Khitrov <max@mxsoft.org>
- ******************************************************************************/
-
-/***** Global data ************************************************************/
-
-var gl_graphCount = 0; // Number of graphs on the current page
-
-/***** Constants **************************************************************/
-
-var GL_START = 0;
-var GL_END = 1;
-var GL_STATIC = 0;
-var GL_DYNAMIC = 1;
-
-/***** Public functions *******************************************************/
-
-/**
- * Creates a graph and returns the graph data structure which can later be
- * manipulated using the other graph functions.
- *
- * element_id - DOM element id (should be a DIV) that will contain the graph.
- * width - The width of the graph in pixels.
- * height - Height of the graph in pixels.
- * bar_width - Width of each bar on the graph. This number should divide width
- * evenly, or else width will be adjusted to meet this requirement.
- * General formula to keep in mind:
- * Smaller bar width = more bars = higher CPU usage on client-side.
- *
- * Returns graph data structure on success, false on error.
- */
-function GraphInitialize(element_id, width, height, bar_width) {
- // Find the page element which will contain the graph
- var owner;
- if((owner = jQuery('#' + element_id)) == null) {
- alert("GraphLink Error: Element ID '" + element_id + "' not found.");
- return false;
- }
-
- // Make sure width is divisible by bar_width
- if(width / bar_width != Math.floor(width / bar_width))
- width = Math.floor(width / bar_width) * bar_width;
-
- var bar_count = width / bar_width;
-
- // Create the graph data structure
- var graph = new Array();
- graph['id'] = gl_graphCount; // ID used to separate elements of one graph from those of another
- graph['width'] = width; // Graph width
- graph['height'] = height; // Graph height
- graph['bar_count'] = bar_count; // Number of bars on the graph
- graph['scale_type'] = GL_STATIC; // How the graph is scaled
- graph['scale'] = 1; // Multiplier for the bar height
- graph['max'] = 0; // Largest value currently on the graph
- graph['vmax'] = height; // Virtual graph maximum
- graph['spans'] = new Array(bar_count); // References to all the spans for each graph
- graph['vals'] = new Array(bar_count); // The height of each bar on the graph, actually it's (graph height - bar height)
- gl_graphCount++;
-
- // Build the graph (x)html
- var graph_html = '';
- graph_html += '<div id="GraphLinkData' + graph['id'] + '" class="GraphLinkData">';
-
- for(var i = 0; i < bar_count; i++) {
- graph['vals'][i] = height;
- graph_html += '<span id="GraphLinkBar' + graph['id'] + '_' + i + '" class="GraphLinkBar"></span>';
- }
-
- graph_html += '</div>';
- owner.html(graph_html);
- graph['element_id'] = jQuery('#GraphLinkData' + graph['id']);
-
- for(i = 0; i < bar_count; i++) {
- graph['spans'][i] = jQuery('#GraphLinkBar' + graph['id'] + '_' + i);
- graph['spans'][i].css('width',bar_width + 'px');
- graph['spans'][i].css('margin-top',height + 'px');
- }
-
- return graph;
-}
-
-/**
- * Adds a new value to a graph.
- *
- * graph - Graph object to which to add the new value.
- * value - Value to add.
- * where - (optional) GL_START (0) or GL_END (1), depending on where you want
- * the new value to appear. GL_START will add the value on the left
- * of the graph, GL_END will add it on the right (default).
- */
-function GraphValue(graph, value, where) {
- if(typeof(where) == 'undefined')
- where = GL_END;
-
- var rescale = false;
- var lost = 0;
-
- if(value < 0)
- value = 0;
-
- if(graph['scale_type'] == GL_DYNAMIC && value > graph['max'])
- rescale = true;
-
- if(graph['scale_type'] == GL_STATIC) {
- if(value > graph['vmax'])
- value = graph['vmax'];
- value = Math.round(value * graph['scale']);
- }
-
- if(where == GL_START) {
- graph['vals'].unshift(graph['height'] - value);
- lost = graph['vals'].pop();
- }
- else {
- graph['vals'].push(graph['height'] - value);
- lost = graph['vals'].shift();
- }
-
- if(graph['scale_type'] == GL_DYNAMIC && (graph['height'] - lost) == graph['max'])
- rescale = true;
-
- if(rescale)
- GraphAdjustScale(graph)
-
- GraphDraw(graph);
-}
-
-/**
- * Sets a virtual maximum for the graph allowing you to have non-scaled graphs
- * that can show a value greater then the graph height. This function will
- * automatically set the graph to a static scale mode, meaning that no values
- * above the maximum will be permitted. If you need to have a graph with no
- * pre-defined maximum, make it dynamic. Also note that if you set a vmax on a
- * graph that has data larger than vmax, that data will be reduced.
- *
- * graph - Graph object for which to set virtual max.
- * vmax - The virtual maximum value for the graph.
- */
-function GraphSetVMax(graph, vmax) {
- graph['scale_type'] = GL_STATIC;
- graph['vmax'] = vmax;
-
- GraphAdjustScale(graph);
- GraphDraw(graph);
-}
-
-/**
- * This function instructs the graph to be scaled according to what the maximum
- * value is. That value is used as the graph maximum and is reevaluated whenever
- * a new value is added, or the current maximum is removed. Dynamic scaling is a
- * good way of showing data for which you don't know what the maximum will be,
- * but it also is a bit more resource-intensive then statically scaled graphs.
- *
- * graph - Graph object for which to enable dynamic scaling.
- */
-function GraphDynamicScale(graph) {
- graph['scale_type'] = GL_DYNAMIC;
-
- GraphAdjustScale(graph);
- GraphDraw(graph);
-}
-
-/***** Private functions ******************************************************/
-
-/**
- * Checks if the current scale of the graph is still valid, or needs to be
- * adjusted.
- *
- * graph - Graph object for which to check the scale.
- */
-function GraphAdjustScale(graph) {
- var limit = graph['bar_count'];
- var new_max = 0;
- var new_scale = 0;
- var val = 0;
-
- if(graph['scale_type'] == GL_STATIC) {
- new_max = graph['vmax'];
- new_scale = graph['height'] / new_max;
-
- if(new_scale == graph['scale'])
- return;
- }
-
- for(var i = 0; i < limit; i++) {
- if(graph['scale_type'] == GL_STATIC) {
- val = (graph['height'] - graph['vals'][i]) * graph['scale'];
- val = val * new_scale;
-
- if(val > new_max)
- val = new_max;
-
- graph['vals'][i] = graph['height'] - Math.round(val * new_scale);
-
- }
- else if((graph['height'] - graph['vals'][i]) > new_max) {
- new_max = graph['height'] - graph['vals'][i];
- }
- }
-
-
- if(graph['scale_type'] == GL_STATIC) {
- graph['scale'] = new_scale;
- }
- else {
- if(new_max == 0)
- graph['scale'] = 1;
- else
- graph['scale'] = graph['height'] / new_max;
-
- graph['max'] = new_max;
- }
-}
-
-/**
- * Redraws the graph on the screen.
- *
- * graph - Graph object which needs to be re-drawn.
- */
-function GraphDraw(graph) {
- var count = graph['bar_count'];
-
- if(graph['scale_type'] == GL_STATIC)
- var getMargin = function(i) {
- return graph['vals'][i] + 'px';
- };
- else
- var getMargin = function(i) {
- var h = graph['height'];
- var s = graph['scale'];
- var v = graph['vals'][i];
- return (h - Math.round((h - v) * s)) + 'px';
- };
-
- graph['spans'][count - 1].css("display", "none");
-
- for(var i = 0; i < count; i++)
- graph['spans'][i].css("marginTop", getMargin(i));
-
-// jQuery('#' + graph['spans'][count - 1]).fadeIn(500);
-}
diff --git a/usr/local/www/widgets/javascript/ipsec.js b/usr/local/www/widgets/javascript/ipsec.js
deleted file mode 100644
index d38f6cd..0000000
--- a/usr/local/www/widgets/javascript/ipsec.js
+++ /dev/null
@@ -1,9 +0,0 @@
-function updateIpsec() {
- selectIntLink = "ipsecDetailed";
- ipsecsettings = "ipsecDetail=";
- ipsecsettings += d.getElementById(selectIntLink).checked;
-
- selectIntLink = "ipsec-config";
- textlink = d.getElementById(selectIntLink);
- textlink.value = ipsecsettings;
-} \ No newline at end of file
diff --git a/usr/local/www/widgets/javascript/thermal_sensors.js b/usr/local/www/widgets/javascript/thermal_sensors.js
deleted file mode 100644
index 7415b01..0000000
--- a/usr/local/www/widgets/javascript/thermal_sensors.js
+++ /dev/null
@@ -1,296 +0,0 @@
-/*
- $Id: thermal_sensors.js
- Description:
- Javascript functions to get and show thermal sensors data in thermal_sensors.widget.php.
- NOTE: depends on proper config in System >> Advanced >> Miscellaneous tab >> Thermal Sensors section.
- File location:
- \usr\local\www\widgets\javascript\
- Used by:
- \usr\local\www\widgets\widgets\thermal_sensors.widget.php
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
-*/
-
-
-
-//should be called from "thermal_sensors.widget.php"
-function showThermalSensorsData() {
-
- //get data from thermal_sensors.widget.php
- url = "/widgets/widgets/thermal_sensors.widget.php?getThermalSensorsData=1"
- //IE fix to disable cache when using http:// , just append timespan
- + new Date().getTime();
-
- jQuery.ajax(url, {
- type: 'get',
- success: function(data) {
- var thermalSensorsData = data || "";
- buildThermalSensorsData(thermalSensorsData);
- },
- error: function(jqXHR, status, error) {
- buildThermalSensorsDataRaw(
- "Error getting data from [thermal_sensors.widget.php] - |" +
- "status: [" + (status || "") + "]|" +
- "error: [" + (error || "") + "]");
- }
- });
-
- //call itself in 11 seconds
- window.setTimeout(showThermalSensorsData, 11000);
-}
-
-function buildThermalSensorsData(thermalSensorsData) {
- //NOTE: variable thermal_sensors_widget_showRawOutput is declared/set in "thermal_sensors.widget.php"
- if (thermal_sensors_widget_showRawOutput) {
- buildThermalSensorsDataRaw(thermalSensorsData);
- } else {
- buildThermalSensorsDataGraph(thermalSensorsData);
- }
-}
-
-function buildThermalSensorsDataRaw(thermalSensorsData) {
-
- var thermalSensorsContent = "";
-
- if (thermalSensorsData && thermalSensorsData != "") {
- thermalSensorsContent = thermalSensorsData.replace(/\|/g, "<br />");
- //rawData = thermalSensorsData.split("|").join("<br />");
- }
-
- loadThermalSensorsContainer(thermalSensorsContent);
-}
-
-function loadThermalSensorsContainer (thermalSensorsContent) {
-
- if (thermalSensorsContent && thermalSensorsContent != "") {
- //load generated graph (or raw data) into thermalSensorsContainer (thermalSensorsContainer DIV defined in "thermal_sensors.widget.php")
- jQuery('#thermalSensorsContainer').html(thermalSensorsContent);
- } else {
- jQuery('#thermalSensorsContainer').html("No Thermal Sensors data available.<br /><br />");
- jQuery('<div/>').html(
- "<span>* You can configure a proper Thermal Sensor / Module under <br />" +
- "&nbsp;&nbsp;&nbsp;<a href='system_advanced_misc.php'>System &gt; Advanced &gt; Miscellaneous : Thermal Sensors section</a>.</span>"
- ).appendTo('#thermalSensorsContainer');
- }
-}
-
-function buildThermalSensorsDataGraph(thermalSensorsData) {
-
- //local constants
- var normalColor = "LimeGreen";
- var normalColorShadowTop = "Lime";
- var normalColorShadowBottom = "Green";
-
- var warningColor = "Orange";
- var warningColorShadowBottom = "Chocolate";
-
- var criticalColor = "Red";
- var criticalColorShadowBottom = "DarkRed";
-
- //local variables
- var barBgColor = normalColor; //green/normal as default
- var barBgColorShadowTop = normalColorShadowTop; //green/normal as default
- var barBgColorShadowBottom = normalColorShadowBottom; //green/normal as default
-
- var thermalSensorsArray = new Array();
-
- if (thermalSensorsData && thermalSensorsData != "") {
- thermalSensorsArray = thermalSensorsData.split("|");
- }
-
- var thermalSensorsHTMLContent = "";
- var itemsToPulsate = new Array();
-
- //generate graph for each temperature sensor and append to thermalSensorsHTMLContent string
- for (var i = 0; i < thermalSensorsArray.length; i++) {
-
- var sensorDataArray = thermalSensorsArray[i].split(":");
- var sensorName = sensorDataArray[0].trim();
- var thermalSensorValue = getThermalSensorValue(sensorDataArray[1]);
-
- var pulsateTimes = 0;
- var pulsateDuration = 0;
-
- var warningTempThresholdPosition = 0;
- var criticalTempThresholdPosition = 0;
-
- //NOTE: the following variables are declared/set in "thermal_sensors.widget.php":
- // thermal_sensors_widget_coreWarningTempThreshold, thermal_sensors_widget_coreCriticalTempThreshold,
- // thermal_sensors_widget_zoneWarningTempThreshold, thermal_sensors_widget_zoneCriticalTempThreshold
- // thermal_sensors_widget_pulsateWarning, thermal_sensors_widget_pulsateCritical
-
- //set graph color and pulsate parameters
- if (sensorName.indexOf("cpu") > -1) { //check CPU Threshold config settings
-
- warningTempThresholdPosition = thermal_sensors_widget_coreWarningTempThreshold;
- criticalTempThresholdPosition = thermal_sensors_widget_coreCriticalTempThreshold;
-
- if (thermalSensorValue < thermal_sensors_widget_coreWarningTempThreshold) {
- barBgColor = normalColor;
- barBgColorShadowTop = normalColorShadowTop;
- barBgColorShadowBottom = normalColorShadowBottom;
- pulsateTimes = 0;
- pulsateDuration = 0;
- } else if (thermalSensorValue >= thermal_sensors_widget_coreWarningTempThreshold && thermalSensorValue < thermal_sensors_widget_coreCriticalTempThreshold) {
- barBgColor = warningColor;
- barBgColorShadowTop = warningColor;
- barBgColorShadowBottom = warningColorShadowBottom;
- pulsateTimes = thermal_sensors_widget_pulsateWarning ? 4 : 0;
- pulsateDuration = thermal_sensors_widget_pulsateWarning ? 900 : 0;
- } else { // thermalSensorValue > thermal_sensors_widget_coreCriticalTempThreshold
- barBgColor = criticalColor;
- barBgColorShadowTop = criticalColor;
- barBgColorShadowBottom = criticalColorShadowBottom;
- pulsateTimes = thermal_sensors_widget_pulsateCritical ? 7 : 0;
- pulsateDuration = thermal_sensors_widget_pulsateCritical ? 900 : 0;
- }
- } else { //assuming sensor is for a zone, check Zone Threshold config settings
-
- warningTempThresholdPosition = thermal_sensors_widget_zoneWarningTempThreshold;
- criticalTempThresholdPosition = thermal_sensors_widget_zoneCriticalTempThreshold;
-
- if (thermalSensorValue < thermal_sensors_widget_zoneWarningTempThreshold) {
-
- barBgColor = normalColor;
- barBgColorShadowTop = normalColorShadowTop;
- barBgColorShadowBottom = normalColorShadowBottom;
- pulsateTimes = 0;
- pulsateDuration = 0;
-
- } else if (thermalSensorValue >= thermal_sensors_widget_zoneWarningTempThreshold &&
- thermalSensorValue < thermal_sensors_widget_zoneCriticalTempThreshold) {
-
- barBgColor = warningColor;
- barBgColorShadowTop = warningColor;
- barBgColorShadowBottom = warningColorShadowBottom;
- pulsateTimes = thermal_sensors_widget_pulsateWarning ? 4 : 0;
- pulsateDuration = thermal_sensors_widget_pulsateWarning ? 900 : 0;
-
- } else { // thermalSensorValue > thermal_sensors_widget_zoneCriticalTempThreshold
-
- barBgColor = criticalColor;
- barBgColorShadowTop = criticalColor;
- barBgColorShadowBottom = criticalColorShadowBottom;
- pulsateTimes = thermal_sensors_widget_pulsateCritical ? 7 : 0;
- pulsateDuration = thermal_sensors_widget_pulsateCritical ? 900 : 0;
- }
- }
-
- //NOTE: variable thermal_sensors_widget_showFullSensorName is declared/set in "thermal_sensors.widget.php"
- if (!thermal_sensors_widget_showFullSensorName) {
- sensorName = getSensorFriendlyName(sensorName);
- }
-
- //build temperature item/row for a sensor
- //NOTE: additional styles are set in 'thermal_sensors.widget.php'
- var thermalSensorRow = "<div class='thermalSensorRow' id='thermalSensorRow" + i + "' >" +
- //sensor name and temperature value
- " <div class='thermalSensorTextShell'><div class='thermalSensorText' id='thermalSensorText" + i + "'>" + sensorName + ": </div><div class='thermalSensorValue' id='thermalSensorValue" + i + "'>" + thermalSensorValue + " &deg;C</div></div>" +
- //temperature bar
- " <div class='thermalSensorBarShell' id='thermalSensorBarShell" + i + "' >" +
- " <div class='thermalSensorBar' id='thermalSensorBar" + i + "' style='background-color: " + barBgColor + "; border-top-color: " + barBgColorShadowTop + "; border-bottom-color: " + barBgColorShadowBottom + "; width:" + thermalSensorValue + "%;' ></div>" +
- //threshold targets (warning and critical)
- " <div class='thermalSensorWarnThresh' id='thermalSensorWarnThresh" + i + "' style='left:" + warningTempThresholdPosition + "%;' ></div>" +
- " <div class='thermalSensorCritThresh' id='thermalSensorCritThresh" + i + "' style='left:" + criticalTempThresholdPosition + "%;' ></div>" +
- //temperature scale (max 100 C)
- " <div class='thermal_sensors_widget_scale000'></div>" +
- " <div class='thermal_sensors_widget_scale010'></div>" +
- " <div class='thermal_sensors_widget_scale020'></div>" +
- " <div class='thermal_sensors_widget_scale030'></div>" +
- " <div class='thermal_sensors_widget_scale040'></div>" +
- " <div class='thermal_sensors_widget_scale050'></div>" +
- " <div class='thermal_sensors_widget_scale060'></div>" +
- " <div class='thermal_sensors_widget_scale070'></div>" +
- " <div class='thermal_sensors_widget_scale080'></div>" +
- " <div class='thermal_sensors_widget_scale090'></div>" +
- " <div class='thermal_sensors_widget_scale100'></div>" +
- " <div class='thermal_sensors_widget_mark100'>100&deg;</div>" +
- " </div>" +
- "</div>";
-
- //collect parameters for warning/critical items we need to pulsate
- if (pulsateTimes > 0) {
- var params = i + "|" + barBgColor + "|" + pulsateTimes + "|" + pulsateDuration;
- itemsToPulsate.push(params);
- }
-
- //append HTML item
- thermalSensorsHTMLContent = thermalSensorsHTMLContent + thermalSensorRow;
- }
-
- //load generated graph into thermalSensorsContainer (DIV defined in "thermal_sensors.widget.php")
- loadThermalSensorsContainer(thermalSensorsHTMLContent);
-
- if (itemsToPulsate.length > 0) {
- //pulsate/flash warning/critical items we collected
- pulsateThermalSensorsItems(itemsToPulsate);
- }
-}
-
-function pulsateThermalSensorsItems(itemsToPulsate) {
-
- //pulsate/flash warning/critical items we collected
- for (var i = 0; i < itemsToPulsate.length; i++) {
-
- var pulsateParams = itemsToPulsate[i].split("|");
- var rowNum = parseInt(pulsateParams[0]);
- //var textColor = pulsateParams[1];
- var pulsateTimes = parseInt(pulsateParams[2]);
- var pulsateDuration = parseInt(pulsateParams[3]);
-
- //pulsate temp Value
- var divThermalSensorValue = jQuery("#thermalSensorValue" + rowNum); //get temp value by id
- divThermalSensorValue.effect("pulsate", {
- times: pulsateTimes,
- easing: 'linear' //'easeInExpo'
- }, pulsateDuration);
- ////set Temp Value color
- //divThermalSensorValue.css({ color: textColor });
-
- //pulsate temp Bar
- var divThermalSensorBar = jQuery("#thermalSensorBar" + rowNum); //get temp bar by id
- divThermalSensorBar.effect("pulsate", {
- times: pulsateTimes,
- easing: 'linear' //'easeInExpo'
- }, pulsateDuration);
-
- }
-}
-
-function getSensorFriendlyName(sensorFullName) {
- var rzone = /^hw\.acpi\.thermal\.tz([0-9]+)\.temperature$/;
- var rcore = /^dev\.cpu\.([0-9]+)\.temperature$/;
-
- if (rzone.test(sensorFullName)) {
- return "Zone " + rzone.exec(sensorFullName)[1];
- }
-
- if (rcore.test(sensorFullName)) {
- return "Core " + rcore.exec(sensorFullName)[1];
- }
-
- return sensorFullName;
-}
-
-function getThermalSensorValue(stringValue) {
- return (+parseFloat(stringValue) || 0).toFixed(1);
-}
diff --git a/usr/local/www/widgets/javascript/traffic_graph.js b/usr/local/www/widgets/javascript/traffic_graph.js
deleted file mode 100644
index 383a549..0000000
--- a/usr/local/www/widgets/javascript/traffic_graph.js
+++ /dev/null
@@ -1,41 +0,0 @@
-function trafficshowDiv(incDiv,ifDescription,refreshIntervalSec,swapButtons) {
- // put the graph object HTML in the element and make it appear
- selectedDiv = incDiv + "graphdiv";
- jQuery('#' + selectedDiv).html(
- '<object data="graph.php?ifnum=' + incDiv + '&amp;ifname=' + ifDescription + '&amp;timeint=' + refreshIntervalSec + '&amp;initdelay=0" height="100%" width="100%">' +
- '<param name="id" value="graph" />' +
- '<param name="type" value="image/svg+xml" />' +
- '<param name="pluginspage" value="http://www.adobe.com/svg/viewer/install/auto" />' +
- '</object>');
- jQuery('#' + selectedDiv).effect('blind',{mode:'show'},1000);
- d = document;
- if (swapButtons) {
- selectIntLink = selectedDiv + "-min";
- textlink = d.getElementById(selectIntLink);
- textlink.style.display = "inline";
-
- selectIntLink = selectedDiv + "-open";
- textlink = d.getElementById(selectIntLink);
- textlink.style.display = "none";
- }
- document.traffic_graphs_widget_iform["shown[" + incDiv + "]"].value = "show";
-}
-
-function trafficminimizeDiv(incDiv,swapButtons) {
- // remove the graph object HTML from the element (so it does not keep using CPU) and fade
- selectedDiv = incDiv + "graphdiv";
- jQuery('#' + selectedDiv).html('');
- jQuery('#' + selectedDiv).effect('blind',{mode:'hide'},1000);
- d = document;
- if (swapButtons) {
- selectIntLink = selectedDiv + "-open";
- textlink = d.getElementById(selectIntLink);
- textlink.style.display = "inline";
-
- selectIntLink = selectedDiv + "-min";
- textlink = d.getElementById(selectIntLink);
- textlink.style.display = "none";
- }
- document.traffic_graphs_widget_iform["shown[" + incDiv + "]"].value = "hide";
-}
-
diff --git a/usr/local/www/widgets/widgets/captive_portal_status.widget.php b/usr/local/www/widgets/widgets/captive_portal_status.widget.php
deleted file mode 100644
index 21c44e3..0000000
--- a/usr/local/www/widgets/widgets/captive_portal_status.widget.php
+++ /dev/null
@@ -1,146 +0,0 @@
-<?php
-/*
- captive_portal_status.widget.php
- Copyright (C) 2013-2015 Electric Sheep Fencing, LP
- All rights reserved.
-
- Copyright (C) 2007 Sam Wenham
- All rights reserved.
-
- status_captiveportal.php
- part of m0n0wall (http://m0n0.ch/wall)
-
- Copyright (C) 2003-2004 Manuel Kasper <mk@neon1.net>.
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
-*/
-
-$nocsrf = true;
-
-require_once("globals.inc");
-require_once("guiconfig.inc");
-require_once("pfsense-utils.inc");
-require_once("functions.inc");
-require_once("captiveportal.inc");
-
-?>
-
-<?php
-
-if (!is_array($config['captiveportal'])) {
- $config['captiveportal'] = array();
-}
-$a_cp =& $config['captiveportal'];
-
-$cpzone = $_GET['zone'];
-if (isset($_POST['zone'])) {
- $cpzone = $_POST['zone'];
-}
-
-if (isset($cpzone) && !empty($cpzone) && isset($a_cp[$cpzone]['zoneid'])) {
- $cpzoneid = $a_cp[$cpzone]['zoneid'];
-}
-
-if (($_GET['act'] == "del") && !empty($cpzone) && isset($cpzoneid)) {
- captiveportal_disconnect_client($_GET['id']);
-}
-unset($cpzone);
-
-flush();
-
-function clientcmp($a, $b) {
- global $order;
- return strcmp($a[$order], $b[$order]);
-}
-
-$cpdb_all = array();
-
-$showact = isset($_GET['showact']) ? 1 : 0;
-
-foreach ($a_cp as $cpzone => $cp) {
- $cpdb = captiveportal_read_db();
- foreach ($cpdb as $cpent) {
- $cpent[10] = $cpzone;
- if ($showact == 1) {
- $cpent[11] = captiveportal_get_last_activity($cpent[2], $cpentry[3]);
- }
- $cpdb_all[] = $cpent;
- }
-}
-
-if ($_GET['order']) {
- if ($_GET['order'] == "ip") {
- $order = 2;
- } else if ($_GET['order'] == "mac") {
- $order = 3;
- } else if ($_GET['order'] == "user") {
- $order = 4;
- } else if ($_GET['order'] == "lastact") {
- $order = 5;
- } else if ($_GET['order'] == "zone") {
- $order = 10;
- } else {
- $order = 0;
- }
- usort($cpdb_all, "clientcmp");
-}
-?>
-<table class="sortable" id="sortabletable" width="100%" border="0" cellpadding="0" cellspacing="0" summary="captive portal status">
- <tr>
- <td class="listhdrr"><a href="?order=ip&amp;showact=<?=$showact;?>">IP address</a></td>
- <td class="listhdrr"><a href="?order=mac&amp;showact=<?=$showact;?>">MAC address</a></td>
- <td class="listhdrr"><a href="?order=user&amp;showact=<?=$showact;?>"><?=gettext("Username");?></a></td>
-<?php
- if ($showact == 1):
-?>
- <td class="listhdrr"><a href="?order=start&amp;showact=<?=$showact;?>"><?=gettext("Session start");?></a></td>
- <td class="listhdrr"><a href="?order=start&amp;showact=<?=$showact;?>"><?=gettext("Last activity");?></a></td>
-<?php
- endif;
-?>
- </tr>
-<?php
-foreach ($cpdb_all as $cpent):
-?>
- <tr>
- <td class="listlr"><?=$cpent[2];?></td>
- <td class="listr"><?=$cpent[3];?>&nbsp;</td>
- <td class="listr"><?=$cpent[4];?>&nbsp;</td>
-<?php
- if ($showact == 1):
-?>
- <td class="listr"><?=htmlspecialchars(date("m/d/Y H:i:s", $cpent[0]));?></td>
- <td class="listr"><?php if ($cpent[11] && ($cpent[11] > 0)) echo htmlspecialchars(date("m/d/Y H:i:s", $cpent[11]));?></td>
-<?php
- endif;
-?>
- <td valign="middle" class="list nowrap">
- <a href="?order=<?=htmlspecialchars($_GET['order']);?>&amp;showact=<?=$showact;?>&amp;act=del&amp;zone=<?=$cpent[10];?>&amp;id=<?=$cpent[5];?>" onclick="return confirm('Do you really want to disconnect this client?')">
- <img src="./themes/<?= $g['theme']; ?>/images/icons/icon_x.gif" width="17" height="17" border="0" alt="x" />
- </a>
- </td>
- </tr>
-<?php
-endforeach;
-?>
-</table>
diff --git a/usr/local/www/widgets/widgets/carp_status.widget.php b/usr/local/www/widgets/widgets/carp_status.widget.php
deleted file mode 100644
index bb68dbd..0000000
--- a/usr/local/www/widgets/widgets/carp_status.widget.php
+++ /dev/null
@@ -1,85 +0,0 @@
-<?php
-/*
- $Id$
- carp_status.widget.php
- Copyright (C) 2007 Sam Wenham
- All rights reserved.
-
- Copyright (C) 2013-2015 Electric Sheep Fencing, LP
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- 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("functions.inc");
-require_once("/usr/local/www/widgets/include/carp_status.inc");
-
-$carp_enabled = get_carp_status();
-
-?>
-<table bgcolor="#990000" width="100%" border="0" cellspacing="0" cellpadding="0" summary="carp status">
-<?php
- if (is_array($config['virtualip']['vip'])) {
- $carpint=0;
- foreach ($config['virtualip']['vip'] as $carp) {
- if ($carp['mode'] != "carp") {
- continue;
- }
- $ipaddress = $carp['subnet'];
- $password = $carp['password'];
- $netmask = $carp['subnet_bits'];
- $vhid = $carp['vhid'];
- $advskew = $carp['advskew'];
- $status = get_carp_interface_status("_vip{$carp['uniqid']}");
-?>
-<tr>
- <td class="vncellt" width="35%">
- <img src="./themes/<?= $g['theme']; ?>/images/icons/icon_cablenic.gif" alt="cablenic" />&nbsp;
- <strong><a href="/system_hasync.php">
- <span style="color:#000000"><?=htmlspecialchars(convert_friendly_interface_to_friendly_descr($carp['interface']) . "@{$vhid}");?></span></a></strong>
- </td>
- <td width="65%" class="listr">
-<?php
- if ($carp_enabled == false) {
- $status = "DISABLED";
- echo "<img src='/themes/".$g['theme']."/images/icons/icon_block.gif' title=\"$status\" alt=\"$status\" />";
- } else {
- if($status == "MASTER") {
- echo "<img src='/themes/".$g['theme']."/images/icons/icon_pass.gif' title=\"$status\" alt=\"$status\" />";
- } else if($status == "BACKUP") {
- echo "<img src='/themes/".$g['theme']."/images/icons/icon_pass_d.gif' title=\"$status\" alt=\"$status\" />";
- } else if($status == "INIT") {
- echo "<img src='/themes/".$g['theme']."/images/icons/icon_log.gif' title=\"$status\" alt=\"$status\" />";
- }
- }
- if ($ipaddress){ ?> &nbsp;
- <?=htmlspecialchars($status);?> &nbsp;
- <?=htmlspecialchars($ipaddress);}?>
-</td></tr><?php }
- } else { ?>
- <tr><td class="listr">No CARP Interfaces Defined. Click <a href="carp_status.php">here</a> to configure CARP.</td></tr>
-<?php } ?>
-</table>
diff --git a/usr/local/www/widgets/widgets/deactivated/cpu_graphs.widget.php b/usr/local/www/widgets/widgets/deactivated/cpu_graphs.widget.php
deleted file mode 100644
index 09723d7..0000000
--- a/usr/local/www/widgets/widgets/deactivated/cpu_graphs.widget.php
+++ /dev/null
@@ -1,76 +0,0 @@
-<?php
-/*
- $Id$
-
- Copyright (C) 2013-2015 Electric Sheep Fencing, LP
- All rights reserved.
-
- Copyright 2007 Scott Dale
- Part of pfSense widgets (https://www.pfsense.org)
- originally based on m0n0wall (http://m0n0.ch/wall)
-
- Copyright (C) 2004-2005 T. Lechat <dev@lechat.org>, Manuel Kasper <mk@neon1.net>
- and Jonathan Watt <jwatt@jwatt.org>.
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
-*/
-
-require_once("guiconfig.inc");
-require_once("pfsense-utils.inc");
-require_once("functions.inc");
-?>
-<link href="/themes/<?=$g['theme'];?>/graphlink.css" rel="stylesheet" type="text/css" />
-<script src="/widgets/javascript/cpu_graphs.js" type="text/javascript"></script>
-<script type="text/javascript">
- /* initialize the graph */
- // --- Global Data --- //
- var graphs; // An array that stores all created graphs
- var graph_dir; // The direction in which each graph moves
- var last_val; // An array of values for each graph
- var last_val_span; // References to Last Value span tags for each graph
- var pause; // Controls execution
-
- var ajaxStarted = false;
-
- /**
- * Launches the GraphLink demo. It initializes the graph along with the ajax
- * engine and starts the main execution loop.
- */
- graph = new Array();
- graph_dir = new Array();
- last_val = new Array();
- last_val_span = new Array();
-</script>
-<div style='display: block; margin-left: auto; margin-right: auto' class="GraphLink" id="GraphOutput"></div>
-<script type="text/javascript">
-
- // Graph 1
- graph[0] = GraphInitialize('GraphOutput', 200, 50, 4);
- graph_dir[0] = GL_END;
- last_val[0] = Math.floor(Math.random() * 50);
- last_val_span[0] = document.getElementById('LastValue0');
-
- GraphSetVMax(graph[0], 100);
- GraphDynamicScale(graph[0]);
-
-</script>
diff --git a/usr/local/www/widgets/widgets/dyn_dns_status.widget.php b/usr/local/www/widgets/widgets/dyn_dns_status.widget.php
deleted file mode 100644
index c2eee76..0000000
--- a/usr/local/www/widgets/widgets/dyn_dns_status.widget.php
+++ /dev/null
@@ -1,174 +0,0 @@
-<?php
-/*
- Original status page code from: services_dyndns.php
- Copyright (C) 2008 Ermal Luçi
- Edits to convert it to a widget: dyn_dns_status.widget.php
- Copyright (C) 2013 Stanley P. Miller \ stan-qaz
- All rights reserved.
-
- Copyright (C) 2013-2015 Electric Sheep Fencing, LP
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INClUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
-*/
-/*
- pfSense_BUILDER_BINARIES: /usr/bin/host
- pfSense_MODULE: dyndns
-*/
-
-$nocsrf = true;
-
-require_once("guiconfig.inc");
-require_once("pfsense-utils.inc");
-require_once("functions.inc");
-require_once("/usr/local/www/widgets/include/dyn_dns_status.inc");
-
-if (!is_array($config['dyndnses']['dyndns'])) {
- $config['dyndnses']['dyndns'] = array();
-}
-
-$a_dyndns = &$config['dyndnses']['dyndns'];
-
-if ($_REQUEST['getdyndnsstatus']) {
- $first_entry = true;
- foreach ($a_dyndns as $dyndns) {
- if ($first_entry) {
- $first_entry = false;
- } else {
- // Put a vertical bar delimiter between the echoed HTML for each entry processed.
- echo "|";
- }
-
- $filename = "{$g['conf_path']}/dyndns_{$dyndns['interface']}{$dyndns['type']}" . escapeshellarg($dyndns['host']) . "{$dyndns['id']}.cache";
- if (file_exists($filename)) {
- $ipaddr = dyndnsCheckIP($dyndns['interface']);
- $cached_ip_s = explode(':', file_get_contents($filename));
- $cached_ip = $cached_ip_s[0];
- if ($ipaddr <> $cached_ip) {
- echo "<font color='red'>";
- } else {
- echo "<font color='green'>";
- }
- echo htmlspecialchars($cached_ip);
- echo "</font>";
- } else {
- echo "N/A " . date("H:i:s");
- }
- }
- exit;
-}
-
-?>
-
-<table width="100%" border="0" cellpadding="0" cellspacing="0">
- <tr>
- <td width="5%" class="listhdrr"><?=gettext("Int.");?></td>
- <td width="15%" class="listhdrr"><?=gettext("Service");?></td>
- <td width="20%" class="listhdrr"><?=gettext("Hostname");?></td>
- <td width="20%" class="listhdrr"><?=gettext("Cached IP");?></td>
- </tr>
- <?php $i = 0; foreach ($a_dyndns as $dyndns): ?>
- <tr ondblclick="document.location='services_dyndns_edit.php?id=<?=$i;?>'">
- <td class="listlr">
- <?php $iflist = get_configured_interface_with_descr();
- foreach ($iflist as $if => $ifdesc) {
- if ($dyndns['interface'] == $if) {
- if (!isset($dyndns['enable'])) {
- echo "<span class=\"gray\">{$ifdesc}</span>";
- } else {
- echo "{$ifdesc}";
- }
- break;
- }
- }
- $groupslist = return_gateway_groups_array();
- foreach ($groupslist as $if => $group) {
- if ($dyndns['interface'] == $if) {
- if (!isset($dyndns['enable'])) {
- echo "<span class=\"gray\">{$if}</span>";
- } else {
- echo "{$if}";
- }
- break;
- }
- }
- ?>
- </td>
- <td class="listr">
- <?php
- $types = explode(",", DYNDNS_PROVIDER_DESCRIPTIONS);
- $vals = explode(" ", DYNDNS_PROVIDER_VALUES);
- for ($j = 0; $j < count($vals); $j++) {
- if ($vals[$j] == $dyndns['type']) {
- if (!isset($dyndns['enable'])) {
- echo "<span class=\"gray\">".htmlspecialchars($types[$j])."</span>";
- } else {
- echo htmlspecialchars($types[$j]);
- }
- break;
- }
- }
- ?>
- </td>
- <td class="listr">
- <?php
- if (!isset($dyndns['enable'])) {
- echo "<span class=\"gray\">".htmlspecialchars($dyndns['host'])."</span>";
- } else {
- echo htmlspecialchars($dyndns['host']);
- }
- ?>
- </td>
- <td class="listr">
- <div id='dyndnsstatus<?php echo $i; ?>'><?php echo gettext("Checking ..."); ?></div>
- </td>
- </tr>
- <?php $i++; endforeach; ?>
-</table>
-<script type="text/javascript">
-//<![CDATA[
- function dyndns_getstatus() {
- scroll(0,0);
- var url = "/widgets/widgets/dyn_dns_status.widget.php";
- var pars = 'getdyndnsstatus=yes';
- jQuery.ajax(
- url,
- {
- type: 'get',
- data: pars,
- complete: dyndnscallback
- });
- // Refresh the status every 5 minutes
- setTimeout('dyndns_getstatus()', 5*60*1000);
- }
- function dyndnscallback(transport) {
- // The server returns a string of statuses separated by vertical bars
- var responseStrings = transport.responseText.split("|");
- for (var count=0; count<responseStrings.length; count++) {
- var divlabel = '#dyndnsstatus' + count;
- jQuery(divlabel).prop('innerHTML',responseStrings[count]);
- }
- }
- // Do the first status check 2 seconds after the dashboard opens
- setTimeout('dyndns_getstatus()', 2000);
-//]]>
-</script>
diff --git a/usr/local/www/widgets/widgets/gateways.widget.php b/usr/local/www/widgets/widgets/gateways.widget.php
deleted file mode 100644
index 26a6f4d..0000000
--- a/usr/local/www/widgets/widgets/gateways.widget.php
+++ /dev/null
@@ -1,227 +0,0 @@
-<?php
-/*
- gateways.widget.php
- Copyright 2008 Seth Mos
- Part of pfSense widgets (https://www.pfsense.org)
- originally based on m0n0wall (http://m0n0.ch/wall)
-
- Copyright (C) 2013-2015 Electric Sheep Fencing, LP
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- 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("functions.inc");
-require_once("/usr/local/www/widgets/include/gateways.inc");
-
-if ($_POST) {
- if (!is_array($config["widgets"]["gateways_widget"])) {
- $config["widgets"]["gateways_widget"] = array();
- }
- if (isset($_POST["display_type"])) {
- $config["widgets"]["gateways_widget"]["display_type"] = $_POST["display_type"];
- }
- write_config("Updated gateways widget settings via dashboard.");
- header("Location: /");
- exit(0);
-}
-
-if (isset($config["widgets"]["gateways_widget"]["display_type"])) {
- $display_type = $config["widgets"]["gateways_widget"]["display_type"];
-} else {
- $display_type = "gw_ip";
-}
-
-$a_gateways = return_gateways_array();
-$gateways_status = array();
-$gateways_status = return_gateways_status(true);
-
-$counter = 1;
-
-?>
-
-<input type="hidden" id="gateways-config" name="gateways-config" value="" />
-
-<div id="gateways-settings" class="widgetconfigdiv" style="display:none;">
-<form action="/widgets/widgets/gateways.widget.php" method="post" name="gateways_widget_iform" id="gateways_widget_iform">
- Display:
- <?php
- $display_type_gw_ip="checked=\"checked\"";
- $display_type_monitor_ip="";
- $display_type_both_ip="";
- if (isset($config["widgets"]["gateways_widget"]["display_type"])) {
- $selected_radio = $config["widgets"]["gateways_widget"]["display_type"];
- if ($selected_radio == "gw_ip") {
- $display_type_gw_ip = "checked=\"checked\"";
- $display_type_monitor_ip="";
- $display_type_both_ip="";
- } else if ($selected_radio == "monitor_ip") {
- $display_type_gw_ip = "";
- $display_type_monitor_ip="checked=\"checked\"";
- $display_type_both_ip="";
- } else if ($selected_radio == "both_ip") {
- $display_type_gw_ip = "";
- $display_type_monitor_ip="";
- $display_type_both_ip="checked=\"checked\"";
- }
- }
- ?>
- <input name="display_type" class="radio" type="radio" id="display_type_gw_ip" value="gw_ip" <?php echo $display_type_gw_ip; ?> onchange="updateGatewayDisplays();" /> <span>Gateway IP</span>
- <input name="display_type" class="radio" type="radio" id="display_type_monitor_ip" value="monitor_ip" <?php echo $display_type_monitor_ip; ?> onchange="updateGatewayDisplays();" /> <span>Monitor IP</span>
- <input name="display_type" class="radio" type="radio" id="display_type_both_ip" value="both_ip" <?php echo $display_type_both_ip; ?> onchange="updateGatewayDisplays();" /> <span>Both</span>
- <br /><br />
- <input id="submit_settings" name="submit_settings" type="submit" onclick="return updatePref();" class="formbtn" value="Save Settings" />
-</form>
-</div>
-
-<script type="text/javascript">
-//<![CDATA[
- d = document;
- selectIntLink = "gateways-configure";
- textlink = d.getElementById(selectIntLink);
- textlink.style.display = "inline";
-//]]>
-</script>
-
-<table bgcolor="#990000" width="100%" border="0" cellspacing="0" cellpadding="0" summary="gateway status">
- <tr>
- <td class="listhdrr" id="gatewayname" align="center">Name</td>
- <td class="listhdrr" align="center">RTT</td>
- <td class="listhdrr" align="center">Loss</td>
- <td class="listhdrr" align="center">Status</td>
- </tr>
- <?php foreach ($a_gateways as $gname => $gateway) { ?>
- <tr>
- <td class="listhdrr" id="gateway<?php echo $counter; ?>" rowspan="2" align="center">
- <strong>
- <?php echo htmlspecialchars($gateway['name']); ?>
- </strong>
- <?php $counter++; ?>
- </td>
- <td colspan="3" class="listr ellipsis" align="center">
- <div id="gateway<?php echo $counter; ?>" style="display:inline"><b>
- <?php
- $monitor_address = "";
- $monitor_address_disp = "";
- if ($display_type == "monitor_ip" || $display_type == "both_ip") {
- $monitor_address = $gateway['monitor'];
- if ($monitor_address != "" && $display_type == "both_ip") {
- $monitor_address_disp = " (" . $monitor_address . ")";
- } else {
- $monitor_address_disp = $monitor_address;
- }
- }
- $if_gw = '';
- // If the user asked to display Gateway IP or both IPs, or asked for just monitor IP but the monitor IP is blank
- // then find the gateway IP (which is also the monitor IP if the monitor IP was not explicitly set).
- if ($display_type == "gw_ip" || $display_type == "both_ip" || ($display_type == "monitor_ip" && $monitor_address == "")) {
- if (is_ipaddr($gateway['gateway'])) {
- $if_gw = htmlspecialchars($gateway['gateway']);
- } else {
- if ($gateway['ipprotocol'] == "inet") {
- $if_gw = htmlspecialchars(get_interface_gateway($gateway['friendlyiface']));
- }
- if ($gateway['ipprotocol'] == "inet6") {
- $if_gw = htmlspecialchars(get_interface_gateway_v6($gateway['friendlyiface']));
- }
- }
- if ($if_gw == "") {
- $if_gw = "~";
- }
- }
- if ($monitor_address == $if_gw) {
- $monitor_address_disp = "";
- }
- echo $if_gw . $monitor_address_disp;
- unset ($if_gw);
- unset ($monitor_address);
- unset ($monitor_address_disp);
- $counter++;
- ?>
- </b></div>
- </td>
- </tr>
- <tr>
- <td class="listr ellipsis" align="center" id="gateway<?php echo $counter; ?>">
- <?php
- if ($gateways_status[$gname]) {
- echo htmlspecialchars($gateways_status[$gname]['delay']);
- } else {
- echo gettext("Pending");
- }
- ?>
- <?php $counter++; ?>
- </td>
- <td class="listr ellipsis" align="center" id="gateway<?php echo $counter; ?>">
- <?php
- if ($gateways_status[$gname]) {
- echo htmlspecialchars($gateways_status[$gname]['loss']);
- } else {
- echo gettext("Pending");
- }
- ?>
- <?php $counter++; ?>
- </td>
- <?php
- if ($gateways_status[$gname]) {
- if (stristr($gateways_status[$gname]['status'], "force_down")) {
- $online = "Offline (forced)";
- $bgcolor = "#F08080"; // lightcoral
- } elseif (stristr($gateways_status[$gname]['status'], "down")) {
- $online = "Offline";
- $bgcolor = "#F08080"; // lightcoral
- } elseif (stristr($gateways_status[$gname]['status'], "loss")) {
- $online = "Packetloss";
- $bgcolor = "#F0E68C"; // khaki
- } elseif (stristr($gateways_status[$gname]['status'], "delay")) {
- $online = "Latency";
- $bgcolor = "#F0E68C"; // khaki
- } elseif ($gateways_status[$gname]['status'] == "none") {
- $online = "Online";
- $bgcolor = "#90EE90"; // lightgreen
- } elseif ($gateways_status[$gname]['status'] == "") {
- $online = "Pending";
- $bgcolor = "#D3D3D3"; // lightgray
- }
- } else {
- $online = gettext("Unknown");
- $bgcolor = "#ADD8E6"; // lightblue
- }
- echo "<td class=\"listr ellipsis\" align=\"center\" id=\"gateway$counter\">$online</td>\n";
- ?>
- <td style="display:none;">
- <script type="text/javascript">
- //<![CDATA[
- jQuery('#gateway<?php echo $counter;?>').css('background-color',"<?php echo $bgcolor;?>");
- //]]>
- </script>
- </td>
- <?php
- $counter++;
- ?>
- </tr>
- <?php } // foreach ?>
-</table>
diff --git a/usr/local/www/widgets/widgets/gmirror_status.widget.php b/usr/local/www/widgets/widgets/gmirror_status.widget.php
deleted file mode 100644
index 59e7f16..0000000
--- a/usr/local/www/widgets/widgets/gmirror_status.widget.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-/*
- gmirror_status.widget.php
- Copyright (C) 2009-2010 Jim Pingle
- Copyright (C) 2013-2015 Electric Sheep Fencing, LP
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INClUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- 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("gmirror.inc");
-
-if ($_GET['textonly'] == "true") {
- header("Cache-Control: no-cache");
- echo gmirror_html_status();
- exit;
-}
-?>
-<table width="100%" border="0" cellspacing="0" cellpadding="0" summary="gmirror status">
- <tbody id="gmirror_status_table">
- <?php echo gmirror_html_status(); ?>
- </tbody>
-</table>
-
-<script type="text/javascript">
-//<![CDATA[
- var gmirrorupdater = new Ajax.PeriodicalUpdater('gmirror_status_table', '/widgets/widgets/gmirror_status.widget.php?textonly=true',
- { method: 'get', frequency: 5 } );
-//]]>
-</script>
diff --git a/usr/local/www/widgets/widgets/installed_packages.widget.php b/usr/local/www/widgets/widgets/installed_packages.widget.php
deleted file mode 100644
index 3190e1b..0000000
--- a/usr/local/www/widgets/widgets/installed_packages.widget.php
+++ /dev/null
@@ -1,126 +0,0 @@
-<?php
-/*
- installed_packages.widget.php
-
- Copyright (C) 2013-2015 Electric Sheep Fencing, LP
- Copyright 2007 Scott Dale
- Part of pfSense widgets (https://www.pfsense.org)
- originally based on m0n0wall (http://m0n0.ch/wall)
-
- Copyright (C) 2004-2005 T. Lechat <dev@lechat.org>, Manuel Kasper <mk@neon1.net>
- and Jonathan Watt <jwatt@jwatt.org>.
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- 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("functions.inc");
-require_once("/usr/local/www/widgets/include/installed_packages.inc");
-require_once("pkg-utils.inc");
-
-if (is_array($config['installedpackages']['package'])) {
- foreach ($config['installedpackages']['package'] as $instpkg) {
- $tocheck[] = $instpkg['name'];
- }
- $currentvers = get_pkg_info($tocheck, array('version', 'xmlver'));
-}
-
-$updateavailable = false;
-?>
-
-<table width="100%" border="0" cellpadding="6" cellspacing="0" summary="installed packages">
- <tr>
- <td width="15%" class="listhdrr">Package Name</td>
- <td width="15%" class="listhdrr">Category</td>
- <td width="30%" class="listhdrr">Package Version</td>
- </tr>
- <?php
- if ($config['installedpackages']['package'] != "") {
- $instpkgs = array();
- foreach ($config['installedpackages']['package'] as $instpkg) {
- $instpkgs[] = $instpkg['name'];
- }
- natcasesort($instpkgs);
- $y=1;
- foreach ($instpkgs as $index => $pkgname){
-
- $pkg = $config['installedpackages']['package'][$index];
- if ($pkg['name'] <> "") { ?>
- <tr valign="top">
- <td class="listlr">
- <?= $pkg['name'] ?>
- </td>
- <td class="listr">
- <?= $pkg['category'] ?>
- </td>
- <td class="listr">
- <?php
- $latest_package = $currentvers[$pkg['name']]['version'];
- if ($latest_package == false) {
- // We can't determine this package's version status.
- echo "Current: Unknown.<br />Installed: " . $pkg['version'];
- } elseif (strcmp($pkg['version'], $latest_package) > 0) {
- /* we're running a newer version of the package */
- echo "Current: {$latest_package}";
- echo "<br />Installed: {$pkg['version']}";
- } elseif (strcmp($pkg['version'], $latest_package) < 0) {
- /* our package is out of date */
- $updateavailable = true;
- ?>
- <div id="updatediv-<?php echo $y; ?>" style="color:red">
- <b>Update Available!</b></div><div style="float:left">
- Current: <?php echo $latest_package; ?><br />
- Installed: <?php echo $pkg['version']; ?></div><div style="float:right">
- <a href="pkg_mgr_install.php?mode=reinstallpkg&amp;pkg=<?= $pkg['name']; ?>"><img title="Update this package." src="./themes/<?= $g['theme']; ?>/images/icons/icon_reinstall_pkg.gif" width="17" height="17" border="0" alt="reinstall" /></a>
- </div>
- <?php
- $y++;
- } else {
- echo $pkg['version'];
- } ?>
- </td>
- </tr>
- <?php }
- }
- } else {
- echo "<tr><td colspan=\"5\" align=\"center\">There are no packages currently installed.</td></tr>";
- }
- ?>
-</table>
-
-<?php if ($updateavailable): ?>
-<script type="text/javascript">
-//<![CDATA[
- window.onload = function(in_event)
- {
- for (y=1; y<=<?php echo $y;?>; y++) {
- textID = "#updatediv-" + y;
- jQuery(textID).effect('pulsate');
- }
- }
-//]]>
-</script>
-<?php endif; ?>
diff --git a/usr/local/www/widgets/widgets/interface_statistics.widget.php b/usr/local/www/widgets/widgets/interface_statistics.widget.php
deleted file mode 100644
index a124ea3..0000000
--- a/usr/local/www/widgets/widgets/interface_statistics.widget.php
+++ /dev/null
@@ -1,216 +0,0 @@
-<?php
-/*
- $Id: interface_statistics.widget.php
- Copyright (C) 2013-2015 Electric Sheep Fencing, LP
-
- Copyright 2007 Scott Dale
- Part of pfSense widgets (https://www.pfsense.org)
- originally based on m0n0wall (http://m0n0.ch/wall)
-
- Copyright (C) 2004-2005 T. Lechat <dev@lechat.org>, Manuel Kasper <mk@neon1.net>
- and Jonathan Watt <jwatt@jwatt.org>.
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- 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("functions.inc");
-require_once("/usr/local/www/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[] = "n/a";
- $array_out_errors[] = "n/a";
- }
- if (isset($ifinfo['collisions'])) {
- $array_collisions[] = htmlspecialchars($ifinfo['collisions']);
- } else {
- $array_collisions[] = "n/a";
- }
- }
-} //end for
-
-
-
-
-?>
- <div id="int_labels" style="float:left;width:32%">
- <table width="100%" border="0" cellspacing="0" cellpadding="0" summary="interfaces statistics">
- <tr>
- <td class="widgetsubheader" style="height:25px">&nbsp;&nbsp;&nbsp;</td>
- </tr>
- <tr>
- <td class="vncellt" style="height:25px">Packets In</td>
- </tr>
- <tr>
- <td class="vncellt" style="height:25px">Packets Out</td>
- </tr>
- <tr>
- <td class="vncellt" style="height:25px">Bytes In</td>
- </tr>
- <tr>
- <td class="vncellt" style="height:25px">Bytes Out</td>
- </tr>
- <tr>
- <td class="vncellt" style="height:25px">Errors In</td>
- </tr>
- <tr>
- <td class="vncellt" style="height:25px">Errors Out</td>
- </tr>
- <tr>
- <td class="vncellt" style="height:25px">Collisions</td>
- </tr>
- </table>
- </div>
- <div id="interfacestats" style="float:right;overflow: auto; width:68%">
- <table 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">
- <?=htmlspecialchars($ifname);?>
- </td>
- <?php
- //build array of interface names
- $interface_names[] = $ifname;
- }
- 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>
-
- <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; ?>
- </tr>
- </table>
- </div>
diff --git a/usr/local/www/widgets/widgets/interfaces.widget.php b/usr/local/www/widgets/widgets/interfaces.widget.php
deleted file mode 100644
index e49a030..0000000
--- a/usr/local/www/widgets/widgets/interfaces.widget.php
+++ /dev/null
@@ -1,126 +0,0 @@
-<?php
-/*
- interfaces.widget.php
- Copyright (C) 2013-2015 Electric Sheep Fencing, LP
-
- Copyright 2007 Scott Dale
- Part of pfSense widgets (https://www.pfsense.org)
- originally based on m0n0wall (http://m0n0.ch/wall)
-
- Copyright (C) 2004-2005 T. Lechat <dev@lechat.org>, Manuel Kasper <mk@neon1.net>
- and Jonathan Watt <jwatt@jwatt.org>.
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- 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("functions.inc");
-require_once("/usr/local/www/widgets/include/interfaces.inc");
-
-$ifdescrs = get_configured_interface_with_descr();
-?>
-
-<table bgcolor="#990000" width="100%" border="0" cellspacing="0" cellpadding="0" summary="interfaces">
-<?php
-foreach ($ifdescrs as $ifdescr => $ifname):
- $ifinfo = get_interface_info($ifdescr);
-
- if ($ifinfo['ppplink']) {
- $icon = '3g';
- } else if (is_interface_wireless($ifdescr)) {
- if ($ifinfo['status'] == "associated") {
- $icon = 'wlan';
- } else {
- $icon = 'wlan_d';
- }
- } else {
- $icon = 'cablenic';
- }
-
- if ($ifinfo['status'] == "up" || $ifinfo['status'] == "associated") {
- $known_status = true;
- $up_display = "inline";
- $down_display = "none";
- $block_display = "none";
- } elseif ($ifinfo['status'] == "no carrier") {
- $known_status = true;
- $up_display = "none";
- $down_display = "inline";
- $block_display = "none";
- } elseif ($ifinfo['status'] == "down") {
- $known_status = true;
- $up_display = "none";
- $down_display = "none";
- $block_display = "inline";
- } else {
- $known_status = false;
- }
-?>
- <tr>
- <td class="vncellt" rowspan="2">
- <span onclick="location.href='/interfaces.php?if=<?=$ifdescr; ?>'" style="cursor:pointer; white-space:nowrap">
- <img src="./themes/<?=$g['theme'];?>/images/icons/icon_<?=$icon;?>.gif" alt="<?=$icon;?>" />
- <u><?=htmlspecialchars($ifname);?></u>
- </span>
-<?php
- if ($ifinfo['dhcplink']) {
- echo "<br />(DHCP)";
- }
-?>
- </td>
-<?php
- if ($known_status):
-?>
- <td rowspan="2" class="listr" align="center">
- <div id="<?php echo $ifname . "-up";?>" style="display:<?=$up_display;?>" >
- <img src="./themes/<?= $g['theme']; ?>/images/icons/icon_interface_up.gif" title="<?=$ifname;?> is up" alt="up" />
- </div>
- <div id="<?php echo $ifname . "-down";?>" style="display:<?=$down_display;?>" >
- <img src="./themes/<?= $g['theme']; ?>/images/icons/icon_interface_down.gif" title="<?=$ifname;?> is down" alt="down" />
- </div>
- <div id="<?php echo $ifname . "-block";?>" style="display:<?=$block_display;?>" >
- <img src="./themes/<?= $g['theme']; ?>/images/icons/icon_block.gif" title="<?=$ifname;?> is disabled" alt="block" />
- </div>
- </td>
-<?php
- else:
- echo htmlspecialchars($ifinfo['status']);
- endif;
-?>
- <td class="listr">
- <div id="<?php echo $ifname;?>-media" style="display:inline"><?=htmlspecialchars($ifinfo['media']);?></div>
- </td>
- </tr>
- <tr>
- <td class="listr">
- <div id="<?php echo $ifname;?>-ip" style="display:inline"><strong><?=htmlspecialchars($ifinfo['ipaddr']);?> </strong><?php if ($ifinfo['ipaddr']) echo "<br />";?></div>
- <div id="<?php echo $ifname;?>-ipv6" style="display:inline"><strong><?=htmlspecialchars($ifinfo['ipaddrv6']);?> </strong></div>
- </td>
- </tr>
-<?php
-endforeach;
-?>
-</table>
diff --git a/usr/local/www/widgets/widgets/ipsec.widget.php b/usr/local/www/widgets/widgets/ipsec.widget.php
deleted file mode 100644
index 49250ce..0000000
--- a/usr/local/www/widgets/widgets/ipsec.widget.php
+++ /dev/null
@@ -1,265 +0,0 @@
-<?php
-/*
- ipsec.widget.php
- Copyright (C) 2013-2015 Electric Sheep Fencing, LP
-
- Copyright 2007 Scott Dale
- Part of pfSense widgets (https://www.pfsense.org)
- originally based on m0n0wall (http://m0n0.ch/wall)
-
- Copyright (C) 2004-2005 T. Lechat <dev@lechat.org>, Manuel Kasper <mk@neon1.net>
- and Jonathan Watt <jwatt@jwatt.org>.
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- 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("functions.inc");
-require_once("ipsec.inc");
-
-if (isset($config['ipsec']['phase1'])) {
-?>
- <div>&nbsp;</div>
-<?php
- $tab_array = array();
- $tab_array[0] = array("Overview", true, "ipsec-Overview");
- $tab_array[1] = array("Tunnels", false, "ipsec-tunnel");
- $tab_array[2] = array("Mobile", false, "ipsec-mobile");
- display_widget_tabs($tab_array);
-
- $spd = ipsec_dump_spd();
- $sad = ipsec_dump_sad();
- $mobile = ipsec_dump_mobile();
- $ipsec_status = ipsec_smp_dump_status();
-
- $activecounter = 0;
- $inactivecounter = 0;
-
- if (!is_array($ipsec_status['query'])) {
- $ipsec_status['query'] = array();
- $ipsec_status['query']['ikesalist'] = array();
- $ipsec_status['query']['ikesalist']['ikesa'] = array();
- } else if (!is_array($ipsec_status['query']['ikesalist'])) {
- $ipsec_status['query']['ikesalist'] = array();
- $ipsec_status['query']['ikesalist']['ikesa'] = array();
- } else if (!is_array($ipsec_status['query']['ikesalist']['ikesa'])) {
- $ipsec_status['query']['ikesalist']['ikesa'] = array();
- }
-
- $ipsec_detail_array = array();
- $ikenum = array();
- if (isset($config['ipsec']['phase2'])) {
- foreach ($config['ipsec']['phase2'] as $ph2ent) {
- if (!ipsec_lookup_phase1($ph2ent,$ph1ent)) {
- continue;
- }
-
- if ($ph2ent['remoteid']['type'] == "mobile" || isset($ph1ent['mobile'])) {
- continue;
- }
- if (isset($ph1ent['disabled']) || isset($ph2ent['disabled'])) {
- continue;
- }
-
- if (empty($ph1ent['iketype']) || $ph1ent['iketype'] == 'ikev1') {
- if (!isset($ikenum[$ph1ent['ikeid']])) {
- $ikenum[$ph1ent['ikeid']] = 0;
- } else {
- $ikenum[$ph1ent['ikeid']]++;
- }
- $ikeid = "con{$ph1ent['ikeid']}00" . $ikenum[$ph1ent['ikeid']];
- } else {
- if (isset($ikenum[$ph1ent['ikeid']])) {
- continue;
- }
- $ikeid = "con{$ph1ent['ikeid']}";
- $ikenum[$ph1ent['ikeid']] = true;
- }
-
- $found = false;
- foreach ($ipsec_status['query']['ikesalist']['ikesa'] as $ikesa) {
- if (isset($ikesa['childsalist']) && isset($ikesa['childsalist']['childsa'])) {
- foreach ($ikesa['childsalist']['childsa'] as $childsa) {
- if ($ikeid == $childsa['childconfig']) {
- $found = true;
- break;
- }
- }
- } else if ($ikeid == $ikesa['peerconfig']) {
- $found = true;
- }
-
- if ($found === true) {
- if ($ikesa['status'] == 'established') {
- /* tunnel is up */
- $iconfn = "true";
- $activecounter++;
- } else {
- /* tunnel is down */
- $iconfn = "false";
- $inactivecounter++;
- }
- break;
- }
- }
-
- if ($found === false) {
- /* tunnel is down */
- $iconfn = "false";
- $inactivecounter++;
- }
-
- $ipsec_detail_array[] = array('src' => convert_friendly_interface_to_friendly_descr($ph1ent['interface']),
- 'dest' => $ph1ent['remote-gateway'],
- 'remote-subnet' => ipsec_idinfo_to_text($ph2ent['remoteid']),
- 'descr' => $ph2ent['descr'],
- 'status' => $iconfn);
- }
- }
- unset($ikenum);
-}
-
-if (isset($config['ipsec']['phase2'])) {
-?>
-
-<div id="ipsec-Overview" style="display:block;background-color:#EEEEEE;">
- <div>
- <table class="tabcont" width="100%" border="0" cellpadding="6" cellspacing="0" summary="heading">
- <tr>
- <td class="listhdrr nowrap">Active Tunnels</td>
- <td class="listhdrr nowrap">Inactive Tunnels</td>
- <td class="listhdrr nowrap">Mobile Users</td>
- </tr>
- <tr>
- <td class="listlr"><?php echo $activecounter; ?></td>
- <td class="listr"><?php echo $inactivecounter; ?></td>
- <td class="listr"><?php if (is_array($mobile['pool'])) echo htmlspecialchars($mobile['pool'][0]['usage']); else echo 0; ?></td>
- </tr>
- </table>
- </div>
-</div>
-
-<div id="ipsec-tunnel" style="display:none;background-color:#EEEEEE;">
- <div style="padding: 10px">
- <div style="display:table-row;">
- <div class="widgetsubheader" style="display:table-cell;width:40px">Source</div>
- <div class="widgetsubheader" style="display:table-cell;width:100px">Destination</div>
- <div class="widgetsubheader" style="display:table-cell;width:90px">Description</div>
- <div class="widgetsubheader" style="display:table-cell;width:30px">Status</div>
- </div>
- <div style="max-height:105px;overflow:auto;">
-
- <?php
- foreach ($ipsec_detail_array as $ipsec) :
- ?>
-
- <div style="display:table-row;">
- <div class="listlr" style="display:table-cell;width:39px">
- <?php echo htmlspecialchars($ipsec['src']);?>
- </div>
- <div class="listr" style="display:table-cell;width:100px">
- <?php echo $ipsec['remote-subnet'];?>
- <br />
- (<?php echo htmlspecialchars($ipsec['dest']);?>)
- </div>
- <div class="listr" style="display:table-cell;width:90px">
- <?php echo htmlspecialchars($ipsec['descr']);?>
- </div>
- <div class="listr" style="display:table-cell;width:37px" align="center">
- <?php
- if ($ipsec['status'] == "true") {
- /* tunnel is up */
- $iconfn = "interface_up";
- } else {
- /* tunnel is down */
- $iconfn = "interface_down";
- }
-
- echo "<img src ='/themes/{$g['theme']}/images/icons/icon_{$iconfn}.gif' alt='Tunnel status' width='11' height='11' />";
- ?>
- </div>
- </div>
- <?php
- endforeach;
- ?>
- </div>
- </div>
-</div>
-<div id="ipsec-mobile" style="display:none;background-color:#EEEEEE;">
- <div style="padding: 10px">
- <div style="display:table-row;">
- <div class="widgetsubheader" style="display:table-cell;width:140px">User</div>
- <div class="widgetsubheader" style="display:table-cell;width:130px">IP</div>
- <div class="widgetsubheader" style="display:table-cell;width:30px">Status</div>
- </div>
- <div style="max-height:105px;overflow:auto;">
-<?php
- if (is_array($mobile['pool'])):
- foreach ($mobile['pool'] as $pool):
- if (is_array($pool['lease'])):
- foreach ($pool['lease'] as $muser) :
-?>
- <div style="display:table-row;">
- <div class="listlr" style="display:table-cell;width:139px">
- <?php echo htmlspecialchars($muser['id']);?><br />
- </div>
- <div class="listr" style="display:table-cell;width:130px">
- <?php echo htmlspecialchars($muser['host']);?><br />
- </div>
- <div class="listr" style="display:table-cell;width:30px">
- <?php echo htmlspecialchars($muser['status']);?><br/>
- </div>
- </div>
-<?php
- endforeach;
- endif;
- endforeach;
- endif;
-?>
- </div>
- </div>
-</div>
-<?php // end if tunnels are configured, else show code below
-} else {
-?>
-<div style="display:block">
- <table class="tabcont" width="100%" border="0" cellpadding="0" cellspacing="0" summary="note">
- <tr>
- <td colspan="4">
- <span class="vexpl">
- <span class="red">
- <strong>
- Note: There are no configured IPsec Tunnels<br />
- </strong>
- </span>
- You can configure your IPsec <a href="vpn_ipsec.php">here</a>.
- </span>
- </td>
- </tr>
- </table>
-</div>
-<?php
-}
-?>
diff --git a/usr/local/www/widgets/widgets/load_balancer_status.widget.php b/usr/local/www/widgets/widgets/load_balancer_status.widget.php
deleted file mode 100644
index f5ddda9..0000000
--- a/usr/local/www/widgets/widgets/load_balancer_status.widget.php
+++ /dev/null
@@ -1,155 +0,0 @@
-<?php
-/*
- load_balancer_status.widget.php
- Copyright (C) 2013-2015 Electric Sheep Fencing, LP
-
- Copyright 2010 Jim Pingle
- Portions copied from status_lb_pool.php, status_lb_vs.php, and vslb.inc:
- Copyright (C) 2010 Seth Mos <seth.mos@dds.nl>.
- Copyright (C) 2005-2008 Bill Marquette
-
- Part of pfSense widgets (https://www.pfsense.org)
- originally based on m0n0wall (http://m0n0.ch/wall)
-
- Copyright (C) 2004-2005 T. Lechat <dev@lechat.org>, Manuel Kasper <mk@neon1.net>
- and Jonathan Watt <jwatt@jwatt.org>.
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- 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("functions.inc");
-require_once("vslb.inc");
-
-$now = time();
-$year = date("Y");
-
-if (!is_array($config['load_balancer']['lbpool'])) {
- $config['load_balancer']['lbpool'] = array();
-}
-if (!is_array($config['load_balancer']['virtual_server'])) {
- $config['load_balancer']['virtual_server'] = array();
-}
-$a_vs = &$config['load_balancer']['virtual_server'];
-$a_pool = &$config['load_balancer']['lbpool'];
-$rdr_a = get_lb_redirects();
-$relay_hosts = get_lb_summary();
-
-$lb_logfile = "{$g['varlog_path']}/relayd.log";
-$nentries = $config['syslog']['nentries'];
-if (!$nentries) {
- $nentries = 50;
-}
-
-?>
-
-<table bgcolor="#990000" width="100%" border="0" cellspacing="0" cellpadding="0" summary="load balancer">
- <tr>
- <td width="10%" class="listhdrr">Server</td>
- <td width="10%" class="listhdrr">Pool</td>
- <td width="30%" class="listhdr">Description</td>
- </tr>
-<?php
-$i = 0;
-foreach ($a_vs as $vsent):
-?>
- <tr>
- <?php
- switch (trim($rdr_a[$vsent['name']]['status'])) {
- case 'active':
- $bgcolor = "#90EE90"; // lightgreen
- $rdr_a[$vsent['name']]['status'] = "Active";
- break;
- case 'down':
- $bgcolor = "#F08080"; // lightcoral
- $rdr_a[$vsent['name']]['status'] = "Down";
- break;
- default:
- $bgcolor = "#D3D3D3"; // lightgray
- $rdr_a[$vsent['name']]['status'] = 'Unknown - relayd not running?';
- }
- ?>
- <td class="listlr">
- <?=$vsent['name'];?><br />
- <span style="background-color: <?=$bgcolor?>; display: block"><i><?=$rdr_a[$vsent['name']]['status']?></i></span>
- <?=$vsent['ipaddr'].":".$vsent['port'];?><br />
- </td>
- <td class="listr" align="center" >
- <table border="0" cellpadding="0" cellspacing="2" summary="status">
- <?php
- foreach ($a_pool as $pool) {
- if ($pool['name'] == $vsent['poolname']) {
- $pool_hosts=array();
- foreach ((array) $pool['servers'] as $server) {
- $svr['ip']['addr']=$server;
- $svr['ip']['state']=$relay_hosts[$pool['name'].":".$pool['port']][$server]['state'];
- $svr['ip']['avail']=$relay_hosts[$pool['name'].":".$pool['port']][$server]['avail'];
- $pool_hosts[]=$svr;
- }
- foreach ((array) $pool['serversdisabled'] as $server) {
- $svr['ip']['addr']="$server";
- $svr['ip']['state']='disabled';
- $svr['ip']['avail']='disabled';
- $pool_hosts[]=$svr;
- }
- asort($pool_hosts);
- foreach ((array) $pool_hosts as $server) {
- if ($server['ip']['addr']!="") {
- switch ($server['ip']['state']) {
- case 'up':
- $bgcolor = "#90EE90"; // lightgreen
- $checked = "checked";
- break;
- case 'disabled':
- $bgcolor = "#FFFFFF"; // white
- $checked = "";
- break;
- default:
- $bgcolor = "#F08080"; // lightcoral
- $checked = "checked";
- }
- echo "<tr>";
- echo "<td bgcolor=\"{$bgcolor}\">&nbsp;{$server['ip']['addr']}:{$pool['port']}&nbsp;</td><td bgcolor=\"{$bgcolor}\">&nbsp;";
- if ($server['ip']['avail']) {
- echo " ({$server['ip']['avail']}) ";
- }
- echo "&nbsp;</td></tr>";
- }
- }
- }
- }
- ?>
- </table>
- </td>
- <td class="listbg" >
- <font color="#FFFFFF"><?=$vsent['descr'];?></font>
- </td>
- </tr>
-<?php
- $i++;
-endforeach;
-?>
-</table>
diff --git a/usr/local/www/widgets/widgets/log.widget.php b/usr/local/www/widgets/widgets/log.widget.php
deleted file mode 100644
index 45205a4..0000000
--- a/usr/local/www/widgets/widgets/log.widget.php
+++ /dev/null
@@ -1,281 +0,0 @@
-<?php
-/*
- log.widget.php
- Copyright (C) 2013-2015 Electric Sheep Fencing, LP
-
- Copyright 2007 Scott Dale
- Part of pfSense widgets (https://www.pfsense.org)
- originally based on m0n0wall (http://m0n0.ch/wall)
-
- Copyright (C) 2004-2005 T. Lechat <dev@lechat.org>, Manuel Kasper <mk@neon1.net>
- and Jonathan Watt <jwatt@jwatt.org>.
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- 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("functions.inc");
-
-/* In an effort to reduce duplicate code, many shared functions have been moved here. */
-require_once("filter_log.inc");
-
-if (is_numeric($_POST['filterlogentries'])) {
- $config['widgets']['filterlogentries'] = $_POST['filterlogentries'];
-
- $acts = array();
- if ($_POST['actpass']) {
- $acts[] = "Pass";
- }
- if ($_POST['actblock']) {
- $acts[] = "Block";
- }
- if ($_POST['actreject']) {
- $acts[] = "Reject";
- }
-
- if (!empty($acts)) {
- $config['widgets']['filterlogentriesacts'] = implode(" ", $acts);
- } else {
- unset($config['widgets']['filterlogentriesacts']);
- }
- unset($acts);
-
- if (($_POST['filterlogentriesinterfaces']) and ($_POST['filterlogentriesinterfaces'] != "All")) {
- $config['widgets']['filterlogentriesinterfaces'] = trim($_POST['filterlogentriesinterfaces']);
- } else {
- unset($config['widgets']['filterlogentriesinterfaces']);
- }
-
- write_config("Saved Filter Log Entries via Dashboard");
- Header("Location: /");
- exit(0);
-}
-
-$nentries = isset($config['widgets']['filterlogentries']) ? $config['widgets']['filterlogentries'] : 5;
-
-//set variables for log
-
-$nentriesacts = isset($config['widgets']['filterlogentriesacts']) ? $config['widgets']['filterlogentriesacts'] : 'All';
-$nentriesinterfaces = isset($config['widgets']['filterlogentriesinterfaces']) ? $config['widgets']['filterlogentriesinterfaces'] : 'All';
-
-$filterfieldsarray = array(
- "act" => $nentriesacts,
- "interface" => $nentriesinterfaces
-);
-
-$filter_logfile = "{$g['varlog_path']}/filter.log";
-$filterlog = conv_log_filter($filter_logfile, $nentries, 50, $filterfieldsarray); //Get log entries
-
-/* AJAX related routines */
-handle_ajax($nentries, $nentries + 20);
-
-?>
-
-<script type="text/javascript">
-//<![CDATA[
-lastsawtime = '<?php echo time(); ?>';
-var lines = Array();
-var timer;
-var updateDelay = 30000;
-var isBusy = false;
-var isPaused = false;
-var nentries = <?php echo $nentries; ?>;
-
-<?php
-if (isset($config['syslog']['reverse'])) {
- echo "var isReverse = true;\n";
-} else {
- echo "var isReverse = false;\n";
-}
-?>
-
-/* Called by the AJAX updater */
-function format_log_line(row) {
- var rrText = "<?php echo gettext("Reverse Resolve with DNS"); ?>";
-
- if (row[8] == '6') {
- srcIP = '[' + row[3] + ']';
- dstIP = '[' + row[5] + ']';
- } else {
- srcIP = row[3];
- dstIP = row[5];
- }
-
- if (row[4] == '') {
- srcPort = '';
- } else {
- srcPort = ':' + row[4];
- }
- if (row[6] == '') {
- dstPort = '';
- } else {
- dstPort = ':' + row[6];
- }
-
- var line = '<td class="listMRlr" align="center">' + row[0] + '</td>' +
- '<td class="listMRr ellipsis" title="' + row[1] + '">' + row[1].slice(0,-3) + '</td>' +
- '<td class="listMRr ellipsis" title="' + row[2] + '">' + row[2] + '</td>' +
- '<td class="listMRr ellipsis" title="' + srcIP + srcPort + '"><a href="diag_dns.php?host=' + row[3] + '" title="' + rrText + '">' + srcIP + '</a></td>' +
- '<td class="listMRr ellipsis" title="' + dstIP + dstPort + '"><a href="diag_dns.php?host=' + row[5] + '" title="' + rrText + '">' + dstIP + '</a>' + dstPort + '</td>';
-
- var nentriesacts = "<?php echo $nentriesacts; ?>";
- var nentriesinterfaces = "<?php echo $nentriesinterfaces; ?>";
-
- var Action = row[0].match(/alt=.*?(pass|block|reject)/i).join("").match(/pass|block|reject/i).join("");
- var Interface = row[2];
-
- if (!(in_arrayi(Action, nentriesacts.replace (/\s+/g, ',').split(','))) && (nentriesacts != 'All')) {
- return false;
- }
- if (!(in_arrayi(Interface, nentriesinterfaces.replace(/\s+/g, ',').split(','))) && (nentriesinterfaces != 'All')) {
- return false;
- }
-
- return line;
-}
-//]]>
-</script>
-<script src="/javascript/filter_log.js" type="text/javascript"></script>
-<input type="hidden" id="log-config" name="log-config" value="" />
-
-<div id="log-settings" class="widgetconfigdiv" style="display:none;">
- <form action="/widgets/widgets/log.widget.php" method="post" name="log_widget_iform">
- Number of lines to display:
- <select name="filterlogentries" class="formfld unknown" id="filterlogentries">
- <?php for ($i = 1; $i <= 20; $i++) { ?>
- <option value="<?php echo $i;?>" <?php if ($nentries == $i) echo "selected=\"selected\"";?>><?php echo $i;?></option>
- <?php } ?>
- </select>
-
-<?php
- $Include_Act = explode(" ", $nentriesacts);
- if ($nentriesinterfaces == "All") {
- $nentriesinterfaces = "";
- }
-?>
- <input id="actpass" name="actpass" type="checkbox" value="Pass" <?php if (in_arrayi('Pass', $Include_Act)) echo "checked=\"checked\""; ?> /> Pass
- <input id="actblock" name="actblock" type="checkbox" value="Block" <?php if (in_arrayi('Block', $Include_Act)) echo "checked=\"checked\""; ?> /> Block
- <input id="actreject" name="actreject" type="checkbox" value="Reject" <?php if (in_arrayi('Reject', $Include_Act)) echo "checked=\"checked\""; ?> /> Reject
- <br />
- Interfaces:
- <select id="filterlogentriesinterfaces" name="filterlogentriesinterfaces" class="formselect">
- <option value="All">ALL</option>
-<?php
- $interfaces = get_configured_interface_with_descr();
- foreach ($interfaces as $iface => $ifacename):
-?>
- <option value="<?=$iface;?>" <?php if ($nentriesinterfaces == $iface) echo "selected=\"selected\"";?>>
- <?=htmlspecialchars($ifacename);?>
- </option>
-<?php
- endforeach;
- unset($interfaces);
- unset($Include_Act);
-?>
- </select>
-
- <input id="log_widget_submit" name="log_widget_submit" type="submit" class="formbtn" value="Save" />
- </form>
-</div>
-
-<table width="100%" border="0" cellpadding="0" cellspacing="0" style="table-layout: fixed;" summary="logs">
- <colgroup>
- <col style='width: 7%;' />
- <col style='width: 23%;' />
- <col style='width: 11%;' />
- <col style='width: 28%;' />
- <col style='width: 31%;' />
- </colgroup>
- <thead>
- <tr>
- <td class="listhdrr"><?=gettext("Act");?></td>
- <td class="listhdrr"><?=gettext("Time");?></td>
- <td class="listhdrr"><?=gettext("IF");?></td>
- <td class="listhdrr"><?=gettext("Source");?></td>
- <td class="listhdrr"><?=gettext("Destination");?></td>
- </tr>
- </thead>
- <tbody id='filter-log-entries'>
- <?php
- $rowIndex = 0;
- foreach ($filterlog as $filterent):
- $evenRowClass = $rowIndex % 2 ? " listMReven" : " listMRodd";
- $rowIndex++;
- if ($filterent['version'] == '6') {
- $srcIP = "[" . htmlspecialchars($filterent['srcip']) . "]";
- $dstIP = "[" . htmlspecialchars($filterent['dstip']) . "]";
- } else {
- $srcIP = htmlspecialchars($filterent['srcip']);
- $dstIP = htmlspecialchars($filterent['dstip']);
- }
-
- if ($filterent['srcport']) {
- $srcPort = ":" . htmlspecialchars($filterent['srcport']);
- } else {
- $srcPort = "";
- }
-
- if ($filterent['dstport']) {
- $dstPort = ":" . htmlspecialchars($filterent['dstport']);
- } else {
- $dstPort = "";
- }
-
- ?>
- <tr class="<?=$evenRowClass?>">
- <td class="listMRlr nowrap" align="center">
- <a href="#" onclick="javascript:getURL('diag_logs_filter.php?getrulenum=<?php echo "{$filterent['rulenum']},{$filterent['tracker']},{$filterent['act']}"; ?>', outputrule);">
- <img border="0" src="<?php echo find_action_image($filterent['act']);?>" width="11" height="11" alt="<?php echo $filterent['act'];?>" title="<?php echo $filterent['act'];?>" />
- </a>
- </td>
- <td class="listMRr ellipsis nowrap" title="<?php echo htmlspecialchars($filterent['time']);?>"><?php echo substr(htmlspecialchars($filterent['time']),0,-3);?></td>
- <td class="listMRr ellipsis nowrap" title="<?php echo htmlspecialchars($filterent['interface']);?>"><?php echo htmlspecialchars($filterent['interface']);?></td>
- <td class="listMRr ellipsis nowrap" title="<?php echo $srcIP . $srcPort;?>">
- <a href="diag_dns.php?host=<?php echo "{$filterent['srcip']}"; ?>" title="<?=gettext("Reverse Resolve with DNS");?>">
- <?php echo $srcIP;?></a></td>
- <td class="listMRr ellipsis nowrap" title="<?php echo $dstIP . $dstPort;?>">
- <a href="diag_dns.php?host=<?php echo "{$filterent['dstip']}"; ?>" title="<?=gettext("Reverse Resolve with DNS");?>">
- <?php echo $dstIP;?></a><?php echo $dstPort;?></td>
- <?php
- if ($filterent['proto'] == "TCP") {
- $filterent['proto'] .= ":{$filterent['tcpflags']}";
- }
- ?>
- </tr>
- <?php
- endforeach;
- ?>
- </tbody>
-</table>
-
-<!-- needed to display the widget settings menu -->
-<script type="text/javascript">
-//<![CDATA[
- selectIntLink = "log-configure";
- textlink = document.getElementById(selectIntLink);
- textlink.style.display = "inline";
-//]]>
-</script>
diff --git a/usr/local/www/widgets/widgets/ntp_status.widget.php b/usr/local/www/widgets/widgets/ntp_status.widget.php
deleted file mode 100644
index 64522be..0000000
--- a/usr/local/www/widgets/widgets/ntp_status.widget.php
+++ /dev/null
@@ -1,515 +0,0 @@
-<?php
-/*
- ntp_status.widget.php
- Copyright (C) 2013-2015 Electric Sheep Fencing, LP
-
- Copyright 2007 Scott Dale
- Part of pfSense widgets (https://www.pfsense.org)
- originally based on m0n0wall (http://m0n0.ch/wall)
-
- Copyright (C) 2004-2005 T. Lechat <dev@lechat.org>, Manuel Kasper <mk@neon1.net>
- and Jonathan Watt <jwatt@jwatt.org>.
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- 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("functions.inc");
-
-require_once("/usr/local/www/widgets/include/ntp_status.inc");
-
-if ($_REQUEST['updateme']) {
-//this block displays only on ajax refresh
- if (isset($config['system']['ipv6allow'])) {
- $inet_version = "";
- } else {
- $inet_version = " -4";
- }
-
- exec("/usr/local/sbin/ntpq -pn $inet_version | /usr/bin/tail +3", $ntpq_output);
- $ntpq_counter = 0;
- foreach ($ntpq_output as $line) {
- if (substr($line, 0, 1) == "*") {
- //Active NTP Peer
- $line = substr($line, 1);
- $peerinfo = preg_split("/[\s\t]+/", $line);
- if ($peerinfo[2] == "1") {
- $syncsource = $peerinfo[0] . " (stratum " . $peerinfo[2] . ", " . $peerinfo[1] . ")";
- } else {
- $syncsource = $peerinfo[0] . " (stratum " . $peerinfo[2] . ")";
- }
- $ntpq_counter++;
- } elseif (substr($line, 0, 1) == "o") {
- //Local PPS Peer
- $line = substr($line, 1);
- $peerinfo = preg_split("/[\s\t]+/", $line);
- $syncsource = $peerinfo[1] . " (stratum " . $peerinfo[2] . ", PPS)";
- $ntpq_counter++;
- }
- }
-
- exec("/usr/local/sbin/ntpq -c clockvar $inet_version", $ntpq_clockvar_output);
- foreach ($ntpq_clockvar_output as $line) {
- if (substr($line, 0, 9) == "timecode=") {
- $tmp = explode('"', $line);
- $tmp = $tmp[1];
- if (substr($tmp, 0, 6) == '$GPRMC') {
- $gps_vars = explode(",", $tmp);
- $gps_ok = ($gps_vars[2] == "A");
- $gps_lat_deg = substr($gps_vars[3], 0, 2);
- $gps_lat_min = substr($gps_vars[3], 2) / 60.0;
- $gps_lon_deg = substr($gps_vars[5], 0, 3);
- $gps_lon_min = substr($gps_vars[5], 3) / 60.0;
- $gps_lat = $gps_lat_deg + $gps_lat_min;
- $gps_lat = $gps_lat * (($gps_vars[4] == "N") ? 1 : -1);
- $gps_lon = $gps_lon_deg + $gps_lon_min;
- $gps_lon = $gps_lon * (($gps_vars[6] == "E") ? 1 : -1);
- $gps_la = $gps_vars[4];
- $gps_lo = $gps_vars[6];
- } elseif (substr($tmp, 0, 6) == '$GPGGA') {
- $gps_vars = explode(",", $tmp);
- $gps_ok = $gps_vars[6];
- $gps_lat_deg = substr($gps_vars[2], 0, 2);
- $gps_lat_min = substr($gps_vars[2], 2) / 60.0;
- $gps_lon_deg = substr($gps_vars[4], 0, 3);
- $gps_lon_min = substr($gps_vars[4], 3) / 60.0;
- $gps_lat = $gps_lat_deg + $gps_lat_min;
- $gps_lat = $gps_lat * (($gps_vars[3] == "N") ? 1 : -1);
- $gps_lon = $gps_lon_deg + $gps_lon_min;
- $gps_lon = $gps_lon * (($gps_vars[5] == "E") ? 1 : -1);
- $gps_alt = $gps_vars[9];
- $gps_alt_unit = $gps_vars[10];
- $gps_sat = $gps_vars[7];
- $gps_la = $gps_vars[3];
- $gps_lo = $gps_vars[5];
- } elseif (substr($tmp, 0, 6) == '$GPGLL') {
- $gps_vars = explode(",", $tmp);
- $gps_ok = ($gps_vars[6] == "A");
- $gps_lat_deg = substr($gps_vars[1], 0, 2);
- $gps_lat_min = substr($gps_vars[1], 2) / 60.0;
- $gps_lon_deg = substr($gps_vars[3], 0, 3);
- $gps_lon_min = substr($gps_vars[3], 3) / 60.0;
- $gps_lat = $gps_lat_deg + $gps_lat_min;
- $gps_lat = $gps_lat * (($gps_vars[2] == "N") ? 1 : -1);
- $gps_lon = $gps_lon_deg + $gps_lon_min;
- $gps_lon = $gps_lon * (($gps_vars[4] == "E") ? 1 : -1);
- $gps_la = $gps_vars[2];
- $gps_lo = $gps_vars[4];
- }
- }
- }
-
- if (isset($config['ntpd']['gps']['type']) && ($config['ntpd']['gps']['type'] == 'SureGPS') && (isset($gps_ok))) {
- //GSV message is only enabled by init commands in services_ntpd_gps.php for SureGPS board
- $gpsport = fopen("/dev/gps0", "r+");
- while ($gpsport) {
- $buffer = fgets($gpsport);
- if (substr($buffer, 0, 6)=='$GPGSV') {
- //echo $buffer."\n";
- $gpgsv = explode(',',$buffer);
- $gps_satview = $gpgsv[3];
- break;
- }
- }
- }
-?>
-
-<table width="100%" border="0" cellspacing="0" cellpadding="0" summary="clock">
- <tbody>
- <tr>
- <td width="40%" class="vncellt">Sync Source</td>
- <td width="60%" class="listr">
- <?php if ($ntpq_counter == 0): ?>
- No active peers available
- <?php else: ?>
- <?php echo $syncsource; ?>
- <?php endif; ?>
- </td>
- </tr>
- <?php if (($gps_ok) && ($gps_lat) && ($gps_lon)): ?>
- <tr>
- <td width="40%" class="vncellt">Clock location</td>
- <td width="60%" class="listr">
- <a target="_gmaps" href="http://maps.google.com/?q=<?php echo $gps_lat; ?>,<?php echo $gps_lon; ?>">
- <?php
- echo sprintf("%.5f", $gps_lat) . " " . $gps_la . ", " . sprintf("%.5f", $gps_lon) . " " . $gps_lo;
- ?>
- </a>
- <?php
- if (isset($gps_alt)) {
- echo " (" . $gps_alt . " " . $gps_alt_unit . " alt.)";
- }
- ?>
- </td>
- </tr>
- <?php if (isset($gps_sat) || isset($gps_satview)): ?>
- <tr>
- <td width="40%" class="vncellt">Satellites</td>
- <td width="60%" class="listr">
- <?php
- if (isset($gps_satview)) {
- echo 'in view ' . intval($gps_satview);
- }
- if (isset($gps_sat) && isset($gps_satview)) {
- echo ', ';
- }
- if (isset($gps_sat)) {
- echo 'in use ' . $gps_sat;
- }
- ?>
- </td>
- </tr>
- <?php endif; ?>
- <?php endif; ?>
- </tbody>
-</table>
-<?php
- exit;
-}
-
-/*** Clock -- beginning of server-side support code
-by Andrew Shearer, http://www.shearersoftware.com/
-v2.1.2-PHP, 2003-08-07. For updates and explanations, see
-<http://www.shearersoftware.com/software/web-tools/clock/>. ***/
-
-/* Prevent this page from being cached (though some browsers still
- cache the page anyway, which is why we use cookies). This is
- only important if the cookie is deleted while the page is still
- cached (and for ancient browsers that don't know about Cache-Control).
- If that's not an issue, you may be able to get away with
- "Cache-Control: private" instead. */
-
-/* Grab the current server time. */
-$gDate = time();
-/* Are the seconds shown by default? When changing this, also change the
- JavaScript client code's definition of clockShowsSeconds below to match. */
-$gClockShowsSeconds = true;
-
-function getServerDateItems($inDate) {
- return date('Y,n,j,G,',$inDate).intval(date('i',$inDate)).','.intval(date('s',$inDate));
- // year (4-digit),month,day,hours (0-23),minutes,seconds
- // use intval to strip leading zero from minutes and seconds
- // so JavaScript won't try to interpret them in octal
- // (use intval instead of ltrim, which translates '00' to '')
-}
-
-function clockDateString($inDate) {
- return date('Y. F j l',$inDate); // eg "Monday, January 1, 2002"
-}
-
-function clockTimeString($inDate, $showSeconds) {
- return date($showSeconds ? 'G:i:s' : 'g:i',$inDate).' ';
-}
-/*** Clock -- end of server-side support code ***/
-?>
-
-<script type="text/javascript">
-//<![CDATA[
-/* set up variables used to init clock in BODY's onLoad handler;
- should be done as early as possible */
-var clockLocalStartTime = new Date();
-var clockServerStartTime = new Date(<?php echo(getServerDateItems($gDate))?>);
-
-/* stub functions for older browsers;
- will be overridden by next JavaScript1.2 block */
-function clockInit() {
-}
-//]]>
-</script>
-
-
-<script type="text/javascript">
-//<![CDATA[
-/*** simpleFindObj, by Andrew Shearer
-
-Efficiently finds an object by name/id, using whichever of the IE,
-classic Netscape, or Netscape 6/W3C DOM methods is available.
-The optional inLayer argument helps Netscape 4 find objects in
-the named layer or floating DIV. */
-function simpleFindObj(name, inLayer) {
- return document[name] || (document.all && document.all[name])
- || (document.getElementById && document.getElementById(name))
- || (document.layers && inLayer && document.layers[inLayer].document[name]);
-}
-
-/*** Beginning of Clock 2.1.2, by Andrew Shearer
-See: http://www.shearersoftware.com/software/web-tools/clock/
-Redistribution is permitted with the above notice intact.
-
-Client-side clock, based on computed time differential between browser &
-server. The server time is inserted by server-side JavaScript, and local
-time is subtracted from it by client-side JavaScript while the page is
-loading.
-
-Cookies: The local and remote times are saved in cookies named
-localClock and remoteClock, so that when the page is loaded from local
-cache (e.g. by the Back button) the clock will know that the embedded
-server time is stale compared to the local time, since it already
-matches its cookie. It can then base the calculations on both cookies,
-without reloading the page from the server. (IE 4 & 5 for Windows didn't
-respect Response.Expires = 0, so if cookies weren't used, the clock
-would be wrong after going to another page then clicking Back. Netscape
-& Mac IE were OK.)
-
-Every so often (by default, one hour) the clock will reload the page, to
-make sure the clock is in sync (as well as to update the rest of the
-page content).
-
-Compatibility: IE 4.x and 5.0, Netscape 4.x and 6.0, Mozilla 1.0. Mac & Windows.
-
-History: 1.0 2000-05-09 GIF-image digits
- 2.0 2000-06-29 Uses text DIV layers (so 4.0 browsers req'd), &
- cookies to work around Win IE stale-time bug
- 2.1 2002-10-12 Noted Mozilla 1.0 compatibility; released PHP version.
- 2.1.1 2002-10-20 Fixed octal bug in the PHP translation; the number of
- minutes & seconds were misinterpreted when less than 10
- 2.1.2 2003-08-07 The previous fix had introduced a bug when the
- minutes or seconds were exactly 0. Thanks to Man Bui
- for reporting the bug.
-*/
-var clockIncrementMillis = 1000;
-var localTime;
-var clockOffset;
-var clockExpirationLocal;
-var clockShowsSeconds = true;
-var clockTimerID = null;
-
-function clockInit(localDateObject, serverDateObject)
-{
- var origRemoteClock = parseInt(clockGetCookieData("remoteClock"));
- var origLocalClock = parseInt(clockGetCookieData("localClock"));
- var newRemoteClock = serverDateObject.getTime();
- // May be stale (WinIE); will check against cookie later
- // Can't use the millisec. ctor here because of client inconsistencies.
- var newLocalClock = localDateObject.getTime();
- var maxClockAge = 60 * 60 * 1000; // get new time from server every 1hr
-
- if (newRemoteClock != origRemoteClock) {
- // new clocks are up-to-date (newer than any cookies)
- document.cookie = "remoteClock=" + newRemoteClock;
- document.cookie = "localClock=" + newLocalClock;
- clockOffset = newRemoteClock - newLocalClock;
- clockExpirationLocal = newLocalClock + maxClockAge;
- localTime = newLocalClock; // to keep clockUpdate() happy
- } else if (origLocalClock != origLocalClock) {
- // error; localClock cookie is invalid (parsed as NaN)
- clockOffset = null;
- clockExpirationLocal = null;
- } else {
- // fall back to clocks in cookies
- clockOffset = origRemoteClock - origLocalClock;
- clockExpirationLocal = origLocalClock + maxClockAge;
- localTime = origLocalClock;
- // so clockUpdate() will reload if newLocalClock
- // is earlier (clock was reset)
- }
- /* Reload page at server midnight to display the new date,
- by expiring the clock then */
- var nextDayLocal = (new Date(serverDateObject.getFullYear(),
- serverDateObject.getMonth(),
- serverDateObject.getDate() + 1)).getTime() - clockOffset;
- if (nextDayLocal < clockExpirationLocal) {
- clockExpirationLocal = nextDayLocal;
- }
-}
-
-function clockOnLoad()
-{
- clockUpdate();
-}
-
-function clockOnUnload() {
- clockClearTimeout();
-}
-
-function clockClearTimeout() {
- if (clockTimerID) {
- clearTimeout(clockTimerID);
- clockTimerID = null;
- }
-}
-
-function clockToggleSeconds()
-{
- clockClearTimeout();
- if (clockShowsSeconds) {
- clockShowsSeconds = false;
- clockIncrementMillis = 60000;
- } else {
- clockShowsSeconds = true;
- clockIncrementMillis = 1000;
- }
- clockUpdate();
-}
-
-function clockTimeString(inHours, inMinutes, inSeconds) {
- return inHours
- + (inMinutes < 10 ? ":0" : ":") + inMinutes
- + (inSeconds < 10 ? ":0" : ":") + inSeconds;
-}
-
-function clockDisplayTime(inHours, inMinutes, inSeconds) {
- clockWriteToDiv("ClockTime", clockTimeString(inHours, inMinutes, inSeconds));
-}
-
-function clockWriteToDiv(divName, newValue) // APS 6/29/00
-{
- var divObject = simpleFindObj(divName);
- newValue = '<b>' + newValue + '<' + '/b>';
- if (divObject && divObject.innerHTML) {
- divObject.innerHTML = newValue;
- } else if (divObject && divObject.document) {
- divObject.document.writeln(newValue);
- divObject.document.close();
- }
- // else divObject wasn't found; it's only a clock, so don't bother complaining
-}
-
-function clockGetCookieData(label) {
- /* find the value of the specified cookie in the document's
- semicolon-delimited collection. For IE Win98 compatibility, search
- from the end of the string (to find most specific host/path) and
- don't require "=" between cookie name & empty cookie values. Returns
- null if cookie not found. One remaining problem: Under IE 5 [Win98],
- setting a cookie with no equals sign creates a cookie with no name,
- just data, which is indistinguishable from a cookie with that name
- but no data but can't be overwritten by any cookie with an equals
- sign. */
- var c = document.cookie;
- if (c) {
- var labelLen = label.length, cEnd = c.length;
- while (cEnd > 0) {
- var cStart = c.lastIndexOf(';',cEnd-1) + 1;
- /* bug fix to Danny Goodman's code: calculate cEnd, to
- prevent walking the string char-by-char & finding cookie
- labels that contained the desired label as suffixes */
- // skip leading spaces
- while (cStart < cEnd && c.charAt(cStart)==" ") {
- cStart++;
- }
- if (cStart + labelLen <= cEnd && c.substr(cStart,labelLen) == label) {
- if (cStart + labelLen == cEnd) {
- return ""; // empty cookie value, no "="
- } else if (c.charAt(cStart+labelLen) == "=") {
- // has "=" after label
- return unescape(c.substring(cStart + labelLen + 1,cEnd));
- }
- }
- cEnd = cStart - 1; // skip semicolon
- }
- }
- return null;
-}
-
-/* Called regularly to update the clock display as well as onLoad (user
- may have clicked the Back button to arrive here, so the clock would need
- an immediate update) */
-function clockUpdate()
-{
- var lastLocalTime = localTime;
- localTime = (new Date()).getTime();
-
- /* Sanity-check the diff. in local time between successive calls;
- reload if user has reset system clock */
- if (clockOffset == null) {
- clockDisplayTime(null, null, null);
- } else if (localTime < lastLocalTime || clockExpirationLocal < localTime) {
- /* Clock expired, or time appeared to go backward (user reset
- the clock). Reset cookies to prevent infinite reload loop if
- server doesn't give a new time. */
- document.cookie = 'remoteClock=-';
- document.cookie = 'localClock=-';
- location.reload(); // will refresh time values in cookies
- } else {
- // Compute what time would be on server
- var serverTime = new Date(localTime + clockOffset);
- clockDisplayTime(serverTime.getHours(), serverTime.getMinutes(),
- serverTime.getSeconds());
-
- // Reschedule this func to run on next even clockIncrementMillis boundary
- clockTimerID = setTimeout("clockUpdate()",
- clockIncrementMillis - (serverTime.getTime() % clockIncrementMillis));
- }
-}
-
-/*** End of Clock ***/
-window.onload=clockInit(clockLocalStartTime, clockServerStartTime);clockOnLoad();
-window.onunload=clockOnUnload()
-clockUpdate();
-//]]>
-</script>
-
-
-<table width="100%" border="0" cellspacing="0" cellpadding="0" summary="clock">
- <tbody>
- <tr>
- <td width="40%" class="vncellt">Server Time</td>
- <td width="60%" class="listr">
- <div id="ClockTime">
- <b><?php echo(clockTimeString($gDate,$gClockShowsSeconds));?></b>
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-
-<div id='ntpstatus'>
-<table width="100%" border="0" cellspacing="0" cellpadding="0" summary="clock">
- <tbody>
- <tr>
- <td width="100%" class="listr">
- Updating...
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-
-<script type="text/javascript">
-//<![CDATA[
- function ntp_getstatus() {
- scroll(0,0);
- var url = "/widgets/widgets/ntp_status.widget.php";
- var pars = 'updateme=yes';
- jQuery.ajax(
- url,
- {
- type: 'get',
- data: pars,
- complete: ntpstatuscallback
- });
- // Refresh the status every 1 minute
- setTimeout('ntp_getstatus()', 1*60*1000);
- }
- function ntpstatuscallback(transport) {
- // The server returns formatted html code
- var responseStringNtp = transport.responseText
- jQuery('#ntpstatus').prop('innerHTML',responseStringNtp);
- }
- // Do the first status check 1 second after the dashboard opens
- setTimeout('ntp_getstatus()', 1000);
-//]]>
-</script>
diff --git a/usr/local/www/widgets/widgets/openvpn.widget.php b/usr/local/www/widgets/widgets/openvpn.widget.php
deleted file mode 100644
index 6f813c5..0000000
--- a/usr/local/www/widgets/widgets/openvpn.widget.php
+++ /dev/null
@@ -1,290 +0,0 @@
-<?php
-
-/*
- openvpn.widget.php
- Copyright (C) 2013-2015 Electric Sheep Fencing, LP
- Part of pfSense widgets (https://www.pfsense.org)
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- 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("openvpn.inc");
-
-/* Handle AJAX */
-if ($_GET['action']) {
- if ($_GET['action'] == "kill") {
- $port = $_GET['port'];
- $remipp = $_GET['remipp'];
- if (!empty($port) and !empty($remipp)) {
- $retval = kill_client($port, $remipp);
- echo htmlentities("|{$port}|{$remipp}|{$retval}|");
- } else {
- echo gettext("invalid input");
- }
- exit;
- }
-}
-
-
-function kill_client($port, $remipp) {
- global $g;
-
- //$tcpsrv = "tcp://127.0.0.1:{$port}";
- $tcpsrv = "unix://{$g['varetc_path']}/openvpn/{$port}.sock";
- $errval;
- $errstr;
-
- /* open a tcp connection to the management port of each server */
- $fp = @stream_socket_client($tcpsrv, $errval, $errstr, 1);
- $killed = -1;
- if ($fp) {
- stream_set_timeout($fp, 1);
- fputs($fp, "kill {$remipp}\n");
- while (!feof($fp)) {
- $line = fgets($fp, 1024);
-
- $info = stream_get_meta_data($fp);
- if ($info['timed_out']) {
- break;
- }
-
- /* parse header list line */
- if (strpos($line, "INFO:") !== false) {
- continue;
- }
- if (strpos($line, "SUCCESS") !== false) {
- $killed = 0;
- }
- break;
- }
- fclose($fp);
- }
- return $killed;
-}
-
-$servers = openvpn_get_active_servers();
-$sk_servers = openvpn_get_active_servers("p2p");
-$clients = openvpn_get_active_clients();
-?>
-
-<br />
-<script type="text/javascript">
-//<![CDATA[
- function killClient(mport, remipp) {
- var busy = function(index,icon) {
- jQuery(icon).bind("onclick","");
- jQuery(icon).attr('src',jQuery(icon).attr('src').replace("\.gif", "_d.gif"));
- jQuery(icon).css("cursor","wait");
- }
-
- jQuery('img[name="i:' + mport + ":" + remipp + '"]').each(busy);
-
- jQuery.ajax(
- "<?=$_SERVER['SCRIPT_NAME'];?>" +
- "?action=kill&port=" + mport + "&remipp=" + remipp,
- { type: "get", complete: killComplete }
- );
- }
-
- function killComplete(req) {
- var values = req.responseText.split("|");
- if (values[3] != "0") {
- alert('<?=gettext("An error occurred.");?>' + ' (' + values[3] + ')');
- return;
- }
-
- jQuery('tr[name="r:' + values[1] + ":" + values[2] + '"]').each(
- function(index,row) { jQuery(row).fadeOut(1000); }
- );
- }
-//]]>
-</script>
-
-<?php foreach ($servers as $server): ?>
-
-<table style="padding-top:0px; padding-bottom:0px; padding-left:0px; padding-right:0px" width="100%" border="0" cellpadding="0" cellspacing="0">
- <tr>
- <td colspan="6" class="listtopic">
- <?=$server['name'];?> Client connections
- </td>
- </tr>
- <tr>
- <td>
- <table style="padding-top:0px; padding-bottom:0px; padding-left:0px; padding-right:0px" class="tabcont sortable" width="100%" border="0" cellpadding="0" cellspacing="0" sortableMultirow="2">
- <tr>
- <td class="listhdrr">Name/Time</td>
- <td class="listhdrr">Real/Virtual IP</td>
- </tr>
- <?php
- $rowIndex = 0;
- foreach ($server['conns'] as $conn):
- $evenRowClass = $rowIndex % 2 ? " listMReven" : " listMRodd";
- $rowIndex++;
- ?>
- <tr name='<?php echo "r:{$server['mgmt']}:{$conn['remote_host']}"; ?>' class="<?=$evenRowClass?>">
- <td class="listMRlr">
- <?=$conn['common_name'];?>
- </td>
- <td class="listMRr">
- <?=$conn['remote_host'];?>
- </td>
- <td class='listMR' rowspan="2">
- <img src='/themes/<?php echo $g['theme']; ?>/images/icons/icon_x.gif' height='17' width='17' border='0'
- onclick="killClient('<?php echo $server['mgmt']; ?>', '<?php echo $conn['remote_host']; ?>');" style='cursor:pointer;'
- name='<?php echo "i:{$server['mgmt']}:{$conn['remote_host']}"; ?>'
- title='Kill client connection from <?php echo $conn['remote_host']; ?>' alt='' />
- </td>
- </tr>
- <tr name='<?php echo "r:{$server['mgmt']}:{$conn['remote_host']}"; ?>' class="<?=$evenRowClass?>">
- <td class="listMRlr">
- <?=$conn['connect_time'];?>
- </td>
- <td class="listMRr">
- <?=$conn['virtual_addr'];?>
- </td>
- </tr>
-
- <?php endforeach; ?>
- <tfoot>
- <tr>
- <td colspan="6" class="list" height="12"></td>
- </tr>
- </tfoot>
- </table>
- </td>
- </tr>
-</table>
-
-<?php endforeach; ?>
-<?php if (!empty($sk_servers)) { ?>
-<table style="padding-top:0px; padding-bottom:0px; padding-left:0px; padding-right:0px" width="100%" border="0" cellpadding="0" cellspacing="0">
- <tr>
- <td colspan="6" class="listtopic">
- Peer to Peer Server Instance Statistics
- </td>
- </tr>
- <tr>
- <table style="padding-top:0px; padding-bottom:0px; padding-left:0px; padding-right:0px" class="tabcont sortable" width="100%" border="0" cellpadding="0" cellspacing="0">
- <tr>
- <td class="listhdrr">Name/Time</td>
- <td class="listhdrr">Remote/Virtual IP</td>
- </tr>
-
-<?php foreach ($sk_servers as $sk_server): ?>
- <tr name='<?php echo "r:{$sk_server['port']}:{$sk_server['remote_host']}"; ?>'>
- <td class="listlr">
- <?=$sk_server['name'];?>
- </td>
- <td class="listr">
- <?=$sk_server['remote_host'];?>
- </td>
- <td rowspan="2" align="center">
- <?php
- if ($sk_server['status'] == "up") {
- /* tunnel is up */
- $iconfn = "interface_up";
- } else {
- /* tunnel is down */
- $iconfn = "interface_down";
- }
- echo "<img src ='/themes/{$g['theme']}/images/icons/icon_{$iconfn}.gif' alt='' />";
- ?>
- </td>
- </tr>
- <tr name='<?php echo "r:{$sk_server['port']}:{$sk_server['remote_host']}"; ?>'>
- <td class="listlr">
- <?=$sk_server['connect_time'];?>
- </td>
- <td class="listr">
- <?=$sk_server['virtual_addr'];?>
- </td>
- </tr>
-<?php endforeach; ?>
- </table>
- </tr>
-</table>
-
-<?php
-} ?>
-<?php if (!empty($clients)) { ?>
-<table style="padding-top:0px; padding-bottom:0px; padding-left:0px; padding-right:0px" width="100%" border="0" cellpadding="0" cellspacing="0">
- <tr>
- <td colspan="6" class="listtopic">
- Client Instance Statistics
- </td>
- </tr>
- <tr>
- <table style="padding-top:0px; padding-bottom:0px; padding-left:0px; padding-right:0px" class="tabcont sortable" width="100%" border="0" cellpadding="0" cellspacing="0">
- <tr>
- <td class="listhdrr">Name/Time</td>
- <td class="listhdrr">Remote/Virtual IP</td>
- </tr>
-
- <?php foreach ($clients as $client): ?>
- <tr name='<?php echo "r:{$client['port']}:{$client['remote_host']}"; ?>'>
- <td class="listlr">
- <?=$client['name'];?>
- </td>
- <td class="listr">
- <?=$client['remote_host'];?>
- </td>
- <td rowspan="2" align="center">
- <?php
- if ($client['status'] == "up") {
- /* tunnel is up */
- $iconfn = "interface_up";
- } else {
- /* tunnel is down */
- $iconfn = "interface_down";
- }
- echo "<img src ='/themes/{$g['theme']}/images/icons/icon_{$iconfn}.gif' alt='' />";
- ?>
- </td>
- </tr>
- <tr name='<?php echo "r:{$client['port']}:{$client['remote_host']}"; ?>'>
- <td class="listlr">
- <?=$client['connect_time'];?>
- </td>
- <td class="listr">
- <?=$client['virtual_addr'];?>
- </td>
- </tr>
- <?php endforeach; ?>
- </table>
- </tr>
-</table>
-
-<?php
-}
-
-if ($DisplayNote) {
- echo "<br /><b>NOTE:</b> You need to bind each OpenVPN client to enable its management daemon: use 'Local port' setting in the OpenVPN client screen";
-}
-
-if ((empty($clients)) && (empty($servers)) && (empty($sk_servers))) {
- echo "No OpenVPN instances defined";
-}
-?>
diff --git a/usr/local/www/widgets/widgets/picture.widget.php b/usr/local/www/widgets/widgets/picture.widget.php
deleted file mode 100644
index 02a002a..0000000
--- a/usr/local/www/widgets/widgets/picture.widget.php
+++ /dev/null
@@ -1,96 +0,0 @@
-<?php
-/*
- picture.widget.php
- Copyright (C) 2013-2015 Electric Sheep Fencing, LP
- Copyright 2009 Scott Ullrich
- Part of pfSense widgets (https://www.pfsense.org)
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- 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("functions.inc");
-
-if ($_GET['getpic']=="true") {
- $pic_type_s = explode(".", $config['widgets']['picturewidget_filename']);
- $pic_type = $pic_type_s[1];
- if ($config['widgets']['picturewidget']) {
- $data = base64_decode($config['widgets']['picturewidget']);
- }
- header("Content-Disposition: inline; filename=\"{$config['widgets']['picturewidget_filename']}\"");
- header("Content-Type: image/{$pic_type}");
- header("Content-Length: " . strlen($data));
- echo $data;
- exit;
-}
-
-if ($_POST) {
- if (is_uploaded_file($_FILES['pictfile']['tmp_name'])) {
- /* read the file contents */
- $fd_pic = fopen($_FILES['pictfile']['tmp_name'], "rb");
- while (($buf=fread($fd_pic, 8192)) != '') {
- // Here, $buf is guaranteed to contain data
- $data .= $buf;
- }
- fclose($fd_pic);
- if (!$data) {
- log_error("Warning, could not read file " . $_FILES['pictfile']['tmp_name']);
- die("Could not read temporary file");
- } else {
- $picname = basename($_FILES['uploadedfile']['name']);
- $config['widgets']['picturewidget'] = base64_encode($data);
- $config['widgets']['picturewidget_filename'] = $_FILES['pictfile']['name'];
- write_config("Picture widget saved via Dashboard.");
- header("Location: /index.php");
- exit;
- }
- }
-}
-
-?>
-
-<input type="hidden" id="picture-config" name="picture-config" value="" />
-
-<div id="picture-settings" class="widgetconfigdiv" style="display:none;">
- <form action="/widgets/widgets/picture.widget.php" method="post" name="picture_widget_iform" enctype="multipart/form-data">
- <input name="pictfile" type="file" class="formbtn" id="pictfile" size="20" />
- <input id="picture_widget_submit" name="picture_widget_submit" type="submit" class="formbtn" value="Upload" />
- </form>
-</div>
-
-<div id="picture-widgets" style="padding: 5px">
- <a href='/widgets/widgets/picture.widget.php?getpic=true' target='_blank'>
- <img border="0" width="100%" height="100%" src="/widgets/widgets/picture.widget.php?getpic=true" alt="picture" />
- </a>
-</div>
-
-<!-- needed to show the settings widget icon -->
-<script type="text/javascript">
-//<![CDATA[
- selectIntLink = "picture-configure";
- textlink = document.getElementById(selectIntLink);
- textlink.style.display = "inline";
-//]]>
-</script>
diff --git a/usr/local/www/widgets/widgets/rss.widget.php b/usr/local/www/widgets/widgets/rss.widget.php
deleted file mode 100644
index 0850039..0000000
--- a/usr/local/www/widgets/widgets/rss.widget.php
+++ /dev/null
@@ -1,198 +0,0 @@
-<?php
-/*
- rss.widget.php
- Copyright (C) 2013-2015 Electric Sheep Fencing, LP
-
- Copyright 2009 Scott Ullrich
- Part of pfSense widgets (https://www.pfsense.org)
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- 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("functions.inc");
-
-if ($_POST['rssfeed']) {
- $config['widgets']['rssfeed'] = str_replace("\n", ",", htmlspecialchars($_POST['rssfeed'], ENT_QUOTES | ENT_HTML401));
- $config['widgets']['rssmaxitems'] = str_replace("\n", ",", htmlspecialchars($_POST['rssmaxitems'], ENT_QUOTES | ENT_HTML401));
- $config['widgets']['rsswidgetheight'] = htmlspecialchars($_POST['rsswidgetheight'], ENT_QUOTES | ENT_HTML401);
- $config['widgets']['rsswidgettextlength'] = htmlspecialchars($_POST['rsswidgettextlength'], ENT_QUOTES | ENT_HTML401);
- write_config("Saved RSS Widget feed via Dashboard");
- header("Location: /");
-}
-
-// Use saved feed and max items
-if ($config['widgets']['rssfeed']) {
- $rss_feed_s = explode(",", $config['widgets']['rssfeed']);
-}
-
-if ($config['widgets']['rssmaxitems']) {
- $max_items = $config['widgets']['rssmaxitems'];
-}
-
-if (is_numeric($config['widgets']['rsswidgetheight'])) {
- $rsswidgetheight = $config['widgets']['rsswidgetheight'];
-}
-
-if (is_numeric($config['widgets']['rsswidgettextlength'])) {
- $rsswidgettextlength = $config['widgets']['rsswidgettextlength'];
-}
-
-// Set a default feed if none exists
-if (!$rss_feed_s) {
- $rss_feed_s = "https://blog.pfsense.org";
- $config['widgets']['rssfeed'] = "https://blog.pfsense.org";
-}
-
-if (!$max_items) {
- $max_items = 10;
-}
-
-if (!$rsswidgetheight) {
- $rsswidgetheight = 300;
-}
-
-if (!$rsswidgettextlength) {
- $rsswidgettextlength = 140; // oh twitter, how do we love thee?
-}
-
-if ($config['widgets']['rssfeed']) {
- $textarea_txt = str_replace(",", "\n", $config['widgets']['rssfeed']);
-} else {
- $textarea_txt = "";
-}
-
-?>
-
-<input type="hidden" id="rss-config" name="rss-config" value="" />
-
-<div id="rss-settings" class="widgetconfigdiv" style="display:none;">
- <form action="/widgets/widgets/rss.widget.php" method="post" name="rss_widget_iform">
- <textarea name="rssfeed" class="formfld unknown textarea_widget" id="rssfeed" cols="40" rows="3"><?=$textarea_txt;?></textarea>
- <br />
- <table summary="rss widget">
- <tr>
- <td align="right">
- Display number of items:
- </td>
- <td>
- <select name='rssmaxitems' id='rssmaxitems'>
- <option value='<?= $max_items ?>'><?= $max_items ?></option>
- <?php
- for ($x=100; $x<5100; $x=$x+100) {
- echo "<option value='{$x}'>{$x}</option>\n";
- }
- ?>
- </select>
- </td>
- </tr>
- <tr>
- <td align="right">
- Widget height:
- </td>
- <td>
- <select name='rsswidgetheight' id='rsswidgetheight'>
- <option value='<?= $rsswidgetheight ?>'><?= $rsswidgetheight ?>px</option>
- <?php
- for ($x=100; $x<5100; $x=$x+100) {
- echo "<option value='{$x}'>{$x}px</option>\n";
- }
- ?>
- </select>
- </td>
- </tr>
- <tr>
- <td align="right">
- Show how many characters from story:
- </td>
- <td>
- <select name='rsswidgettextlength' id='rsswidgettextlength'>
- <option value='<?= $rsswidgettextlength ?>'><?= $rsswidgettextlength ?></option>
- <?php
- for ($x=10; $x<5100; $x=$x+10) {
- echo "<option value='{$x}'>{$x}</option>\n";
- }
- ?>
- </select>
- </td>
- </tr>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
- <input id="rss_widget_submit" name="rss_widget_submit" type="submit" class="formbtn" value="Save" />
- </td>
- </tr>
- </table>
- </form>
-</div>
-
-<div id="rss-widgets" style="padding: 5px; height: <?=$rsswidgetheight?>px; overflow:scroll;">
-<?php
- if (!is_dir("/tmp/simplepie")) {
- mkdir("/tmp/simplepie");
- mkdir("/tmp/simplepie/cache");
- }
- exec("chmod a+rw /tmp/simplepie/.");
- exec("chmod a+rw /tmp/simplepie/cache/.");
- require_once("simplepie/simplepie.inc");
- function textLimit($string, $length, $replacer = '...') {
- if (strlen($string) > $length) {
- return (preg_match('/^(.*)\W.*$/', substr($string, 0, $length+1), $matches) ? $matches[1] : substr($string, 0, $length)) . $replacer;
- }
- return $string;
- }
- $feed = new SimplePie();
- $feed->set_cache_location("/tmp/simplepie/");
- $feed->set_feed_url($rss_feed_s);
- $feed->init();
- $feed->handle_content_type();
- $counter = 1;
- foreach ($feed->get_items() as $item) {
- $feed = $item->get_feed();
- $feed->strip_htmltags();
- echo "<a target='blank' href='" . $item->get_permalink() . "'>" . $item->get_title() . "</a><br />";
- $content = $item->get_content();
- $content = strip_tags($content);
- echo textLimit($content, $rsswidgettextlength) . "<br />";
- echo "Source: <a target='_blank' href='" . $item->get_permalink() . "'><img src='" . $feed->get_favicon() . "' alt='" . $feed->get_title() . "' title='" . $feed->get_title() . "' border='0' width='16' height='16' /></a><br />";
- $counter++;
- if ($counter > $max_items) {
- break;
- }
- echo "<hr/>";
- }
-?>
-</div>
-
-<!-- needed to display the widget settings menu -->
-<script type="text/javascript">
-//<![CDATA[
- selectIntLink = "rss-configure";
- textlink = document.getElementById(selectIntLink);
- textlink.style.display = "inline";
-//]]>
-</script>
diff --git a/usr/local/www/widgets/widgets/services_status.widget.php b/usr/local/www/widgets/widgets/services_status.widget.php
deleted file mode 100644
index f4c3542..0000000
--- a/usr/local/www/widgets/widgets/services_status.widget.php
+++ /dev/null
@@ -1,105 +0,0 @@
-<?php
-/*
- services_status.widget.php
- Copyright (C) 2013-2015 Electric Sheep Fencing, LP
-
- Copyright (C) 2004, 2005 Scott Ullrich
- All rights reserved.
-
- services_status.widget.php
- Copyright (C) 2007 Sam Wenham
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INClUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- 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("captiveportal.inc");
-require_once("service-utils.inc");
-require_once("ipsec.inc");
-require_once("vpn.inc");
-require_once("/usr/local/www/widgets/include/services_status.inc");
-
-$services = get_services();
-
-if (isset($_POST['servicestatusfilter'])) {
- $config['widgets']['servicestatusfilter'] = htmlspecialchars($_POST['servicestatusfilter'], ENT_QUOTES | ENT_HTML401);
- write_config("Saved Service Status Filter via Dashboard");
- header("Location: ../../index.php");
-}
-?>
-<input type="hidden" id="services_status-config" name="services_status-config" value="" />
-<div id="services_status-settings" class="widgetconfigdiv" style="display:none;">
- <form action="/widgets/widgets/services_status.widget.php" method="post" name="services_status_widget_iform">
- Comma separated list of services to NOT display in the widget<br />
- <input type="text" size="30" name="servicestatusfilter" class="formfld unknown" id="servicestatusfilter" value="<?= $config['widgets']['servicestatusfilter'] ?>" />
- <input id="services_status_widget_submit" name="services_status_widget_submit" type="submit" class="formbtn" value="Save" />
- </form>
-</div>
-
-<table width="100%" border="0" cellpadding="0" cellspacing="0" summary="services">
- <tr>
- <td class="widgetsubheader" align="center"><b>Service</b></td>
- <td class="widgetsubheader" align="center"><b>Description</b></td>
- <td class="widgetsubheader" align="center"><b>Status</b></td>
- <td class="widgetsubheader">&nbsp;</td>
- </tr>
-<?php
-$skipservices = explode(",", $config['widgets']['servicestatusfilter']);
-
-if (count($services) > 0) {
- uasort($services, "service_name_compare");
- foreach ($services as $service) {
- if ((!$service['name']) || (in_array($service['name'], $skipservices)) || (!is_service_enabled($service['name']))) {
- continue;
- }
- if (empty($service['description'])) {
- $service['description'] = get_pkg_descr($service['name']);
- }
- $service_desc = explode(".",$service['description']);
- echo "<tr><td class=\"listlr\">" . $service['name'] . "</td>\n";
- echo "<td class=\"listr\">" . $service_desc[0] . "</td>\n";
- // if service is running then listr else listbg
- $bgclass = null;
- if (get_service_status($service)) {
- $bgclass = "listr";
- } else {
- $bgclass = "listbg";
- }
- echo "<td class=\"" . $bgclass . "\" align=\"center\">" . get_service_status_icon($service, false, true) . "</td>\n";
- echo "<td valign=\"middle\" class=\"list nowrap\">" . get_service_control_links($service) . "</td></tr>\n";
- }
-} else {
- echo "<tr><td colspan=\"3\" align=\"center\">" . gettext("No services found") . " . </td></tr>\n";
-}
-?>
-</table>
-
-<!-- needed to display the widget settings menu -->
-<script type="text/javascript">
-//<![CDATA[
- selectIntLink = "services_status-configure";
- textlink = document.getElementById(selectIntLink);
- textlink.style.display = "inline";
-//]]>
-</script>
diff --git a/usr/local/www/widgets/widgets/smart_status.widget.php b/usr/local/www/widgets/widgets/smart_status.widget.php
deleted file mode 100644
index 87f0605..0000000
--- a/usr/local/www/widgets/widgets/smart_status.widget.php
+++ /dev/null
@@ -1,76 +0,0 @@
-<?php
-/*
- smart_status.widget.php
- Copyright (C) 2013-2015 Electric Sheep Fencing, LP
- Copyright 2012 mkirbst @ pfSense Forum
- Part of pfSense widgets (https://www.pfsense.org)
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
-*/
-
-require_once("guiconfig.inc");
-require_once("pfsense-utils.inc");
-require_once("functions.inc");
-require_once("/usr/local/www/widgets/include/smart_status.inc");
-?>
-
-<table width="100%" border="0" cellpadding="0" cellspacing="0" summary="smart status">
- <tr>
- <td class="widgetsubheader" align="center"><b><?php echo gettext("Drive") ?></b></td>
- <td class="widgetsubheader" align="center"><b><?php echo gettext("Ident") ?></b></td>
- <td class="widgetsubheader" align="center"><b><?php echo gettext("SMART Status") ?></b></td>
- </tr>
-
-<?php
-$devs = array();
-## Get all adX, daX, and adaX (IDE, SCSI, and AHCI) devices currently installed
-$devs = get_smart_drive_list();
-
-if (count($devs) > 0) {
- foreach ($devs as $dev) { ## for each found drive do
- $dev_ident = exec("diskinfo -v /dev/$dev | grep ident | awk '{print $1}'"); ## get identifier from drive
- $dev_state = trim(exec("smartctl -H /dev/$dev | awk -F: '/^SMART overall-health self-assessment test result/ {print $2;exit}
-/^SMART Health Status/ {print $2;exit}'")); ## get SMART state from drive
- switch ($dev_state) {
- case "PASSED":
- case "OK":
- $color = "#90EE90";
- break;
- case "":
- $dev_state = "Unknown";
- $color = "#C0B788";
- break;
- default:
- $color = "#F08080";
- break;
- }
-?>
- <tr>
- <td class="listlr"><?php echo $dev; ?></td>
- <td class="listr" align="center"><?php echo $dev_ident; ?></td>
- <td class="listr" align="center"><span style="background-color:<?php echo $color; ?>">&nbsp;<?php echo $dev_state; ?>&nbsp;</span></td>
- </tr>
-<?php }
-}
-?>
-</table>
diff --git a/usr/local/www/widgets/widgets/system_information.widget.php b/usr/local/www/widgets/widgets/system_information.widget.php
deleted file mode 100644
index 231f2ee..0000000
--- a/usr/local/www/widgets/widgets/system_information.widget.php
+++ /dev/null
@@ -1,322 +0,0 @@
-<?php
-/*
- system_information.widget.php
- Copyright (C) 2013-2015 Electric Sheep Fencing, LP
- Copyright 2007 Scott Dale
- Part of pfSense widgets (https://www.pfsense.org)
- originally based on m0n0wall (http://m0n0.ch/wall)
-
- Copyright (C) 2004-2005 T. Lechat <dev@lechat.org>, Manuel Kasper <mk@neon1.net>
- and Jonathan Watt <jwatt@jwatt.org>.
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
-*/
-
-require_once("functions.inc");
-require_once("guiconfig.inc");
-require_once('notices.inc');
-include_once("includes/functions.inc.php");
-
-if ($_REQUEST['getupdatestatus']) {
- if (isset($config['system']['firmware']['disablecheck'])) {
- exit;
- }
- if (isset($config['system']['firmware']['alturl']['enable'])) {
- $updater_url = "{$config['system']['firmware']['alturl']['firmwareurl']}";
- } else {
- $updater_url = $g['update_url'];
- }
-
- $nanosize = "";
- if ($g['platform'] == "nanobsd") {
- if (file_exists("/etc/nano_use_vga.txt")) {
- $nanosize = "-nanobsd-vga-";
- } else {
- $nanosize = "-nanobsd-";
- }
- $nanosize .= strtolower(trim(file_get_contents("/etc/nanosize.txt")));
- }
-
- @unlink("/tmp/{$g['product_name']}_version");
- if (download_file_with_progress_bar("{$updater_url}/version{$nanosize}", "/tmp/{$g['product_name']}_version", 'read_body', 5, 5) === true) {
- $remote_version = trim(@file_get_contents("/tmp/{$g['product_name']}_version"));
- }
-
- if (empty($remote_version)) {
- echo "<br /><br />Unable to check for updates.";
- } else {
- $current_installed_buildtime = trim(file_get_contents("/etc/version.buildtime"));
-
- if (!$remote_version) {
- echo "<br /><br />Unable to check for updates.";
- } else {
- $needs_system_upgrade = false;
- if (pfs_version_compare($current_installed_buildtime, $g['product_version'], $remote_version) == -1) {
- echo "<br /><span class=\"red\" id=\"updatealert\"><b>Update available. </b></span><a href=\"/system_firmware_check.php\">Click Here</a> to view update.";
- echo "\n<script type=\"text/javascript\">\n";
- echo "//<![CDATA[\n";
- echo "jQuery('#updatealert').effect('pulsate',{times: 30},10000);\n";
- echo "//]]>\n";
- echo "</script>\n";
- } else {
- echo "<br />You are on the latest version.";
- }
- }
- }
- exit;
-}
-
-$curcfg = $config['system']['firmware'];
-
-$filesystems = get_mounted_filesystems();
-
-?>
-<script type="text/javascript">
-//<![CDATA[
- jQuery(function() {
- jQuery("#statePB").progressbar( { value: <?php echo get_pfstate(true); ?> } );
- jQuery("#mbufPB").progressbar( { value: <?php echo get_mbuf(true); ?> } );
- jQuery("#cpuPB").progressbar( { value:false } );
- jQuery("#memUsagePB").progressbar( { value: <?php echo mem_usage(); ?> } );
-
-<?PHP $d = 0; ?>
-<?PHP foreach ($filesystems as $fs): ?>
- jQuery("#diskUsagePB<?php echo $d++; ?>").progressbar( { value: <?php echo $fs['percent_used']; ?> } );
-<?PHP endforeach; ?>
-
- <?php if ($showswap == true): ?>
- jQuery("#swapUsagePB").progressbar( { value: <?php echo swap_usage(); ?> } );
- <?php endif; ?>
- <?php if (get_temp() != ""): ?>
- jQuery("#tempPB").progressbar( { value: <?php echo get_temp(); ?> } );
- <?php endif; ?>
- });
-//]]>
-</script>
-
-<table width="100%" border="0" cellspacing="0" cellpadding="0" summary="system information">
- <tbody>
- <tr>
- <td width="25%" class="vncellt"><?=gettext("Name");?></td>
- <td width="75%" class="listr"><?php echo $config['system']['hostname'] . "." . $config['system']['domain']; ?></td>
- </tr>
- <tr>
- <td width="25%" valign="top" class="vncellt"><?=gettext("Version");?></td>
- <td width="75%" class="listr">
- <strong><?=$g['product_version']?></strong>
- (<?php echo php_uname("m"); ?>)
- <br />
- built on <?php readfile("/etc/version.buildtime"); ?>
- <?php if (!$g['hideuname']): ?>
- <br />
- <div id="uname"><a href="#" onclick='swapuname(); return false;'><?php echo php_uname("s") . " " . php_uname("r"); ?></a></div>
- <?php endif; ?>
- <?php if (!isset($config['system']['firmware']['disablecheck'])): ?>
- <div id='updatestatus'><br /><?php echo gettext("Obtaining update status"); ?> ...</div>
- <?php endif; ?>
- </td>
- </tr>
- <?php if (!$g['hideplatform']): ?>
- <tr>
- <td width="25%" class="vncellt"><?=gettext("Platform");?></td>
- <td width="75%" class="listr">
- <?=htmlspecialchars($g['platform']);?>
- <?php if (($g['platform'] == "nanobsd") && (file_exists("/etc/nanosize.txt"))) {
- echo " (" . htmlspecialchars(trim(file_get_contents("/etc/nanosize.txt"))) . ")";
- } ?>
- </td>
- </tr>
- <?php endif; ?>
- <?php if ($g['platform'] == "nanobsd"): ?>
- <?
- global $SLICE, $OLDSLICE, $TOFLASH, $COMPLETE_PATH, $COMPLETE_BOOT_PATH;
- global $GLABEL_SLICE, $UFS_ID, $OLD_UFS_ID, $BOOTFLASH;
- global $BOOT_DEVICE, $REAL_BOOT_DEVICE, $BOOT_DRIVE, $ACTIVE_SLICE;
- nanobsd_detect_slice_info();
- $rw = is_writable("/") ? "(rw)" : "(ro)";
- ?>
- <tr>
- <td width="25%" class="vncellt"><?=gettext("NanoBSD Boot Slice");?></td>
- <td width="75%" class="listr">
- <?=htmlspecialchars(nanobsd_friendly_slice_name($BOOT_DEVICE));?> / <?=htmlspecialchars($BOOTFLASH);?> <?php echo $rw; ?>
- <?php if ($BOOTFLASH != $ACTIVE_SLICE): ?>
- <br /><br />Next Boot:<br />
- <?=htmlspecialchars(nanobsd_friendly_slice_name($GLABEL_SLICE));?> / <?=htmlspecialchars($ACTIVE_SLICE);?>
- <?php endif; ?>
- </td>
- </tr>
- <?php endif; ?>
- <tr>
- <td width="25%" class="vncellt"><?=gettext("CPU Type");?></td>
- <td width="75%" class="listr">
- <?php
- echo (htmlspecialchars(get_single_sysctl("hw.model")));
- ?>
- <div id="cpufreq"><?= get_cpufreq(); ?></div>
- <?php
- $cpucount = get_cpu_count();
- if ($cpucount > 1): ?>
- <div id="cpucount">
- <?= htmlspecialchars($cpucount) ?> CPUs: <?= htmlspecialchars(get_cpu_count(true)); ?></div>
- <?php endif; ?>
- </td>
- </tr>
- <?php if ($hwcrypto): ?>
- <tr>
- <td width="25%" class="vncellt"><?=gettext("Hardware crypto");?></td>
- <td width="75%" class="listr"><?=htmlspecialchars($hwcrypto);?></td>
- </tr>
- <?php endif; ?>
- <tr>
- <td width="25%" class="vncellt"><?=gettext("Uptime");?></td>
- <td width="75%" class="listr" id="uptime"><?= htmlspecialchars(get_uptime()); ?></td>
- </tr>
- <tr>
- <td width="25%" class="vncellt"><?=gettext("Current date/time");?></td>
- <td width="75%" class="listr">
- <div id="datetime"><?= date("D M j G:i:s T Y"); ?></div>
- </td>
- </tr>
- <tr>
- <td width="30%" class="vncellt"><?=gettext("DNS server(s)");?></td>
- <td width="70%" class="listr">
- <?php
- $dns_servers = get_dns_servers();
- foreach ($dns_servers as $dns) {
- echo "{$dns}<br />";
- }
- ?>
- </td>
- </tr>
- <?php if ($config['revision']): ?>
- <tr>
- <td width="25%" class="vncellt"><?=gettext("Last config change");?></td>
- <td width="75%" class="listr"><?= htmlspecialchars(date("D M j G:i:s T Y", intval($config['revision']['time'])));?></td>
- </tr>
- <?php endif; ?>
- <tr>
- <td width="25%" class="vncellt"><?=gettext("State table size");?></td>
- <td width="75%" class="listr">
- <?php
- $pfstatetext = get_pfstate();
- $pfstateusage = get_pfstate(true);
- ?>
- <div id="statePB"></div>
- <span id="pfstateusagemeter"><?= $pfstateusage.'%'; ?></span> (<span id="pfstate"><?= htmlspecialchars($pfstatetext); ?></span>)
- <br />
- <a href="diag_dump_states.php"><?=gettext("Show states");?></a>
- </td>
- </tr>
- <tr>
- <td width="25%" class="vncellt"><?=gettext("MBUF Usage");?></td>
- <td width="75%" class="listr">
- <?php
- $mbufstext = get_mbuf();
- $mbufusage = get_mbuf(true);
- ?>
- <div id="mbufPB"></div>
- <span id="mbufusagemeter"><?= $mbufusage.'%'; ?></span> (<span id="mbuf"><?= $mbufstext ?></span>)
- </td>
- </tr>
- <?php if (get_temp() != ""): ?>
- <tr>
- <td width="25%" class="vncellt"><?=gettext("Temperature");?></td>
- <td width="75%" class="listr">
- <?php $TempMeter = $temp = get_temp(); ?>
- <div id="tempPB"></div>
- <span id="tempmeter"><?= $temp."&#176;C"; ?></span>
- </td>
- </tr>
- <?php endif; ?>
- <tr>
- <td width="25%" class="vncellt"><?=gettext("Load average");?></td>
- <td width="75%" class="listr">
- <div id="load_average" title="Last 1, 5 and 15 minutes"><?= get_load_average(); ?></div>
- </td>
- </tr>
- <tr>
- <td width="25%" class="vncellt"><?=gettext("CPU usage");?></td>
- <td width="75%" class="listr">
- <div id="cpuPB"></div>
- <span id="cpumeter">(Updating in 10 seconds)</span>
- </td>
- </tr>
- <tr>
- <td width="25%" class="vncellt"><?=gettext("Memory usage");?></td>
- <td width="75%" class="listr">
- <?php $memUsage = mem_usage(); ?>
- <div id="memUsagePB"></div>
- <span id="memusagemeter"><?= $memUsage.'%'; ?></span> of <?= sprintf("%.0f", get_single_sysctl('hw.physmem') / (1024*1024)) ?> MB
- </td>
- </tr>
- <?php if ($showswap == true): ?>
- <tr>
- <td width="25%" class="vncellt"><?=gettext("SWAP usage");?></td>
- <td width="75%" class="listr">
- <?php $swapusage = swap_usage(); ?>
- <div id="swapUsagePB"></div>
- <span id="swapusagemeter"><?= $swapusage.'%'; ?></span> of <?= sprintf("%.0f", `/usr/sbin/swapinfo -m | /usr/bin/grep -v Device | /usr/bin/awk '{ print $2;}'`) ?> MB
- </td>
- </tr>
- <?php endif; ?>
- <tr>
- <td width="25%" class="vncellt"><?=gettext("Disk usage");?></td>
- <td width="75%" class="listr">
- <?php $d = 0; ?>
- <?php foreach ($filesystems as $fs): ?>
- <div id="diskUsagePB<?php echo $d; ?>"></div>
- <?php if (substr(basename($fs['device']), 0, 2) == "md") $fs['type'] .= " in RAM"; ?>
- <?php echo "{$fs['mountpoint']} ({$fs['type']})";?>: <span id="diskusagemeter<?php echo $d++ ?>"><?= $fs['percent_used'].'%'; ?></span> of <?PHP echo $fs['total_size'];?>
- <br />
- <?php endforeach; ?>
- </td>
- </tr>
- </tbody>
-</table>
-<script type="text/javascript">
-//<![CDATA[
- function swapuname() {
- jQuery('#uname').html("<?php echo php_uname("a"); ?>");
- }
- <?php if (!isset($config['system']['firmware']['disablecheck'])): ?>
- function getstatus() {
- scroll(0,0);
- var url = "/widgets/widgets/system_information.widget.php";
- var pars = 'getupdatestatus=yes';
- jQuery.ajax(
- url,
- {
- type: 'get',
- data: pars,
- complete: activitycallback
- });
- }
- function activitycallback(transport) {
- // .html() method process all script tags contained in responseText,
- // to avoid this we set the innerHTML property
- jQuery('#updatestatus').prop('innerHTML',transport.responseText);
- }
- setTimeout('getstatus()', 4000);
- <?php endif; ?>
-//]]>
-</script>
diff --git a/usr/local/www/widgets/widgets/thermal_sensors.widget.php b/usr/local/www/widgets/widgets/thermal_sensors.widget.php
deleted file mode 100644
index 0dac0cb..0000000
--- a/usr/local/www/widgets/widgets/thermal_sensors.widget.php
+++ /dev/null
@@ -1,279 +0,0 @@
-<?php
-/*
- $Id: thermal_sensors.widget.php
- Copyright (C) 2013-2015 Electric Sheep Fencing, LP
-
- Description: Thermal Sensors Widget.
- NOTE: depends on proper config in System >> Advanced >> Miscellaneous tab >> Thermal Sensors section.
-
- File location:
- \usr\local\www\widgets\widgets\
- Depends on:
- \usr\local\www\widgets\javascript\thermal_sensors.js
- \usr\local\www\widgets\include\thermal_sensors.inc
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
- */
-
-require_once("guiconfig.inc");
-require_once("/usr/local/www/widgets/include/thermal_sensors.inc");
-
-//=========================================================================
-//called by showThermalSensorsData() (jQuery Ajax call) in thermal_sensors.js
-if (isset($_GET["getThermalSensorsData"])) {
- //get Thermal Sensors data and return
- echo getThermalSensorsData();
- return;
-}
-//=========================================================================
-
-
-const WIDGETS_CONFIG_SECTION_KEY = "widgets";
-const THERMAL_SENSORS_WIDGET_SUBSECTION_KEY = "thermal_sensors_widget";
-
-//default constants
-const DEFAULT_WARNING_THRESHOLD = 60; //60 C
-const DEFAULT_CRITICAL_THRESHOLD = 70; //70 C
-const MIN_THRESHOLD_VALUE = 1; //deg C
-const MAX_THRESHOLD_VALUE = 100; //deg C
-
-//NOTE: keys used in $_POST and $config should match text and checkbox inputs' IDs/names in HTML code section
-//=========================================================================
-//save widget config settings on POST
-if ($_POST) {
- saveThresholdSettings($config, $_POST, "thermal_sensors_widget_zone_warning_threshold", "thermal_sensors_widget_zone_critical_threshold");
- saveThresholdSettings($config, $_POST, "thermal_sensors_widget_core_warning_threshold", "thermal_sensors_widget_core_critical_threshold");
-
- //handle checkboxes separately
- saveGraphDisplaySettings($config, $_POST, "thermal_sensors_widget_show_raw_output");
- saveGraphDisplaySettings($config, $_POST, "thermal_sensors_widget_show_full_sensor_name");
- saveGraphDisplaySettings($config, $_POST, "thermal_sensors_widget_pulsate_warning");
- saveGraphDisplaySettings($config, $_POST, "thermal_sensors_widget_pulsate_critical");
-
- //write settings to config file
- write_config("Saved thermal_sensors_widget settings via Dashboard.");
- header("Location: ../../index.php");
-}
-
-function saveThresholdSettings(&$configArray, &$postArray, $warningValueKey, $criticalValueKey) {
- $warningValue = 0;
- $criticalValue = 0;
-
- if (isset($postArray[$warningValueKey])) {
- $warningValue = (int) $postArray[$warningValueKey];
- }
-
- if (isset($postArray[$criticalValueKey])) {
- $criticalValue = (int) $postArray[$criticalValueKey];
- }
-
- if (($warningValue >= MIN_THRESHOLD_VALUE && $warningValue <= MAX_THRESHOLD_VALUE) &&
- ($criticalValue >= MIN_THRESHOLD_VALUE && $criticalValue <= MAX_THRESHOLD_VALUE) &&
- ($warningValue < $criticalValue)) {
- //all validated ok, save to config array
- $configArray[WIDGETS_CONFIG_SECTION_KEY][THERMAL_SENSORS_WIDGET_SUBSECTION_KEY][$warningValueKey] = $warningValue;
- $configArray[WIDGETS_CONFIG_SECTION_KEY][THERMAL_SENSORS_WIDGET_SUBSECTION_KEY][$criticalValueKey] = $criticalValue;
- }
-}
-
-function saveGraphDisplaySettings(&$configArray, &$postArray, $valueKey) {
- $configArray[WIDGETS_CONFIG_SECTION_KEY][THERMAL_SENSORS_WIDGET_SUBSECTION_KEY][$valueKey] = isset($postArray[$valueKey]) ? 1 : 0;
-}
-
-//=========================================================================
-//get Threshold settings from config (apply defaults if missing)
-$thermal_sensors_widget_zoneWarningTempThreshold = getThresholdValueFromConfig($config, "thermal_sensors_widget_zone_warning_threshold", DEFAULT_WARNING_THRESHOLD);
-$thermal_sensors_widget_zoneCriticalTempThreshold = getThresholdValueFromConfig($config, "thermal_sensors_widget_zone_critical_threshold", DEFAULT_CRITICAL_THRESHOLD);
-$thermal_sensors_widget_coreWarningTempThreshold = getThresholdValueFromConfig($config, "thermal_sensors_widget_core_warning_threshold", DEFAULT_WARNING_THRESHOLD);
-$thermal_sensors_widget_coreCriticalTempThreshold = getThresholdValueFromConfig($config, "thermal_sensors_widget_core_critical_threshold", DEFAULT_CRITICAL_THRESHOLD);
-
-//get display settings from config (apply defaults if missing)
-$thermal_sensors_widget_showRawOutput = getBoolValueFromConfig($config, "thermal_sensors_widget_show_raw_output", false);
-$thermal_sensors_widget_showFullSensorName = getBoolValueFromConfig($config, "thermal_sensors_widget_show_full_sensor_name", false);
-$thermal_sensors_widget_pulsateWarning = getBoolValueFromConfig($config, "thermal_sensors_widget_pulsate_warning", true);
-$thermal_sensors_widget_pulsateCritical = getBoolValueFromConfig($config, "thermal_sensors_widget_pulsate_critical", true);
-
-function getThresholdValueFromConfig(&$configArray, $valueKey, $defaultValue) {
-
- $thresholdValue = $defaultValue;
-
- if (isset($configArray[WIDGETS_CONFIG_SECTION_KEY][THERMAL_SENSORS_WIDGET_SUBSECTION_KEY][$valueKey])) {
- $thresholdValue = (int) $configArray[WIDGETS_CONFIG_SECTION_KEY][THERMAL_SENSORS_WIDGET_SUBSECTION_KEY][$valueKey];
- }
-
- if ($thresholdValue < MIN_THRESHOLD_VALUE || $thresholdValue > MAX_THRESHOLD_VALUE) {
- //set to default if not in allowed range
- $thresholdValue = $defaultValue;
- }
- return $thresholdValue;
-}
-
-function getBoolValueFromConfig(&$configArray, $valueKey, $defaultValue) {
-
- $boolValue = false;
-
- if (isset($configArray[WIDGETS_CONFIG_SECTION_KEY][THERMAL_SENSORS_WIDGET_SUBSECTION_KEY][$valueKey])) {
- $boolValue = (bool) $configArray[WIDGETS_CONFIG_SECTION_KEY][THERMAL_SENSORS_WIDGET_SUBSECTION_KEY][$valueKey];
- } else {
- //set to default if not in allowed range
- $boolValue = $defaultValue;
- }
- return $boolValue;
-}
-
-//=========================================================================
-?>
-
-<script type="text/javascript">
-//<![CDATA[
- //set Thresholds, to be used in thermal_sensors.js
- var thermal_sensors_widget_zoneWarningTempThreshold = <?= $thermal_sensors_widget_zoneWarningTempThreshold; ?>;
- var thermal_sensors_widget_zoneCriticalTempThreshold = <?= $thermal_sensors_widget_zoneCriticalTempThreshold; ?>;
- var thermal_sensors_widget_coreWarningTempThreshold = <?= $thermal_sensors_widget_coreWarningTempThreshold; ?>;
- var thermal_sensors_widget_coreCriticalTempThreshold = <?= $thermal_sensors_widget_coreCriticalTempThreshold; ?>;
-
- //set Graph display settings, to be used in thermal_sensors.js
- var thermal_sensors_widget_showRawOutput = <?= $thermal_sensors_widget_showRawOutput ? "true" : "false"; ?>;
- var thermal_sensors_widget_showFullSensorName = <?= $thermal_sensors_widget_showFullSensorName ? "true" : "false"; ?>;
- var thermal_sensors_widget_pulsateWarning = <?= $thermal_sensors_widget_pulsateWarning ? "true" : "false"; ?>;
- var thermal_sensors_widget_pulsateCritical = <?= $thermal_sensors_widget_pulsateCritical ? "true" : "false"; ?>;
-
- //start showing temp data
- //NOTE: the refresh interval will be reset to a proper value in showThermalSensorsData() (thermal_sensors.js).
- jQuery(document).ready(function() {
- showThermalSensorsData();
- });
-//]]>
-</script>
-
-<input type="hidden" id="thermal_sensors-config" name="thermal_sensors-config" value="" />
-<div id="thermal_sensors-settings" class="widgetconfigdiv" style="display:none;">
- <form action="/widgets/widgets/thermal_sensors.widget.php" method="post" id="thermal_sensors_widget_iform" name="thermal_sensors_widget_iform">
- <table width="100%" border="0" summary="thermal sensors widget">
- <tr>
- <td align="left" colspan="2">
- <span style="font-weight: bold" >Thresholds in &deg;C (1 to 100):</span>
- </td>
- <td align="right" colspan="1">
- <span style="font-weight: bold" >Display settings:</span>
- </td>
- </tr>
- <tr>
- <td align="right">
- Zone Warning:
- </td>
- <td>
- <input type="text" maxlength="3" size="3" class="formfld unknown"
- name="thermal_sensors_widget_zone_warning_threshold"
- id="thermal_sensors_widget_zone_warning_threshold"
- value="<?= $thermal_sensors_widget_zoneWarningTempThreshold; ?>" />
- </td>
- <td align="right">
- <label for="thermal_sensors_widget_show_raw_output">Show raw output (no graph): </label>
- <input type="checkbox"
- id="thermal_sensors_widget_show_raw_output"
- name="thermal_sensors_widget_show_raw_output"
- value="<?= $thermal_sensors_widget_showRawOutput; ?>" <?= ($thermal_sensors_widget_showRawOutput) ? " checked='checked'" : ""; ?> />
- </td>
- </tr>
- <tr>
- <td align="right">
- Zone Critical:
- </td>
- <td>
- <input type="text" maxlength="3" size="3" class="formfld unknown"
- name="thermal_sensors_widget_zone_critical_threshold"
- id="thermal_sensors_widget_zone_critical_threshold"
- value="<?= $thermal_sensors_widget_zoneCriticalTempThreshold; ?>" />
- </td>
- <td align="right">
- <label for="thermal_sensors_widget_show_full_sensor_name">Show full sensor name: </label>
- <input type="checkbox"
- id="thermal_sensors_widget_show_full_sensor_name"
- name="thermal_sensors_widget_show_full_sensor_name"
- value="<?= $thermal_sensors_widget_showFullSensorName; ?>" <?= ($thermal_sensors_widget_showFullSensorName) ? " checked='checked'" : ""; ?> />
- </td>
- </tr>
- <tr>
- <td align="right">
- Core Warning:
- </td>
- <td>
- <input type="text" maxlength="3" size="3" class="formfld unknown"
- name="thermal_sensors_widget_core_warning_threshold"
- id="thermal_sensors_widget_core_warning_threshold"
- value="<?= $thermal_sensors_widget_coreWarningTempThreshold ?>" />
- </td>
- <td align="right">
- <label for="thermal_sensors_widget_pulsate_warning">Pulsate Warning: </label>
- <input type="checkbox"
- id="thermal_sensors_widget_pulsate_warning"
- name="thermal_sensors_widget_pulsate_warning"
- value="<?= $thermal_sensors_widget_pulsateWarning; ?>" <?= ($thermal_sensors_widget_pulsateWarning) ? " checked='checked'" : ""; ?> />
- </td>
- </tr>
- <tr>
- <td align="right">
- Core Critical:
- </td>
- <td>
- <input type="text" maxlength="3" size="3" class="formfld unknown"
- name="thermal_sensors_widget_core_critical_threshold"
- id="thermal_sensors_widget_core_critical_threshold"
- value="<?= $thermal_sensors_widget_coreCriticalTempThreshold ?>" />
- </td>
- <td align="right">
- <label for="thermal_sensors_widget_pulsate_critical">Pulsate Critical: </label>
- <input type="checkbox"
- id="thermal_sensors_widget_pulsate_critical"
- name="thermal_sensors_widget_pulsate_critical"
- value="<?= $thermal_sensors_widget_pulsateCritical; ?>" <?= ($thermal_sensors_widget_pulsateCritical) ? " checked='checked'" : ""; ?> />
- </td>
- </tr>
- <tr>
- <td align="right" colspan="3">
- <input type="submit" id="thermal_sensors_widget_submit" name="thermal_sensors_widget_submit" class="formbtn" value="Save" />
- </td>
- </tr>
- <tr>
- <td align="left" colspan="3">
- <span>* You can configure a proper Thermal Sensor / Module under <br />
- &nbsp;&nbsp;&nbsp;<a href="system_advanced_misc.php">System &gt; Advanced &gt; Miscellaneous : Thermal Sensors section</a>.</span>
- </td>
- </tr>
- </table>
- </form>
-</div>
-
-<div style="padding: 5px">
- <div id="thermalSensorsContainer" class="listr">
- (Updating...)<br /><br />
- </div>
-</div>
-
-<!-- needed to display the widget settings menu -->
-<script type="text/javascript">
-//<![CDATA[
- textlink = jQuery("#thermal_sensors-configure");
- textlink.css({display: "inline"});
-//]]>
-</script>
diff --git a/usr/local/www/widgets/widgets/traffic_graphs.widget.php b/usr/local/www/widgets/widgets/traffic_graphs.widget.php
deleted file mode 100644
index c5f6286..0000000
--- a/usr/local/www/widgets/widgets/traffic_graphs.widget.php
+++ /dev/null
@@ -1,193 +0,0 @@
-<?php
-/*
- traffic_graphs.widget.php
- Copyright (C) 2013-2015 Electric Sheep Fencing, LP
-
- Copyright 2007 Scott Dale
- Part of pfSense widgets (https://www.pfsense.org)
- originally based on m0n0wall (http://m0n0.ch/wall)
-
- Copyright (C) 2004-2005 T. Lechat <dev@lechat.org>, Manuel Kasper <mk@neon1.net>
- and Jonathan Watt <jwatt@jwatt.org>.
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- 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("functions.inc");
-
-$first_time = false;
-if (!is_array($config["widgets"]["trafficgraphs"])) {
- $first_time = true;
- $config["widgets"]["trafficgraphs"] = array();
-}
-$a_config = &$config["widgets"]["trafficgraphs"];
-
-if (!is_array($a_config["shown"])) {
- $a_config["shown"] = array();
-}
-if (!is_array($a_config["shown"]["item"])) {
- $a_config["shown"]["item"] = array();
-}
-
-$ifdescrs = get_configured_interface_with_descr();
-if (isset($config['ipsec']['enable'])) {
- $ifdescrs['enc0'] = "IPsec";
-}
-
-if ($_POST) {
- if (isset($_POST["refreshinterval"])) {
- $a_config["refreshinterval"] = $_POST["refreshinterval"];
- }
- if (isset($_POST["scale_type"])) {
- $a_config["scale_type"] = $_POST["scale_type"];
- }
- $a_config["shown"]["item"] = array();
- foreach ($ifdescrs as $ifname => $ifdescr) {
- $state = $_POST["shown"][$ifname];
- if ($state === "show") {
- $a_config["shown"]["item"][] = $ifname;
- }
- }
- write_config("Updated traffic graph settings via dashboard.");
- header("Location: /");
- exit(0);
-}
-
-$shown = array();
-foreach ($a_config["shown"]["item"] as $if) {
- $shown[$if] = true;
-}
-if ($first_time) {
- $keys = array_keys($ifdescrs);
- $shown[$keys[0]] = true;
-}
-
-if (isset($a_config["refreshinterval"])) {
- $refreshinterval = $a_config["refreshinterval"];
-} else {
- $refreshinterval = 10;
-}
-
-if (isset($a_config["scale_type"])) {
- $scale_type = $a_config["scale_type"];
-} else {
- $scale_type = "up";
-}
-
-?>
-<input type="hidden" id="traffic_graphs-config" name="traffic_graphs-config" value="" />
-
-<div id="traffic_graphs-settings" class="widgetconfigdiv" style="display:none;">
-<form action="/widgets/widgets/traffic_graphs.widget.php" method="post" name="traffic_graphs_widget_iform" id="traffic_graphs_widget_iform">
- <?php foreach ($ifdescrs as $ifname => $ifdescr) { ?>
- <input type="hidden" name="shown[<?= $ifname ?>]" value="<?= $shown[$ifname] ? "show" : "hide" ?>" />
- <?php } ?>
- Default AutoScale:
- <?php
- $scale_type_up="checked=\"checked\"";
- $scale_type_follow="";
- if (isset($config["widgets"]["trafficgraphs"]["scale_type"])) {
- $selected_radio = $config["widgets"]["trafficgraphs"]["scale_type"];
- if ($selected_radio == "up") {
- $scale_type_up = "checked=\"checked\"";
- $scale_type_follow="";
- } else if ($selected_radio == "follow") {
- $scale_type_up="";
- $scale_type_follow = "checked=\"checked\"";
- }
- }
- ?>
- <input name="scale_type" class="radio" type="radio" id="scale_type_up" value="up" <?php echo $scale_type_up; ?> onchange="updateGraphDisplays();" /> <span>up</span>
- <input name="scale_type" class="radio" type="radio" id="scale_type_follow" value="follow" <?php echo $scale_type_follow; ?> onchange="updateGraphDisplays();" /> <span>follow</span><br /><br />
- Refresh Interval:
- <select name="refreshinterval" class="formfld" id="refreshinterval" onchange="updateGraphDisplays();">
- <?php for ($i = 1; $i <= 10; $i += 1) { ?>
- <option value="<?= $i ?>" <?php if ($refreshinterval == $i) echo "selected=\"selected\"";?>><?= $i ?></option>
- <?php } ?>
- </select>&nbsp; Seconds<br />&nbsp; &nbsp; &nbsp; <b>Note:</b> changing this setting will increase CPU utilization<br /><br />
- <input id="traffic_graphs_widget_submit" name="traffic_graphs_widget_submit" type="submit" onclick="return updatePref();" class="formbtn" value="Save Settings" />
-</form>
-</div>
-
-<script type="text/javascript">
-//<![CDATA[
- d = document;
- selectIntLink = "traffic_graphs-configure";
- textlink = d.getElementById(selectIntLink);
- textlink.style.display = "inline";
-//]]>
-</script>
-
-<?php
-$graphcounter = 0;
-foreach ($ifdescrs as $ifname => $ifdescr) {
- $ifinfo = get_interface_info($ifname);
- if ($shown[$ifname]) {
- $mingraphbutton = "inline";
- $showgraphbutton = "none";
- $graphdisplay = "inline";
- $interfacevalue = "show";
- $graphcounter++;
- } else {
- $mingraphbutton = "none";
- $showgraphbutton = "inline";
- $graphdisplay = "none";
- $interfacevalue = "hide";
- }
- if ($ifinfo['status'] != "down") { ?>
- <div id="<?=$ifname;?>trafficdiv" style="padding: 5px">
- <div id="<?=$ifname;?>topic" class="widgetsubheader">
- <div style="float:left;width:49%">
- <span onclick="location.href='/status_graph.php?if=<?=$ifname;?>'" style="cursor:pointer">Current <?=$ifdescr;?> Traffic</span>
- </div>
- <div align="right" style="float:right;width:49%">
- <div id="<?=$ifname;?>graphdiv-min" onclick='return trafficminimizeDiv("<?= $ifname ?>", true);'
- style="display:<?php echo $mingraphbutton;?>; cursor:pointer" ><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_minus.gif" alt="Minimize <?=$ifname;?> traffic graph" /></div>
- <div id="<?=$ifname;?>graphdiv-open" onclick='return trafficshowDiv("<?= $ifname ?>", "<?= rawurlencode($ifdescr); ?>", "<?= $refreshinterval ?>", true);'
- style="display:<?php echo $showgraphbutton;?>; cursor:pointer" ><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_open.gif" alt="Show <?=$ifname;?> traffic graph" /></div>
- </div>
- <div style="clear:both;"></div>
- </div>
- <div id="<?=$ifname;?>graphdiv" style="display:<?php echo $graphdisplay;?>">
-<?php
- // If the graph is already enabled by the config then put the object inside the div now.
- // Otherwise the graph object is inserted by trafficshowDiv JS when the user opens it.
- if ($graphdisplay == "inline") {
-?>
- <object data="graph.php?ifnum=<?=$ifname;?>&amp;ifname=<?=rawurlencode($ifdescr);?>&amp;timeint=<?=$refreshinterval;?>&amp;initdelay=<?=$graphcounter * 2;?>" height="100%" width="100%">
- <param name="id" value="graph" />
- <param name="type" value="image/svg+xml" />
- <param name="pluginspage" value="http://www.adobe.com/svg/viewer/install/auto" />
- </object>
-<?php
- }
-?>
- </div>
- </div>
- <?php }
-}
-?>
diff --git a/usr/local/www/widgets/widgets/wake_on_lan.widget.php b/usr/local/www/widgets/widgets/wake_on_lan.widget.php
deleted file mode 100644
index 9cb760a..0000000
--- a/usr/local/www/widgets/widgets/wake_on_lan.widget.php
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-/*
- wake_on_lan.widget.php
- Copyright (C) 2013-2015 Electric Sheep Fencing, LP
-
- Copyright (C) 2010 Yehuda Katz
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INClUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- 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("/usr/local/www/widgets/include/wake_on_lan.inc");
-
-if (is_array($config['wol']['wolentry'])) {
- $wolcomputers = $config['wol']['wolentry'];
-} else {
- $wolcomputers = array();
-}
-
-?>
-<table width="100%" border="0" cellpadding="0" cellspacing="0" summary="wol status">
- <tr>
- <?php
- echo '<td class="widgetsubheader" align="center">' . gettext("Computer / Device") . '</td>';
- echo '<td class="widgetsubheader" align="center">' . gettext("Interface") . '</td>';
- echo '<td class="widgetsubheader" align="center">' . gettext("Status") . '</td>';
- ?>
- <td class="widgetsubheader">&nbsp;</td>
- </tr>
-<?php
-
-if (count($wolcomputers) > 0) {
- foreach ($wolcomputers as $wolent) {
- echo '<tr><td class="listlr">' . $wolent['descr'] . '<br />' . $wolent['mac'] . '</td>' . "\n";
- echo '<td class="listr">' . convert_friendly_interface_to_friendly_descr($wolent['interface']) . '</td>' . "\n";
-
- $is_active = exec("/usr/sbin/arp -an |/usr/bin/grep {$wolent['mac']}| /usr/bin/wc -l|/usr/bin/awk '{print $1;}'");
- if ($is_active == 1) {
- echo '<td class="listr" align="center">' . "\n";
- echo "<img src=\"/themes/" . $g["theme"] . "/images/icons/icon_pass.gif\" alt=\"pass\" /> " . gettext("Online") . "</td>\n";
- } else {
- echo '<td class="listbg" align="center">' . "\n";
- echo "<img src=\"/themes/" . $g["theme"] . "/images/icons/icon_block.gif\" alt=\"block\" />&nbsp;<font color=\"white\">" . gettext("Offline") . "</font></td>\n";
- }
- echo '<td valign="middle" class="list nowrap">';
- /*if ($is_active) { */
- /* Will always show wake-up button even if pfsense thinks it is awake */
- /* } else { */
- echo "<a href='services_wol.php?mac={$wolent['mac']}&amp;if={$wolent['interface']}'> ";
- echo "<img title='" . gettext("Wake Up") . "' border='0' src='./themes/".$g['theme']."/images/icons/icon_wol_all.gif' alt='wol' /></a>\n";
- /* } */
- echo "</td></tr>\n";
- }
-} else {
- echo "<tr><td colspan=\"4\" align=\"center\">" . gettext("No saved WoL addresses") . ".</td></tr>\n";
-}
-?>
-</table>
-<center><a href="status_dhcp_leases.php" class="navlink">DHCP Leases Status</a></center>
OpenPOWER on IntegriCloud