tbrehm
2010-06-16 e28564dbde4f922a6a8263e3dea32d56b60b5b5b
server/plugins-available/firewall_plugin.inc.php
@@ -1,7 +1,7 @@
<?php
/*
Copyright (c) 2008, Till Brehm, projektfarm Gmbh
Copyright (c) 2007, Till Brehm, projektfarm Gmbh
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
@@ -32,6 +32,15 @@
   
   var $plugin_name = 'firewall_plugin';
   var $class_name  = 'firewall_plugin';
   //* This function is called during ispconfig installation to determine
   //  if a symlink shall be created for this plugin.
   function onInstall() {
      global $conf;
      return true;
   }
   
      
   /*
@@ -70,8 +79,13 @@
      $ports = explode(',',$data["new"]["tcp_port"]);
      if(is_array($ports)) {
         foreach($ports as $p) {
            $p_int = intval($p);
            if($p_int > 0) $tcp_ports .= $p_int . ' ';
            if(strstr($p,':')) {
               $p_parts = explode(':',$p);
               $p_clean = intval($p_parts[0]).':'.intval($p_parts[1]);
            } else {
               $p_clean = intval($p);
            }
            $tcp_ports .= $p_clean . ' ';
         }
      }
      $tcp_ports = trim($tcp_ports);
@@ -79,13 +93,18 @@
      $ports = explode(',',$data["new"]["udp_port"]);
      if(is_array($ports)) {
         foreach($ports as $p) {
            $p_int = intval($p);
            if($p_int > 0) $udp_ports .= $p_int . ' ';
            if(strstr($p,':')) {
               $p_parts = explode(':',$p);
               $p_clean = intval($p_parts[0]).':'.intval($p_parts[1]);
            } else {
               $p_clean = intval($p);
            }
            $udp_ports .= $p_clean . ' ';
         }
      }
      $udp_ports = trim($udp_ports);
      
      $app->load('tpl');
      $tpl = new tpl();
      $tpl->newTemplate("bastille-firewall.cfg.master");
      
@@ -102,7 +121,7 @@
         $app->log('Restarting the firewall',LOGLEVEL_DEBUG);
      } else {
         exec('/etc/init.d/bastille-firewall stop');
         if(@is_file('/etc/debian_version')) exec('update-rc.d bastille-firewall remove');
         if(@is_file('/etc/debian_version')) exec('update-rc.d -f bastille-firewall remove');
         $app->log('Stopping the firewall',LOGLEVEL_DEBUG);
      }
      
@@ -113,7 +132,7 @@
      global $app, $conf;
      
      exec('/etc/init.d/bastille-firewall stop');
      if(@is_file('/etc/debian_version')) exec('update-rc.d bastille-firewall remove');
      if(@is_file('/etc/debian_version')) exec('update-rc.d -f bastille-firewall remove');
      $app->log('Stopping the firewall',LOGLEVEL_DEBUG);
      
   }