diff options
Diffstat (limited to 'config')
-rw-r--r-- | config/vnstat/vnstat.inc | 231 |
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 |