aboutsummaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/vnstat/vnstat.inc231
1 files changed, 0 insertions, 231 deletions
diff --git a/config/vnstat/vnstat.inc b/config/vnstat/vnstat.inc
deleted file mode 100644
index 90adbfbc..00000000
--- a/config/vnstat/vnstat.inc
+++ /dev/null
@@ -1,231 +0,0 @@
-<?php
-function vnstat_install_deinstall() {
- conf_mount_rw();
- global $config;
-// Remove Vnstat package and files
- exec("cd /var/db/pkg/ && pkg_delete `ls | grep vnstat`");
- exec("rm -d -R /usr/local/www/vnstat");
-// Remove vnstat cron entry from config.xml
- $task_key = '/usr/local/bin/vnstat -u';
- $x_name='';
- $x=0;
- foreach($config['cron']['item'] as $item) {
- if($item['command']==$task_key) {
- $x_name = $x;
- }
- $x++;
- }
- unset($x);
- if($x_name > 0)
- {
- unset($config['cron']['item'][$x_name]);
- write_config();
- }
- configure_cron();
- conf_mount_ro();
-}
-
-function vnstat_install_config() {
- global $config;
- conf_mount_rw();
-// Unpack and move Vnstat frontend
- exec("cd ..");
- exec("tar -zxovf /usr/local/pkg/vnstat_php_frontend-1.4.1.tar.gz");
- exec("mv vnstat_php_frontend-1.4.1 /usr/local/www/vnstat");
-// Add cron job to config.xml
- $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/bin/vnstat -u";
- $config['cron']['item'][] = $cron_item;
-// get system nic's and create a database for them
- $array_of_real_nic_names = array();
- $array_of_custom_nic_names = array();
- $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):
- $ifinfo = get_interface_info($ifdescr);
- $real_nic_names = convert_friendly_interface_to_real_interface_name($ifname);
- array_push($array_of_real_nic_names, $real_nic_names);
- endforeach;
- // Get already nic's assigned to vnstat
- exec("ls /var/db/vnstat/ | grep -v '\.'", $vnstat_nic);
- // Compare real nic's with nic's assigned to vnstat
- $result = array_diff($array_of_real_nic_names, $vnstat_nic);
- // Create database for each nic
- foreach ($result as $result2)
- {
- exec("/usr/local/bin/vnstat -u -i ". $result2);
- }
-// Find information to be writing in config.php
- // $iface_list_array_items
- exec("ls /var/db/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 = convert_friendly_interface_to_real_interface_name($ifname);
- If ($real_nic_names3 == $vnstat_nic_out)
- {
- $ifname_out = $ifname;
- $iface_title_array_items = "\$iface_title['$vnstat_nic_out'] = '$ifname_out';\n";
- array_push($iface_title_array_items2, $iface_title_array_items);
- }
- endforeach;
- }
- $iface_title_array = implode($iface_title_array_items2);
- // php in php static items
- $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.4.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
- //
-
- // list of network interfaces monitored by vnStat
-$iface_list_array
-
- //
- // optional names for interfaces
- // if there's no name set for an interface then the interface identifier
- // will be displayed instead
-$iface_title_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
-
- // graphics format to use: svg or png
-$graph_format2
-
- // 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');
-
- $colorscheme2
- 'stylesheet' => 'vnstat.css',
- 'image_background' => array( 255, 255, 255, 0 ),
- 'graph_background' => array( 220, 220, 230, 0 ),
- 'graph_background_2' => array( 205, 205, 220, 0 ),
- 'grid_stipple_1' => array( 140, 140, 140, 0 ),
- 'grid_stipple_2' => array( 200, 200, 200, 0 ),
- 'border' => array( 0, 0, 0, 0 ),
- 'text' => array( 0, 0, 0, 0 ),
- 'rx' => array( 190, 190, 20, 50 ),
- 'rx_border' => array( 40, 80, 40, 90 ),
- 'tx' => array( 130, 160, 100, 50 ),
- 'tx_border' => array( 80, 40, 40, 90 )
- );
-
- // A red colorscheme based on a contribution by Enrico Tröger
- $colorscheme3
- 'stylesheet' => 'vnstat_red.css',
- 'image_background' => array( 225, 225, 225, 0 ),
- 'graph_background' => array( 220, 220, 230, 0 ),
- 'graph_background_2' => array( 205, 205, 220, 0 ),
- 'grid_stipple_1' => array( 140, 140, 140, 0 ),
- 'grid_stipple_2' => array( 200, 200, 200, 0 ),
- 'border' => array( 0, 0, 0, 0 ),
- 'text' => array( 0, 0, 0, 0 ),
- 'rx' => array( 190, 20, 20, 50 ),
- 'rx_border' => array( 80, 40, 40, 90 ),
- 'tx' => array( 130, 130, 130, 50 ),
- 'tx_border' => array( 60, 60, 60, 90 )
- );
-
- // A red colorscheme based on a contribution by Perry Mason
- $colorscheme4
- 'stylesheet' => 'vnstat_pfSense.css',
- 'image_background' => array( 240, 240, 240, 0 ),
- 'graph_background' => array( 255, 255, 255, 0 ),
- 'graph_background_2' => array( 255, 255, 255, 0 ),
- 'grid_stipple_1' => array( 144, 0, 0, 0 ),
- 'grid_stipple_2' => array( 144, 0, 0, 0 ),
- 'border' => array( 0, 0, 0, 0 ),
- 'text' => array( 0, 0, 0, 0 ),
- 'rx' => array( 190, 20, 20, 50 ),
- 'rx_border' => array( 80, 40, 40, 90 ),
- 'tx' => array( 130, 130, 130, 50 ),
- 'tx_border' => array( 60, 60, 60, 90 )
- );
-?>
-EOF;
-
- $hf = fopen("/usr/local/www/vnstat/config.php","w");
- if(!$hf) {
- log_error("could not open /usr/local/www/vnstat/config.php for writing");
- exit;
- }
- fwrite($hf, $config_file);
- fclose($hf);
- write_config();
- configure_cron();
- conf_mount_ro();
-}
-?> \ No newline at end of file