<?php	
/*
	CMS ,,Black Min''  Został stworzony przez di_Timonix'a
	
	ten plik służy do aktulizowania bazy danych black min'a i pobierania informacji o bazie danych
	
	operowanie na plikach db(sql)
	
	Black Min cms,
	
	#plik: 1.1
*/

class db_bm {
	
	// zmiena potwierdzająca poprawność aktulizacji db
	protected $spr_pop_query = "0";

	// funkcjia aktulizująca bazę danych mysql
	private function aktulizuj_baze_danych_black_min($sql){
		
		// pobieranie dancyh do tablicy po ( ; )
		$aktulizacja_db = explode(";", $sql);
		
		// zliczanie tabel do zaktulizowania db
		$aktulizacja_db_zlicz = count($aktulizacja_db);
		$aktulizacja_db_zlicz = $aktulizacja_db_zlicz-2;
		
		global $host, $db_user, $db_password, $db_name, $prefix_table, $polaczenie, $rezultat, $date, $date2, $date3, $date4, $time, $time2;
		
		mysqli_report(MYSQLI_REPORT_STRICT);
		
		try 
		{
			$polaczenie = new mysqli($host, $db_user, $db_password, $db_name);
			if ($polaczenie->connect_errno!=0)
			{
				throw new Exception(mysqli_connect_errno());
			}
			else
			{		
				mysqli_query($polaczenie, "SET CHARSET utf8");
				mysqli_query($polaczenie, "SET NAMES 'utf8' COLLATE 'utf8_unicode_ci'");	
	
				// pętla powtarzająca aktulizacjie poszczególnych tabel #noob_gas
				for($i = 1; $i < $aktulizacja_db_zlicz; $i++){				

					// zamienianie tagu BLACK MIN'A na prefix tabeli bm
					$aktulizacja_db_rep = str_replace("||prefix_blackmin_table|/|", $prefix_table, $aktulizacja_db[$i]);

					if ($rezultat = $polaczenie->query(sprintf($aktulizacja_db_rep))) {
						
						// dodawanie jednego punktu do walidacji
						$this->spr_pop_query++; 
						
					};	
				
				}
				
				// sprawdzanie poprawnośći aktulizowanych danych
				if($this->spr_pop_query != $aktulizacja_db_zlicz-1){
					return false;
				}
				
				$polaczenie->close();
			}
			
		}
		catch(Exception $e)
		{
			echo '<span style="color:red;">Błąd serwera! Przepraszamy za niedogodności i prosimy o powtórzenie działań póżniej!</span>';
			//echo '<br />Informacja developerska: '.$e;
			return false;
		}	
		
		return true;
		
	}

	// funkcjia na aktulizowanie bazy danych MySql (blackmin)
	public function aktulizacja_db_bm($dv){
		
		if (db_bm::aktulizuj_baze_danych_black_min($dv) !== TRUE) {
			// zwracanie błędu aktulizacjią black mina
			return "error";
			exit();
		}else{
			// zwracanie potwierdzenia zaktulizowanie bazy danych mysql 
			return "success";
		}
	}
}

?>