<?php	
/*
	CMS ,,Black Min''  Został stworzony przez di_Timonix'a
	
	ten plik służy do pobrania informacji o tokenach i potwierdzenie ich w db bm.timonix
	
	@token_access - tokeny służą do potwiedzenia i autoryzacji kodu bm // 
	
	load informacji o tokenach
	
	Black Min cms,
	
	#plik: 1.0
*/

	class blackmin_token_access{
		
		// ustawianie zmienych tokenowych do potwierdzenia #timonix_bełt
		// black min
		private $aupt_token = [];
		// motywy
		private $amup_token = [];
		// pluginy
		private $patt_token = [];
		
		public function get_theme_amup($amup, $name, $autor){
			$amub_token_shem = [
				"amup" => $amup,
				"name"  => $name,
				"autor" => $autor,
			];			
			
			array_push($this->amup_token, $amub_token_shem);
		}

		public function get_plugin_patt($patt, $name, $autor){
			$aupt_token_shem = [
				"patt" => $patt,
				"name"  => $name,
				"autor" => $autor,
			];			
			array_push($this->aupt_token, $aupt_token_shem);
		}

		public function get_bm_aupt($pr_aupt, $pu_aupt, $acc, $host){
			$aupt_token_shem = [
				"pu_aupt" => $pu_aupt,
				"pr_aupt"  => $pr_aupt,
				"acc" => $acc,
				"host" => $host,
			];			
			array_push($this->aupt_token, $aupt_token_shem);
		}
		
		// potwierdzanie aupt black mina
		
		private function check_amup_bm(){
			
			// informacjia o hośćie
			$host_bm = $_SERVER['HTTP_HOST'];
			
			// wyłączenie sprawdzania dla lakalnego hosu :D #bo po co?
			if($host_bm != "localhost"){

				// kodowanie informacji do wysłania
				$check = json_encode($this->amup_token);
				$check = urlencode($check); 

				// wysyłanie kluczy do sprawdzenia
				$rezult = @file_get_contents("https://panel.timonix.pl/blackmin/sprawdz/check_amup.php?h=$host_bm&amup=$check");
					
				if($rezult == true){
					$rezult = urldecode($rezult);
					return json_decode($rezult, true);
				}else{
					return "false";
				}
			
			}else{
				return $host_bm;
			}
			
		}

		// potwierdzanie patt black mina
		
		private function check_patt_bm(){
			
			// informacjia o hośćie
			$host_bm = $_SERVER['HTTP_HOST'];
			
			// wyłączenie sprawdzania dla lakalnego hosu :D #bo po co?
			if($host_bm != "localhost"){
			
				// kodowanie informacji do wysłania
				$check = json_encode($this->patt_token);
				$check = urlencode($check); 

				// wysyłanie kluczy do sprawdzenia
				$rezult = @file_get_contents("https://panel.timonix.pl/blackmin/sprawdz/check_patt.php?h=$host_bm&patt=$check");
					
				if($rezult == true){
					$rezult = urldecode($rezult);
					return json_decode($rezult, true);
				}else{
					return "false";
				}
			
			}else{
				return $host_bm;
			}
			
		}

		// potwierdzanie aupt black mina
		
		private function check_aupt_bm(){
			
			// informacjia o hośćie
			$host_bm = $_SERVER['HTTP_HOST'];
			
			// wyłączenie sprawdzania dla lakalnego hosu :D #bo po co?
			if($host_bm != "localhost"){
			
				// kodowanie informacji do wysłania
				$check = json_encode($this->aupt_token);
				$check = urlencode($check); 

				// wysyłanie kluczy do sprawdzenia
				$rezult = @file_get_contents("https://panel.timonix.pl/blackmin/sprawdz/check_aupt.php?h=$host_bm&aupt=$check");
					
				if($rezult == true){
					$rezult = urldecode($rezult);
					return json_decode($rezult, true);
				}else{
					return "false";
				}
			
			}else{
				return $host_bm;
			}
			
		}
		
		// pobieranie informacji o tokenach 
		// get amup
		
		public function get_amup_info(){
			$amup_return = blackmin_token_access::check_amup_bm();
			
			// wyłączenie sprawdzania dla lakalnego hosu :D #bo po co?
			if($amup_return != "localhost"){
			
				$amup_return_zlciz = count($amup_return);
				
				if($amup_return != "false"){
					if($amup_return_zlciz == 0){
						echo '
						<section class="tsr-alert tsr-alert-error">
							Błąd połączenia z serwerem!
						</section>
						';	
					}else{
						for($i=0;$i < $amup_return_zlciz; $i++){
							
							// sprawdzanie czy jest błąd krytyczny i wyświetlanie go
							if($amup_return[$i]['amup'] == "ERROR_AMUP_NONE"){
								echo '
								<section class="tsr-alert tsr-alert-error">
									ERROR_AMUP_NONE - Error w motywie: '.$amup_return[$i]['name'].' Autor motywu: '.$amup_return[$i]['autor'].' - Nie można znaleść tokena AMUP!
								</section>
								';								
								exit();
							}else{
								// sprawdzanie czy jest błąd krytyczny i wyświetlanie go
								if($amup_return[$i]['amup'] == "ERROR_AMUP_NAME"){
									echo '
									<section class="tsr-alert tsr-alert-error">
										ERROR_AMUP_NAME - Error w motywie: '.$amup_return[$i]['name'].' Autor motywu: '.$amup_return[$i]['autor'].' - Nazwa motuwu nie zgadza się z tokenem!
									</section>
									';								
									exit();
								}else{
									// sprawdzanie czy jest błąd krytyczny i wyświetlanie go
									if($amup_return[$i]['amup'] == "ERROR_AMUP_AUTHOR"){
										echo '
										<section class="tsr-alert tsr-alert-error">
											ERROR_AMUP_AUTHOR - Error w motywie: '.$amup_return[$i]['name'].' Autor motywu: '.$amup_return[$i]['autor'].' - Autor motuwu nie zgadza się z tokenem!
										</section>
										';								
										exit();
									}else{
										// sprawdzanie czy jest błąd krytyczny i wyświetlanie go
										if($amup_return[$i]['amup'] == "SUCCESS"){
											//echo '
											//<section class="tsr-alert tsr-alert-success">
											//	SUCCESS w motywie:'.$amup_return[$i]['name'].' Autor motywu: '.$amup_return[$i]['autor'].' - AMUP został potwierdzony!
											//</section>
											//';								
										}									
									}								
								}							
							}
						}
					}			
							
				}else{
					// jeżeli jest napotkany jakiś błąd z przesyłem lub serwerem wysyłamy komunikat   
					echo '
					<section class="tsr-alert tsr-alert-error">
						Błąd połączenia z serwerem!
					</section>
					';				
				}
			}	
			
		}
		
		// get patt

		public function get_patt_info(){
			$patt_return = blackmin_token_access::check_patt_bm();
			
			// wyłączenie sprawdzania dla lakalnego hosu :D #bo po co?
			if($patt_return != "localhost"){
			
				$patt_return_zlciz = count($patt_return);
				
				if($patt_return != "false"){
					if($patt_return_zlciz == 0){
						echo '
						<section class="tsr-alert tsr-alert-error">
							Błąd połączenia z serwerem!
						</section>
						';	
					}else{
						for($i=0;$i < $patt_return_zlciz; $i++){
							
							// sprawdzanie czy jest błąd krytyczny i wyświetlanie go
							if($patt_return[$i]['patt'] == "ERROR_PATT_NONE"){
								echo '
								<section class="tsr-alert tsr-alert-error">
									ERROR_PATT_NONE - Error w motywie: '.$patt_return[$i]['name'].' Autor motywu: '.$patt_return[$i]['autor'].' - Nie można znaleść tokena PATT!
								</section>
								';								
								exit();
							}else{
								// sprawdzanie czy jest błąd krytyczny i wyświetlanie go
								if($patt_return[$i]['patt'] == "ERROR_PATT_NAME"){
									echo '
									<section class="tsr-alert tsr-alert-error">
										ERROR_PATT_NAME - Error w motywie: '.$patt_return[$i]['name'].' Autor motywu: '.$patt_return[$i]['autor'].' - Nazwa motuwu nie zgadza się z tokenem!
									</section>
									';								
									exit();
								}else{
									// sprawdzanie czy jest błąd krytyczny i wyświetlanie go
									if($patt_return[$i]['patt'] == "ERROR_PATT_AUTHOR"){
										echo '
										<section class="tsr-alert tsr-alert-error">
											ERROR_PATT_AUTHOR - Error w motywie: '.$patt_return[$i]['name'].' Autor motywu: '.$patt_return[$i]['autor'].' - Autor motuwu nie zgadza się z tokenem!
										</section>
										';								
										exit();
									}else{
										// sprawdzanie czy jest błąd krytyczny i wyświetlanie go
										if($patt_return[$i]['patt'] == "SUCCESS"){
											//echo '
											//<section class="tsr-alert tsr-alert-success">
											//	SUCCESS w motywie:'.$patt_return[$i]['name'].' Autor motywu: '.$patt_return[$i]['autor'].' - PATT został potwierdzony!
											//</section>
											//';								
										}									
									}								
								}							
							}
						}
					}			
							
				}else{
					// jeżeli jest napotkany jakiś błąd z przesyłem lub serwerem wysyłamy komunikat   
					echo '
					<section class="tsr-alert tsr-alert-error">
						Błąd połączenia z serwerem!
					</section>
					';				
				}
			}	
			
		}

		// get aupt

		public function get_aupt_info(){
			$aupt_return = blackmin_token_access::check_aupt_bm();
			
			// wyłączenie sprawdzania dla lakalnego hosu :D #bo po co?
			if($aupt_return != "localhost"){
			
				$aupt_return_zlciz = count($aupt_return);
				
				if($aupt_return != "false"){
					if($aupt_return_zlciz == 0){
						echo '
						<section class="tsr-alert tsr-alert-error">
							Błąd połączenia z serwerem!
						</section>
						';	
					}else{
						for($i=0;$i < $aupt_return_zlciz; $i++){
							
							// sprawdzanie czy jest błąd krytyczny i wyświetlanie go
							if($aupt_return[$i]['pu_aupt'] == "ERROR_AUPT_NONE"){
								echo '
								<section class="tsr-alert tsr-alert-error">
									ERROR_AUPT_NONE - Taki publiczny token nie istnieje!
								</section>
								';								
								exit();
							}else{
								// sprawdzanie czy jest błąd krytyczny i wyświetlanie go
								if($aupt_return[$i]['pu_aupt'] == "ERROR_AUPT_NONE_PRIVATE"){
									echo '
									<section class="tsr-alert tsr-alert-error">
										ERROR_AUPT_NONE_PRIVATE - Taki prywatny token nie istnieje!
									</section>
									';								
									exit();
								}else{
									// sprawdzanie czy jest błąd krytyczny i wyświetlanie go
									if($aupt_return[$i]['pu_aupt'] == "ERROR_AUPT_DOMAIN"){
										echo '
										<section class="tsr-alert tsr-alert-error">
											ERROR_AUPT_DOMAIN - Domena nie zgadza się z wygenerowanym tokenem!
										</section>
										';								
										exit();
									}else{
										// sprawdzanie czy jest błąd krytyczny i wyświetlanie go
										if($aupt_return[$i]['pu_aupt'] == "ERROR_AUPT_ACCESS"){
											echo '
											<section class="tsr-alert tsr-alert-error">
												ERROR_AUPT_ACCESS - Brak Dostępu Do Black Mina!
											</section>
											';								
											exit();
										}else{
											// sprawdzanie czy jest błąd krytyczny i wyświetlanie go
											if($aupt_return[$i]['pu_aupt'] == "SUCCESS"){
												//echo '
												//<section class="tsr-alert tsr-alert-success">
												//	SUCCESS w motywie:'.$aupt_return[$i]['name'].' Autor motywu: '.$aupt_return[$i]['autor'].' - AUPT został potwierdzony!
												//</section>
												//';								
											}									
										}								
									}								
								}							
							}
						}
					}			
							
				}else{
					// jeżeli jest napotkany jakiś błąd z przesyłem lub serwerem wysyłamy komunikat   
					echo '
					<section class="tsr-alert tsr-alert-error">
						Błąd połączenia z serwerem!
					</section>
					';				
				}
			}	
		}
	}
		
?>