<?php
	// plik zawiera zmienną user
	include ("config.php");

	// Jeśli gracz jest zalogowany...
	// ... a jeśli nie (zobacz na dole skryptu formularz logowania)
	if(isset($_SESSION['user'])){
		echo 'Zalogowany jako: '.$_SESSION['user'].' - ';
		echo '<a href="?p=baza">Baza główna</a> | ';
		echo '<a href="?p=atakuj">Atakuj</a> | ';
		echo '<a href="?p=ranking">Ranking</a> | ';
		echo '<a href="?p=usun">Usuń konto</a> | ';
		echo '<a href="?p=wyloguj">Wyloguj</a>';
		echo '<hr>';
		
		// zawartość menu wyświetlana graczowi
		switch($_GET['p']){ // czyli: index.php?p=baza
			case ('baza'):
				echo 'Kliknij na znak +, aby rozpocząć akcję Np. wydobycie/budowa itp.<BR><BR>';
				
				echo '<b>Ludność:</b><BR>';
				echo 'Koloniści: '.$user['colonists'].' ';
				echo '<a href="?p=rekrutuj&co=ludzi">+</a><BR>';
				
				echo 'Żołnierze: '.$user['soldiers'].' ';
				echo '<a href="?p=rekrutuj&co=zolnierzy">+</a><BR><BR>';				
				
				echo "<b>Zasoby:</b><BR>";
				echo "Diamenty: ".$user['diamonds']." ";
				echo "<a href='?p=wydobycie&co=diamenty'>+</a><BR><BR>";				
			
				echo '<b>Budynki:</b><BR>';			
				echo 'Mieszkania: '.$user['house'].' ';
				echo '<a href="?p=buduj&co=house">+</a><BR>';
				
				echo 'Magazyny: '.$user['warehouses'].' ';
				echo '<a href="?p=buduj&co=warehouses">+</a><BR>';
				
				echo 'Baraki: '.$user['barracks'].' ';
				echo '<a href="?p=buduj&co=barracks">+</a><BR>';
			break;
			
			case ('usun'):
				if(isset($_GET['tak'])){
					echo 'Konto usunięte! Przekierowanie nastąpi po 3 sekundach. ';
					echo 'Jeśli nie to <a href="index.php">kliknij tutaj</a>.';
					
					// usuń konto z SQL
					mysqli_query($link, "DELETE FROM `players` WHERE `login`='$user[login]' ");
					
					// usuń wszystkie zmienne sesji
					session_unset(); 

					// zniszcz sesje
					session_destroy(); 
					
					// przekieruj 5 sekundach 
					header( "Refresh: 3; url=index.php", true, 303);
				}else{
					echo 'Chcesz usunąć konto?';
					echo '<BR><BR>';
					echo '<a href="?p=usun&tak">TAK</a> ';
					echo '<a href="index.php">ANULUJ</a>';
				}
			break;
			
			case ('buduj'):
				// jesli zmienna "co" zawiera wartość to buduj budynek
				if(isset($_GET['co'])){
					if($user['diamonds']>10){
						echo 'Wybudowano budynek! -10 diamentów.';
						
						// inny zapis: 
						// mysqli_query($link, "UPDATE players SET `diamonds`=`diamonds`-10, ".$_GET[co]." = ".$_GET[co]."+1 WHERE login = '".$user['login']."'");
						// mysqli_query($link, "UPDATE `players` SET `diamonds`=`diamonds`-10, `house` = `house`+1 WHERE `login` = '".$user['login']."'");
						mysqli_query($link, "UPDATE players SET diamonds=diamonds-10, $_GET[co] = $_GET[co]+1 WHERE login = '$user[login]'");
						
						// linijkę na dolę może od komentować usuwając "//"
						// funkcja ta wyświetli błędy (jeśli będą Np. zła składania, brak bazy itp.)
						// echo mysqli_error($link);
					}else{
						echo 'Brak diamentów!';
					}
				}else{
					echo 'Błąd! Nie można budować!';
				}
			break;
			
			case ('wydobycie'):
				if($user['diamonds']<$user['warehouses']*100){
					mysqli_query($link, "UPDATE `players` SET `diamonds`=`diamonds`+100 WHERE login = '$user[login]'");
					echo 'Wydobyto 100 diamentów!';
				}else{
					echo 'Wybuduj więcej magazynów, jeden magazyn mieści 100 diamentów.';
				}
			break;
			
			case ('rekrutuj'):
				/* 
					"buduj" robiliśmy na warunkach 
					if/else, tutaj zrobimy to samo
					ale przy użyciu switch
					różnicy dzisiaj nie ma wielkiej 
					(wydajność), natomiast 
					jest bardziej czytelniej 
				*/
				switch($_GET['co']){
					case ('ludzi'):
						if($user['colonists']<$user['house']*50){
							mysqli_query($link, "UPDATE `players` SET `colonists`=`colonists`+50 WHERE login = '$user[login]'");
							echo 'W bazie pojawiło się 50 nowych mieszkańców!';
						}else{
							echo 'Wybuduj więcej domów, jeden dom mieści 50 ludzi.';
						}
					break;
					
					case ('zolnierzy'):
						if($user['soldiers']<$user['barracks']*5){
							mysqli_query($link, "UPDATE `players` SET `soldiers`=`soldiers`+5 WHERE login = '$user[login]'");
							echo 'W bazie pojawiło się 5 nowych żołnierzy!';
						}else{
							echo 'Wybuduj więcej baraków, baraki mieszczą 5 żołnierzy.';
						}
					break;
					
					default:
						echo 'Błąd! Nie można rekrutować!';
					break;
				}
			break;
			
			case ('atakuj');
			
				if(isset($_POST['send'])){
					if($user['soldiers']>0){
						if($_POST['login']!=$user['login']){
							if(mysqli_num_rows(mysqli_query($link, "SELECT id FROM players WHERE login='".$_POST['login']."'")) > 0){
								
								// pobierz dane gracza którego atakujemy
								$user_enemy=mysqli_fetch_array(mysqli_query($link, "SELECT colonists, soldiers,diamonds FROM `players` WHERE `login`='".$_POST['login']."'")); 
								
								// zmień statystki gracza zabierz mu Np. diamenty itd.
								$diamonds_enemy = mt_rand(0,$user_enemy['diamonds']);
								$colonists_enemy = mt_rand(0,$user_enemy['colonists']);
								$soldiers_enemy = mt_rand(0,$user_enemy['soldiers']);
								
								// z aktualizuj statystki zaatakowanego gracza
								mysqli_query($link, "UPDATE `players` SET `diamonds`=`diamonds`-".$diamonds_enemy.", `soldiers`=`soldiers`-".$soldiers_enemy.", `colonists`=`colonists`-".$colonists_enemy." WHERE login = '$_POST[login]'");
								
								// zmień statystki gracza który zaatakował kogoś (straty w żołnierzach)
								$soldiers_user = mt_rand(0,$user['soldiers']);

								// z aktualizuj statystki gracza który zaatakował kogoś
								mysqli_query($link, "UPDATE `players` SET `diamonds`=`diamonds`+".$diamonds_enemy.", `soldiers`=`soldiers`-".$soldiers_user." WHERE login = '$user[login]'");
								
								echo "Zaatakowano gracza ".$_POST['login']."! O to raport:";
								echo '<BR><BR>';
								echo 'Straty użytkownika: '.$user_enemy['login'].'<BR>';
								echo '-'.$diamonds_enemy.' diamenty<BR>';
								echo '-'.$colonists_enemy.' koloniści<BR>';
								echo '-'.$soldiers_enemy.' żołnierze';
								echo '<BR><BR>';
								echo 'Twoje straty/zyski<BR>';
								echo '+'.$diamonds_enemy.' diamenty<BR>';
								echo '-'.$soldiers_user.' żołnierze<BR>';
							}else{
								echo "Nie znaleziono gracza ".$_POST['login']."!";
							}
						}else{
							echo 'Nie możesz atakować samego siebie!';
						}
					}else{
						echo 'Potrzebujesz żołnierzy!';
					}
					echo '<BR><BR>';
				}
				
				echo 'Rozpocznij atak, podaj login gracza<BR><BR>';
				echo '<form action="" method="POST">';
				echo '<input type="text" name="login"> ';
				echo '<input type="submit" value="Atakuj">';
				echo '<input type="hidden" name="send" value="true">';
				echo '</form>';
			break;
			
			case ('wyloguj');
				echo 'Zostałeś wylogowany! Przekierowanie nastąpi po 5 sekundach. ';
				echo 'Jeśli nie to <a href="index.php">kliknij tutaj</a>.';
				
				// usuń wszystkie zmienne sesji
				session_unset(); 

				// zniszcz sesje
				session_destroy(); 
				
				// przekieruj 5 sekundach 
				header( "Refresh: 5; url=index.php", true, 303);
			break;
			
			case ('ranking'):
				// pobierz wybrane dane z sql i sortuj je od najmniejszej ilośći diamentów do największych 
				// DESC sortuj malejąco
				// ASC sortuj rosnąco
				$sql=mysqli_query($link, "SELECT `login`,`diamonds` FROM `players` ORDER by `diamonds` DESC");

				// czy są rekordy?
				$ilosc = mysqli_num_rows($sql);
				
				// podium
				$x=0;
				
				// Jesli sa to jedziemy z pętla
				if($ilosc>0) { 	
					while( $row = mysqli_fetch_assoc( $sql )){
						$x++;
						echo $x.'. '.$row['login'].' - '.$row['diamonds'].'<BR>';
					}
				}else{
					echo 'Nie ma graczy w bazie SQL!';
				}
			break;
			
			default:
				echo 'Wybierz opcje z menu.';
			break;
		}
	}else{
		// rejestracja 
		// jeśli podano w adresie URL pustą zmienną register
		if(isset($_GET['register'])){
			if(isset($_POST['send'])){
				if(mysqli_num_rows(mysqli_query($link, "SELECT id FROM players WHERE login='".$_POST['login']."'")) > 0){
					echo 'Konto już istnieje, wybierz inny login! ';
					echo '<a href="index.php?register">Kliknij tu</a>, aby wrócić.';
				}else{
					mysqli_query($link, "INSERT INTO `players` (`login`, `password`, `colonists`, `soldiers`, `diamonds`, `house`, `warehouses`, `barracks`) VALUES ('".$_POST['login']."', '".$_POST['pass']."', '50', '5', '10', '1', '1', '1')");
					
					echo 'Konto zostało założone! <a href="index.php">Kliknij tu</a>, aby się zalogować.';
					echo '<BR><BR>';
					echo 'Login: '.$_POST['login'].', hasło: '.$_POST['pass'];
				}
			}else{
				echo 'Wypełnij wszystkie pola, aby założyć konto. ';
				echo '<a href="index.php">Kliknij tu</a>, aby wrócić.';
				echo '<BR><BR>';
				echo '<form action="" method="POST">';
				echo 'Login: <input type="text" name="login" autofocus>';
				echo '<BR>';
				echo 'Hasło: <input type="password" name="pass">';
				echo '<BR><BR>';
				echo '<input type="submit" value="Założ konto">';
				// ukryty przycisk ze zeminna (send=true)
				echo '<input type="hidden" name="send" value="true">';
				echo '</form>';	
			}
		// jeśli nie to pokaż formularz logowania	
		}else{
			// jeśli wysłano formularz w $_POST
			// pojawi się zmienna send 
			// (niewdzialny input type="hidden")
			if(isset($_POST['send'])){
				// zobacz czy użytkownik istnieje w bazie
				if(mysqli_num_rows(mysqli_query($link, "SELECT id FROM players WHERE login='".$_POST['login']."' AND password = '".$_POST['pass']."'")) > 0){
					// utwórz sesje, czyli ciasteczka (cookies)
					// $_SESSION to globalna zmienna (tablica)
					// taka sama jak $_GET czy $_POST
					$_SESSION['user'] = $_POST['login'];
					
					// przekieruj automatycznie natychmiast
					header("Location:index.php");
					
					/*
						przekierowanie po czasie Np. 5 sekundach:
						header( "Refresh: 5; url=index.php", true, 303);
						
						lub kod html
						
						echo '<meta http-equiv="refresh" content="5; url=index.php">';
					
					*/
					
					// wyświetl tekst, gdyby Np. przeglądarka
					// nie przekierowała automatycznie 
					// lub przekierowanie nastąpi po czasie
					echo 'Zostałeś zalogowany! ';
					echo 'Jeśli nie zostałeś przekierowany ';
					echo '<a href="index.php">kliknij tutaj</a>. ';
				}else{
					echo 'Błędne dane lub login! ';
					echo 'Spróbuj <a href="index.php">jeszcze raz</a>. ';
				}
			}else{
				echo 'Wygląda na to, że nie jesteś zalogowany lub Twoja sesja wygasła! ';
				echo 'Jeśli nie masz konta <a href="index.php?register">kliknij tutaj</a>.<BR><BR>';
				echo '<form action="" method="POST">';
				echo 'Login: <input type="text" name="login" autofocus>';
				echo '<BR>';
				echo 'Hasło: <input type="password" name="pass">';
				echo '<BR><BR>';
				echo '<input type="submit" value="Zaloguj">';
				// ukryty przycisk ze zeminna (send=true)
				echo '<input type="hidden" name="send" value="true">';
				echo '</form>';
			}
		}
	}
?>