Connectdb.php 3.62 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/>.
 * 
 */

/**
 * Description of Connectdb
 *
 * @author nc
 */
class Connectdb  extends SQLite3

{
	public function __construct()
    {
        $this->open(DBFILE);
    }
	
	/**
	 * Get Data for Firewall setup
	 * @return array()
	 */
	
	public function getpclistgroupsarray(){	
		$result = $this->query('SELECT * from pclist as p INNER JOIN groups as g ON p.group_id = g.group_id;');
		$ary_content = array();
		$i = 0;
		while ($res = $result->fetchArray(SQLITE3_ASSOC)) {
			foreach ($res as $key => $value) {
				$ary_content[$i][$key] .= $value;
			}
			$i++;
		}
		return $ary_content;
	}
	
	/**
	 * Get Data for hosts.open setup
	 * @return array()
	 */
	public function getdomaingroupsarray(){
		$result = $this->query('SELECT *  from domains;');
		$ary_content = array();
		$i = 0;
		while ($res = $result->fetchArray(SQLITE3_ASSOC)) {
			foreach ($res as $key => $value) {
				$ary_content[$i][$key] .= $value;
			}
			$i++;
		}
		return $ary_content;
	}
	
	
	public function cleanstringfromspecial($string,$password){
		$string = str_replace(' ', '-', $string); // Replaces all spaces with hyphens.
		return preg_replace('/[^A-Za-z0-9\-]/', '', $string);
	}
	
	public function getUserpassword($name,$password){
		
		$login=false;
		$result = $this->query('SELECT * from nclistsuser');
		$ary_content = array();
		while ($res = $result->fetchArray(SQLITE3_ASSOC)) {
			if($res[0]['name'] === $string ){
				foreach ($res as $key => $value) {
					$ary_content[$key] .= $value;
				}
			}
			
		}
		
		$loginname=$ary_content['name'];
		$loginpasswordcrypt=$ary_content['password'];
		$gehashtes_passwort = crypt($password,$loginpasswordcrypt);
	
		if( $loginname && $loginpasswordcrypt === $gehashtes_passwort ){
//				echo '$gehashtes_passwort: '.$loginpasswordcrypt .' '.$gehashtes_passwort;
			$login = true;
		}
		
		
		return $login;
	}
	
	public function getgroupids(){
		$result = $this->query('SELECT *  from groups;');
		$ary_content = array();
		$i = 0;
		while ($res = $result->fetchArray(SQLITE3_ASSOC)) {
			$group_id=$res['group_id'];
			foreach ($res as $key => $value) {
				
				$ary_content[$group_id][$key] .= $value;
			}
			$i++;
		}
		return $ary_content;
	}

}