aboutsummaryrefslogtreecommitdiffstats
path: root/config/vnstat2/vnstat2.inc
diff options
context:
space:
mode:
Diffstat (limited to 'config/vnstat2/vnstat2.inc')
-rw-r--r--config/vnstat2/vnstat2.inc274
1 files changed, 136 insertions, 138 deletions
diff --git a/config/vnstat2/vnstat2.inc b/config/vnstat2/vnstat2.inc
index c875be52..ca8d869d 100644
--- a/config/vnstat2/vnstat2.inc
+++ b/config/vnstat2/vnstat2.inc
@@ -1,15 +1,16 @@
<?php
+
require_once("util.inc");
+
function vnstat_install_deinstall() {
conf_mount_rw();
global $config;
-// Remove Vnstat package and files
+ // Remove Vnstat package and files
exec("rm -d -R /usr/local/www/vnstat2");
exec("rm -d -R /usr/local/www/vnstati");
exec("rm -d -R /usr/local/pkg/vnstat2");
exec("rm /usr/local/etc/vnstat.conf");
-
-// Remove vnstat cron entry from config.xml
+ // Remove vnstat cron entry from config.xml
vnstat2_install_cron(false);
conf_mount_ro();
}
@@ -17,11 +18,12 @@ function vnstat_install_deinstall() {
function vnstat2_install_cron($vnstat_cron_value) {
global $config;
$is_installed = false;
- if(!$config['cron']['item'])
+ if (!$config['cron']['item']) {
return;
+ }
$x=0;
foreach($config['cron']['item'] as $item) {
- if(strstr($item['command'], "/usr/local/pkg/vnstat2/vnstat2.sh")) {
+ if (strstr($item['command'], "/usr/local/pkg/vnstat2/vnstat2.sh")) {
$is_installed = true;
break;
}
@@ -29,23 +31,23 @@ function vnstat2_install_cron($vnstat_cron_value) {
}
switch($vnstat_cron_value) {
case true:
- if(!$is_installed) {
+ if (!$is_installed) {
$cron_item = array();
$cron_item['minute'] = "*/1";
- $cron_item['hour'] = "*";
- $cron_item['mday'] = "*";
- $cron_item['month'] = "*";
- $cron_item['wday'] = "*";
- $cron_item['who'] = "root";
- $cron_item['command'] = "/usr/local/pkg/vnstat2/vnstat2.sh";
- $config['cron']['item'][] = $cron_item;
+ $cron_item['hour'] = "*";
+ $cron_item['mday'] = "*";
+ $cron_item['month'] = "*";
+ $cron_item['wday'] = "*";
+ $cron_item['who'] = "root";
+ $cron_item['command'] = "/usr/local/pkg/vnstat2/vnstat2.sh";
+ $config['cron']['item'][] = $cron_item;
write_config();
configure_cron();
}
break;
case false:
- if($is_installed == true) {
- if($x > 0) {
+ if ($is_installed == true) {
+ if ($x > 0) {
unset($config['cron']['item'][$x]);
write_config();
}
@@ -55,8 +57,7 @@ function vnstat2_install_cron($vnstat_cron_value) {
}
}
-
-function change_vnstat_conf(){
+function change_vnstat_conf() {
conf_mount_rw();
global $config;
$config['installedpackages']['vnstat2']['config'][0]['monthrotate'] = $_POST['monthrotate'];
@@ -64,21 +65,19 @@ function change_vnstat_conf(){
write_conf_f();
write_config();
- if ($config['installedpackages']['vnstat2']['config'][0]['vnstat_phpfrontend'] == "on"){
- vnstat_php_frontend();
- }
- else {
- exec("[ -d /usr/local/www/vnstat2 ] && rm -d -R /usr/local/www/vnstat2");
+ if ($config['installedpackages']['vnstat2']['config'][0]['vnstat_phpfrontend'] == "on") {
+ vnstat_php_frontend();
+ } else {
+ exec("[ -d /usr/local/www/vnstat2 ] && rm -d -R /usr/local/www/vnstat2");
}
conf_mount_ro();
}
-function write_conf_f(){
+function write_conf_f() {
global $config;
$monthrotate = $config['installedpackages']['vnstat2']['config'][0]['monthrotate'];
-// ************ Write new vnstat.conf *****************
-
+ // ************ Write new vnstat.conf *****************
$vnstat_conf_file = <<<EOF
# vnStat 1.10 config file
##
@@ -108,9 +107,9 @@ CTxD "-"
EOF;
$hf2 = fopen("/usr/local/etc/vnstat.conf","w");
- if(!$hf2) {
- log_error("could not open /usr/local/etc/vnstat.conf for writing");
- exit;
+ if (!$hf2) {
+ log_error("could not open /usr/local/etc/vnstat.conf for writing");
+ exit;
}
fwrite($hf2, $vnstat_conf_file);
fclose($hf2);
@@ -145,7 +144,7 @@ function create_vnstat_output() {
}
function vnstat_link_config() {
-// Check for pbi install and arch type then create symlinks
+ // Check for pbi install and arch type then create symlinks
if (file_exists('/usr/pbi/vnstat-' . php_uname("m"))) {
$conf_path = "/usr/local/etc/vnstat.conf";
$pbi_conf_path = "/usr/pbi/vnstat-" . php_uname("m") . "/etc/vnstat.conf";
@@ -179,14 +178,14 @@ function vnstat_create_nic_dbs() {
foreach ($leftovers as $nic) {
exec("/usr/local/bin/vnstat -u -i ". escapeshellarg($nic));
}
-
conf_mount_ro();
}
function vnstat_install_config() {
$vnstat_db_prefix = "/conf/vnstat";
+ global $config;
conf_mount_rw();
-// Create vnstat database dir where it also will work for nanobsd
+ // Create vnstat database dir where it also will work for nanobsd
if (is_dir("/usr/local/pkg/vnstat2/vnstat")) {
@rename("/usr/local/pkg/vnstat2/vnstat", $vnstat_db_prefix);
}
@@ -194,141 +193,140 @@ function vnstat_install_config() {
@mkdir($vnstat_db_prefix);
}
vnstat_link_config();
-// Add MonthRotate value to config.xml and write /usr/local/etc/vnstat.conf
- if ($config['installedpackages']['vnstat2']['config'][0]['monthrotate'] == ""){
+ // Add MonthRotate value to config.xml and write /usr/local/etc/vnstat.conf
+ if ($config['installedpackages']['vnstat2']['config'][0]['monthrotate'] == "") {
$config['installedpackages']['vnstat2']['config'][0]['monthrotate'] = "1";
}
- if ($config['installedpackages']['vnstat2']['config'][0]['vnstat_phpfrontend'] == "on"){
+ if ($config['installedpackages']['vnstat2']['config'][0]['vnstat_phpfrontend'] == "on") {
vnstat_php_frontend();
}
write_conf_f();
-// Add cron job to config.xml
+ // Add cron job to config.xml
vnstat2_install_cron(true);
vnstat_create_nic_dbs();
write_config();
conf_mount_ro();
}
-function vnstat_php_frontend(){
+function vnstat_php_frontend() {
global $config;
-// Copy vnstat_php_frontend to www
+ // Copy vnstat_php_frontend to www
exec("/bin/cp -a /usr/local/pkg/vnstat2/vnstat_php_frontend/. /usr/local/www/vnstat2/");
-// Find information to be writing in config.php
+ // Find information to be writing in config.php
// $iface_list_array_items
- exec("ls /conf/vnstat/ | grep -v '\.'", $vnstat_nic_in);
- $iface_list_array_items = implode("', '", $vnstat_nic_in);
- $iface_list_array = "\$iface_list = array('$iface_list_array_items');";
- // $iface_title_array_items
- $iface_title_array_items = array();
- $iface_title_array_items2 = array();
- foreach ($vnstat_nic_in as $vnstat_nic_out)
- {
- $ifdescrs = array('wan' => 'WAN', 'lan' => 'LAN');
+ exec("ls /conf/vnstat/ | grep -v '\.'", $vnstat_nic_in);
+ $iface_list_array_items = implode("', '", $vnstat_nic_in);
+ $iface_list_array = "\$iface_list = array('$iface_list_array_items');";
+ // $iface_title_array_items
+ $iface_title_array_items = array();
+ $iface_title_array_items2 = array();
+ foreach ($vnstat_nic_in as $vnstat_nic_out) {
+ $ifdescrs = array('wan' => 'WAN', 'lan' => 'LAN');
for ($j = 1; isset($config['interfaces']['opt' . $j]); $j++) {
$ifdescrs['opt' . $j] = $config['interfaces']['opt' . $j]['descr'];
}
- foreach ($ifdescrs as $ifdescr => $ifname):
- $real_nic_names3 = get_real_interface($ifdescr);
- If ($real_nic_names3 == $vnstat_nic_out)
- {
- $ifname_out = convert_friendly_interface_to_friendly_descr($ifdescr);
- $iface_title_array_items = "\$iface_title['$vnstat_nic_out'] = '$ifname_out';\n";
- array_push($iface_title_array_items2, $iface_title_array_items);
- }
- endforeach;
+ foreach ($ifdescrs as $ifdescr => $ifname) {
+ $real_nic_names3 = get_real_interface($ifdescr);
+ if ($real_nic_names3 == $vnstat_nic_out) {
+ $ifname_out = convert_friendly_interface_to_friendly_descr($ifdescr);
+ $iface_title_array_items = "\$iface_title['$vnstat_nic_out'] = '$ifname_out';\n";
+ array_push($iface_title_array_items2, $iface_title_array_items);
+ }
+ }
}
- $iface_title_array = implode($iface_title_array_items2);
+ $iface_title_array = implode($iface_title_array_items2);
// php in php static items
// added to new items for the front end version 1.5.1
- $locale = "\$locale = 'en_US.UTF-8';";
- $language = "\$language = 'en';";
- $vnstat_bin2 = "\$vnstat_bin = '/usr/local/bin/vnstat';";
- $data_dir2 = "\$data_dir = './dumps';";
- $graph_format2 ="\$graph_format='svg';";
- $colorscheme2 = "\$colorscheme['light'] = array(";
- $colorscheme3 = "\$colorscheme['red'] = array(";
- $colorscheme4 = "\$colorscheme['pfSense'] = array(";
-// ************ Write new config.php ******************
- $config_file = <<<EOF
+ $locale = "\$locale = 'en_US.UTF-8';";
+ $language = "\$language = 'en';";
+ $vnstat_bin2 = "\$vnstat_bin = '/usr/local/bin/vnstat';";
+ $data_dir2 = "\$data_dir = './dumps';";
+ $graph_format2 ="\$graph_format='svg';";
+ $colorscheme2 = "\$colorscheme['light'] = array(";
+ $colorscheme3 = "\$colorscheme['red'] = array(";
+ $colorscheme4 = "\$colorscheme['pfSense'] = array(";
+ // ************ Write new config.php ******************
+ $config_file = <<<EOF
<?php
- //
- // vnStat PHP frontend 1.5.1 (c)2006-2008 Bjorge Dijkstra (bjd@jooz.net)
- //
- // This program is free software; you can redistribute it and/or modify
- // it under the terms of the GNU General Public License as published by
- // the Free Software Foundation; either version 2 of the License, or
- // (at your option) any later version.
- //
- // This program is distributed in the hope that it will be useful,
- // but WITHOUT ANY WARRANTY; without even the implied warranty of
- // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- // GNU General Public License for more details.
- //
- // You should have received a copy of the GNU General Public License
- // along with this program; if not, write to the Free Software
- // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- //
- //
- // see file COPYING or at http://www.gnu.org/licenses/gpl.html
- // for more information.
- //
- //error_reporting(E_ALL | E_NOTICE);
-
- //
- // configuration parameters
- //
- // edit these to reflect your particular situation
- //
-$locale
-$language
- // list of network interfaces monitored by vnStat
-$iface_list_array
+ //
+ // vnStat PHP frontend 1.5.1 (c)2006-2008 Bjorge Dijkstra (bjd@jooz.net)
+ //
+ // This program is free software; you can redistribute it and/or modify
+ // it under the terms of the GNU General Public License as published by
+ // the Free Software Foundation; either version 2 of the License, or
+ // (at your option) any later version.
+ //
+ // This program is distributed in the hope that it will be useful,
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ // GNU General Public License for more details.
+ //
+ // You should have received a copy of the GNU General Public License
+ // along with this program; if not, write to the Free Software
+ // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ //
+ //
+ // see file COPYING or at http://www.gnu.org/licenses/gpl.html
+ // for more information.
+ //
+ //error_reporting(E_ALL | E_NOTICE);
- //
- // optional names for interfaces
- // if there's no name set for an interface then the interface identifier
- // will be displayed instead
-$iface_title_array
+ //
+ // configuration parameters
+ //
+ // edit these to reflect your particular situation
+ //
+ $locale
+ $language
+ // list of network interfaces monitored by vnStat
+ $iface_list_array
- //
- // There are two possible sources for vnstat data. If the
- // variable is set then vnstat is called directly from the PHP script
- // to get the interface data.
- //
- // The other option is to periodically dump the vnstat interface data to
- // a file (e.g. by a cronjob). In that case the variable
- // must be cleared and set to the location where the dumps
- // are stored. Dumps must be named 'vnstat_dump_'.
- //
- // You can generate vnstat dumps with the command:
- // vnstat --dumpdb -i > /path/to/data_dir/vnstat_dump_
- //
-$vnstat_bin2
-$data_dir2
+ //
+ // optional names for interfaces
+ // if there's no name set for an interface then the interface identifier
+ // will be displayed instead
+ $iface_title_array
- // graphics format to use: svg or png
-$graph_format2
-
- // Font to use for PNG graphs
- define('GRAPH_FONT',dirname(__FILE__).'/VeraBd.ttf');
+ //
+ // There are two possible sources for vnstat data. If the
+ // variable is set then vnstat is called directly from the PHP script
+ // to get the interface data.
+ //
+ // The other option is to periodically dump the vnstat interface data to
+ // a file (e.g. by a cronjob). In that case the variable
+ // must be cleared and set to the location where the dumps
+ // are stored. Dumps must be named 'vnstat_dump_'.
+ //
+ // You can generate vnstat dumps with the command:
+ // vnstat --dumpdb -i > /path/to/data_dir/vnstat_dump_
+ //
+ $vnstat_bin2
+ $data_dir2
- // Font to use for SVG graphs
- define('SVG_FONT', 'Verdana');
+ // graphics format to use: svg or png
+ $graph_format2
- // color schemes
- // colors are defined as R,G,B,ALPHA quads where R, G and B range from 0-255
- // and ALPHA from 0-127 where 0 is opaque and 127 completely transparent.
- //
- define('DEFAULT_COLORSCHEME', 'pfSense');
+ // Font to use for PNG graphs
+ define('GRAPH_FONT',dirname(__FILE__).'/VeraBd.ttf');
+
+ // Font to use for SVG graphs
+ define('SVG_FONT', 'Verdana');
+
+ // color schemes
+ // colors are defined as R,G,B,ALPHA quads where R, G and B range from 0-255
+ // and ALPHA from 0-127 where 0 is opaque and 127 completely transparent.
+ //
+ define('DEFAULT_COLORSCHEME', 'pfSense');
?>
EOF;
- $hf = fopen("/usr/local/www/vnstat2/config.php","w");
- if(!$hf) {
- log_error("could not open /usr/local/www/vnstat2/config.php for writing");
- exit;
- }
- fwrite($hf, $config_file);
- fclose($hf);
+ $hf = fopen("/usr/local/www/vnstat2/config.php","w");
+ if (!$hf) {
+ log_error("could not open /usr/local/www/vnstat2/config.php for writing");
+ exit;
+ }
+ fwrite($hf, $config_file);
+ fclose($hf);
}
+
?>