Sytemoutput.php 3.02 KB
<?php
/**
 * 	This file is part of ncfilters by netz.coop eG.
 * 
 *  Ncfilters 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 3 of the License, or
 *  (at your option) any later version.
 * 
 *  Ncfilters 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 Ncfilters.  If not, see <http://www.gnu.org/licenses/>.
 *  
 *  Diese Datei ist Teil von ncfilters by netz.coop eG.
 *  
 *  Ncfilters ist Freie Software: Sie können es unter den Bedingungen
 *  der GNU General Public License, wie von der Free Software Foundation,
 *  Version 3 der Lizenz oder (nach Ihrer Wahl) jeder späteren
 *  veröffentlichten Version, weiterverbreiten und/oder modifizieren.
 *  
 *  Ncfilters wird in der Hoffnung, dass es nützlich sein wird, aber
 *  OHNE JEDE GEWÄHRLEISTUNG, bereitgestellt; sogar ohne die implizite
 *  Gewährleistung der MARKTFÄHIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK.
 *  Siehe die GNU General Public License für weitere Details.
 *  
 *  Sie sollten eine Kopie der GNU General Public License zusammen mit diesem
 *  Programm erhalten haben. Wenn nicht, siehe <http://www.gnu.org/licenses/>.
 * 
 */

/**
 * Sytemoutput
 * Output to files or System calls
 * 
 * @author kontakt@nc
 */

class Sytemoutput {
	
	public function createfw($array_pclistgroups){
		$i=0;
		file_put_contents(FWFILENAME, PHP_EOL);
		foreach($array_pclistgroups as $key =>$value){
			if($value['open']==='0'){
	//			file_put_contents(FWFILENAME,''.$value['ip'].'\n',FILE_APPEND);
	// by Heiko		}else if($value['open']==='0' ||  $value['open']==='off' ){
				}else if($value['open']==='1' ||  $value['open']==='on' ){
				
				if($i===0){
					
					file_put_contents(FWFILENAME,'iptables  -t nat -A PREROUTING --src '.$value['ip'].' -i eth1 -p udp --dport  53 -j REDIRECT --to-port 5335 '. PHP_EOL);			
				}else{
					file_put_contents(FWFILENAME,'iptables  -t nat -A PREROUTING --src '.$value['ip'].' -i eth1 -p udp --dport  53 -j REDIRECT --to-port 5335 '. PHP_EOL ,FILE_APPEND);			
				}
				file_put_contents(FWFILENAME,'iptables  -t nat -A PREROUTING --src '.$value['ip'].' -i eth1 -p tcp --dport  53 -j REDIRECT --to-port 5335 '. PHP_EOL ,FILE_APPEND);			
			} 
			$i++;
		}
	}
	
	public function createhosts($array_pclistgroups){
		file_put_contents(DNSFILENAME, PHP_EOL);
		$i=0;
		
		foreach($array_pclistgroups as $key =>$value){
			if($value['open']==='0'){

			}else if($value['enable']==='1' ||  $value['enable']==='on' ){
				if($i===0){
					file_put_contents(DNSFILENAME,'address=/'.$value['url'].'/'.$value['ip'] .PHP_EOL );
				}else{
					file_put_contents(DNSFILENAME,'address=/'.$value['url'].'/'.$value['ip'] .PHP_EOL ,FILE_APPEND);
				}
					
			} 
			$i++;
		}
	}
	
}