<?php	
/*
	CMS ,,Black Min''  Został stworzony przez di_Timonix'a
	
	ten plik służy do ładowanie menu Black Mina
	
	Black Min cms,
	
	#plik: 1.0
*/


	class post_bm {
	
		// zmiene odpowiedzialne za aktulizowanie informacji na temat bieżącego posta
		var $load_post = "NULL";
		var $type_load_post = "url";
	
		// zmiene odpowiedzilne za wyświetlanie posta
		var $id_post = "";
		var $dodajacy_post = "";
		var $tytul_post = "";
		var $url_post = "";
		var $kategoria_post = "";
		var $kategoria_post_post = "";
		var $status_post = "";
		var $password_post = "";
		var $tagi_post = "";
		var $datetime_post = "";
		var $datetime_zmiany_post = "";
		var $kto_edit_post = "";
		var $komentarze = "";
		var $miniaturka = "";
		var $tresc_post = "";
		
		// zmiena przechowywująca hasło wpisane przez użytkownika do rozszyfrowania posta
		var $update_password_post = "";
		
		// zmiena odpowiedzialna za zmienianie liczby znalezionych wyników
		var $ile_query_post_load = 0;
		
		// potwierdzenie czy zostało wpisane pobrawne hasło
		var $czy_halo_dobre = false;
		
		// funkcjia do aktulizowania hasła wpisanego przez użytkownika
		public function change_password_post($t){
			$this->update_password_post = $t;
		}
		
		// funkcjia do aktulizowania ładowanego posta
		public function update_load_post($id){
			$this->load_post = "$id";
			return $id;
		}
	
		// funkcjia do pobierania menu z bazy danych
		public function get_post_bm() {
			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'");		
					
					$rezultat = "SELECT * FROM `".$prefix_table."bm_data_posty` WHERE `".$this->type_load_post."` = '".$this->load_post."' AND `status` LIKE 'public' OR `status` LIKE 'protect_password' AND `".$this->type_load_post."` = '".$this->load_post."' OR `status` LIKE 'private' AND `".$this->type_load_post."` = '".$this->load_post."'";
					$wynik = $polaczenie->query($rezultat);
						
						$ile = mysqli_num_rows($wynik);
						$this->ile_query_post_load = $ile;
						
						$row = mysqli_fetch_assoc($wynik);
						$id_post = $row['id'];
						$dodajacy_post = $row['dodajacy'];
						$tytul_post = $row['tytul'];
						$url_post = $row['url'];
						$kategoria_post = $row['kategoria'];
						$kategoria_post_post = $row['kategoria_post'];
						$status_post = $row['status'];
						$password_post = $row['password_post'];
						$tagi_post = $row['tagi'];
						$datetime_post = $row['datetime'];
						$datetime_zmiany_post = $row['datetime_zmiany'];
						$kto_edit_post = $row['kto_edit'];
						$visit = $row['visit'];
						$komentarze = $row['bm_komentarze'];	
						$miniaturka = $row['bm_miniaturka'];	
						$tresc_post = $row['tresc'];	
						
						// sprawdzanie czy post jest chroniony hasłem
						if($status_post === "protect_password"){
							if($this->update_password_post !== $password_post){
								$dodajacy_post = "protect_password";
								$tytul_post = "protect_password";
								$kategoria_post = "protect_password";
								$kategoria_post_post = "protect_password";
								$tagi_post = "protect_password";
								$datetime_post = "protect_password";
								$datetime_zmiany_post = "protect_password";
								$kto_edit_post = "protect_password";
								$komentarze = "protect_password";	
								$miniaturka = "protect_password";	
								$tresc_post = "protect_password";
							}else{
								// potwierdzenie że hasła do siebie pasują
								$this->czy_halo_dobre = true; 
							}
						}
						
						// aktulizowanie danych o poscie
						$this->id_post = $id_post;
						$this->dodajacy_post = $dodajacy_post;
						$this->tytul_post = $tytul_post;
						$this->url_post = $url_post;
						$this->kategoria_post = $kategoria_post;
						$this->kategoria_post_post = $kategoria_post_post;
						$this->status_post = $status_post;
						$this->password_post = $password_post;
						$this->tagi_post = $tagi_post;
						$this->datetime_post = $datetime_post;
						$this->datetime_zmiany_post = $datetime_zmiany_post;
						$this->kto_edit_post = $kto_edit_post;
						$this->komentarze = $komentarze;
						$this->miniaturka = $miniaturka;
						$this->tresc_post = $tresc_post;

						// dodawanie 1 odwiedzin do posta
						$add_visit = $visit+1;
						
						if ($rezultat = $polaczenie->query(
						sprintf("UPDATE `bm_data_posty` SET `visit`='$add_visit' WHERE `id` = '$id_post'")
						 ))
						{
							//echo '<section class="tsr-alert tsr-alert-success"> Status został zmieniony poprawnie! </section>';
						};	
							
					$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 true;
		
		}
		
		// sprawdzanie poprawnośći hasła jeżeli był chroniony post
		public function validate_password_post(){
			return $this->czy_halo_dobre;
		}
		
		// funkcjia do pobierania danych posta
		public function query_load_post(){
			return $this->ile_query_post_load;
		}
		
		public function id_post(){
			return $this->id_post;
		}
		
		public function author_post(){
			return $this->dodajacy_post;
		}

		public function title_post(){
			return $this->tytul_post;
		}
		
		public function url_post(){
			return $this->url_post;
		}
		
		public function format_post(){
			return $this->kategoria_post;
		}
		
		public function category_post(){
			return $this->kategoria_post_post;
		}
		
		public function status_post(){
			return $this->status_post;
		}
		
		public function tag_post(){
			return $this->tagi_post;
		}
		
		public function datetime_post(){
			return $this->datetime_post;
		}
		
		public function datetime_change_post(){
			return $this->datetime_zmiany_post;
		}
		
		public function user_edit_post(){
			return $this->kto_edit_post;
		}
		
		public function comments_post(){
			return $this->komentarze;
		}
		
		public function thumbnail_post(){
			return $this->miniaturka;
		}
		
		public function contents_post(){
			return $this->tresc_post;
		}

	}

?>