<?php
include("header.php");
?>

<?php
	function getSdkType(SimpleXMLElement $xml)
	{
		if(isset($xml->app_xml_format))
		{
			if($xml->app_xml_format->attributes()->sdk_type == "PSM SDK")
			{
				return "PSM";
			}
			else
			{
				return "PSM Unity";
			}
		}
		else
		{
			return "PSM";
		}
	}

	if(isset($_GET["game"]))
	{
		$game = htmlspecialchars($_GET["game"], ENT_QUOTES);
		
		$game = str_replace("/", "",$game);
		$game = str_replace(".", "",$game);
		$game = str_replace("*", "",$game);
		
		if(strlen($game) != 9)
		{
			echo("This is not the bug your looking for :P");
			die();
		}
		?>
		<script src="zrif.js"></script>
		<a id="zrif-bin-worker" href=""></a>
		<?php
		
		$title = getTitle($game);
		
		$xml = simplexml_load_file('gameinfo/' . $game . "/app.xml", 'SimpleXMLElement', LIBXML_NOENT);
		$genreList = $xml->genre_list->children();
		$languageList = $xml->name->children();
		$featureList = $xml->feature_list->children();
		$SDKType = getSdkType($xml); 
		$zrifinfo = getZRIF($game);
		$zrifPendingInfo = getPendingZRIF($game);
		$pkgSony = getPKG($game);
		$simulatorZip = "decrypted-files/".$game.".zip";
		
		$verXML = simplexml_load_file('gameinfo/' . $game . "/version.xml", 'SimpleXMLElement', LIBXML_NOENT);
		$latestVersion = (string)($verXML->appVersion);
		$pkgReborn = "/pkg/".$game."_00/".$latestVersion."/".$game."_00.pkg";
		
		$metadataXML = simplexml_load_file('gameinfo/' . $game . "/". $latestVersion ."/metadata.xml", 'SimpleXMLElement', LIBXML_NOENT);
		$description = $metadataXML->localizedMetadataList->children();
		$screenshot = $metadataXML->screenShotList->screenShot;
		$isplayable = "";
		
		if($zrifinfo == "MISSING" && $zrifPendingInfo == "MISSING")
		{
			$isplayable = "<a href=\"/faq.php#add-zrif\" class=\"white\">No, Missing zRIF - Do you have a working copy of this game?</a>";
		}	
		if(file_exists("psdp-packages/".$game.".psdp"))
		{
			$isplayable = "<a href=\"/psdp-packages/".$game.".psdp\" class=\"white\">Yes, with PSDP Package in Developer Assistant</a>";
		}
		if($zrifinfo != "MISSING")
		{
			$isplayable = "<a class=\"white\" onclick=\"copy_text('".$zrifinfo."')\">Yes! Copy zRIF String</a> or <a class=\"white\" onclick=\"convert2('".$zrifinfo."')\">Download FAKE.RIF</a>";
		}
		if($zrifPendingInfo != "MISSING")
		{
			$isplayable = "<a class=\"white\" onclick=\"copy_text('".$zrifPendingInfo."')\">Maybe, Ulthough it hasnt been tested yet- Copy zRIF String</a> or <a class=\"white\" onclick=\"convert2('".$zrifPendingInfo."')\">Download FAKE.RIF</a>";		
		}
	?>
	<div class="bg-content" style="background-image: url('/gameinfo/<?php echo $game ?>/splash_854x480.png');"></div>
	<div class="psm-meta">
		<div id="psm-title"><?php echo($title.' ('.$game.')') ?></div>
		<div id="psm-top-part">
			<div id="psm-icon">
				<img src="/gameinfo/<?php echo $game ?>/icon_256x256.png" />
			</div>
			<div id="psm-infos">
				<ul>
					<li><p>Playable: <?php echo $isplayable ?></p></li>
					<li><p>Metadata: <a href="/gameinfo/<?php echo $game ?>/app.xml" class="white">app.xml</a>, <a href="/gameinfo/<?php echo $game ?>/text.txt" class="white">copyright.txt</a>, <a href="/gameinfo/<?php echo $game ?>/version.xml" class="white">version.xml</a>, <a href="/gameinfo/<?php echo $game ?>/<?php echo $latestVersion ?>/metadata.xml" class="white">metadata.xml</a></p></li>
					<li><p>Images: <a href="/gameinfo/<?php echo $game ?>/icon_128x128.png" class="white">icon_128x128.png</a>, <a href="/gameinfo/<?php echo $game ?>/icon_256x256.png" class="white">icon_256x256.png</a>, <a href="/gameinfo/<?php echo $game ?>/icon_512x512.png" class="white">icon_512x512.png</a>, <a href="/gameinfo/<?php echo $game ?>/splash_854x480.png" class="white">splash_854x480.png</a><?php echo printScreenshotsLinks($screenshot, $latestVersion, $game) ?></p></li>
					<li><p>Supported locale: <b><?php echo printLanguageList($languageList) ?></b></p></li>
					<li><p>Genres: <b><?php echo printGenreList($genreList) ?></b></p></li>
					<li><p>Type: <b><?php echo $SDKType ?></b></p></li>
				</ul>
			</div>
		</div>
		
		<div id="psm-description">
			<hr><?php echo printDescription($description, "en") ?><hr>
		</div>
		
		<div id="psm-screenshots" class="blue-scrollbar">
			<?php echo printScreenshotsImgTags($screenshot, $latestVersion, $game) ?>
		</div>

		<div id="psm-downloads">
				<div class="button-enabled" id="pkg-sony" onclick="open_url('<?php echo $pkgSony ?>')">
					<a href="<?php echo($pkgSony) ?>" class="nostyle">PKG (Sony Server)</a>
				</div>
				
				<div class="button-enabled" id="pkg-psmrb" onclick="open_url('<?php echo $pkgReborn ?>')">
					<a href="<?php echo $pkgReborn ?>" class="nostyle">PKG (PSMReborn Server)</a>
				</div>
				
				<?php
				if($zrifinfo == "MISSING"){
				?><div class="button-disabled" id="fake-rif">NoPsmDrm License</div>
				<?php
				} else {
				?><div class="button-enabled" id="fake-rif" onclick="convert2('<?php echo $zrifinfo ?>')">
					<a class="nostyle" onclick="convert2('<?php echo $zrifinfo  ?>')">NoPsmDrm License</a>
				</div>
				<?php } ?>

				<?php 
				if(file_exists($simulatorZip)) {
				?><div class="button-enabled" onclick="open_url('<?php echo $simulatorZip ?>')">	
					<a href="<?php echo $simulatorZip  ?>" class="nostyle">Decrypted Files (For Simulator)</a>
				</div>
				<?php
				} else {
				?><div class="button-disabled">Decrypted Files (For Simulator)</div>
				<?php } ?>

				<select onchange="pkg_change_version()" class="version-select"><?php
					$dirlist = glob("pkg/".$game."_00/*");
					$vercount = count($dirlist);
					for($i = 0; $i < $vercount; $i++)
					{
						$ver = basename($dirlist[$i]);
						
						if($i == $vercount - 1)
						{
							echo'<option selected="'.$ver.'" value="'.$ver.'">'.$ver.'</option>';
						}
						else
						{
							echo'<option value="'.$ver.'">'.$ver.'</option>';
						}
					}
				?></select>
		</div>
	</div>
<?php
} else {
	$searchUsed = isset($_GET["search"]);
	
	$simulatorSearch = false;
	$unplayableSearch = false;
	$playableSearch = false;
	
	if(isset($_GET["simulator"]))
	{
		if($_GET["simulator"] == "on")
			$simulatorSearch = true;
	}
	
	if(isset($_GET["unplayable"]))
	{
		if($_GET["unplayable"] == "on")
			$unplayableSearch = true;
	}
	
	if(isset($_GET["playable"]))
	{
		if($_GET["playable"] == "on")
			$playableSearch = true;
	}
	?>
	<div id="search-form">
			<form action="" method="get">
				<input type="text" name="search" value="<?php
					if(isset($_GET["search"])) {
						echo htmlspecialchars($_GET["search"], ENT_QUOTES);
					}
				?>"/>
				<input type="submit"/><br>
				<input type="radio" name="searchby" value="title" <?php
					if(!$searchUsed || isset($_GET["searchby"])) {
						if(!$searchUsed || $_GET["searchby"] == "title" ) {
							echo 'checked="checked"';
						}
					}
				?>>Title</input>
				<input type="radio" name="searchby" value="titleid" <?php
					if(isset($_GET["searchby"])) {
						if($_GET["searchby"] == "titleid") {
							echo 'checked="checked"';
						}
					}
				?>>Title ID</input>
				<input type="radio" name="searchby" value="dev" <?php
					if(isset($_GET["searchby"])) {
						if($_GET["searchby"] == "dev") {
							echo 'checked="checked"';
						}
					}
				?>>Developer</input><br>
				<input type="checkbox" name="playable" <?php
					if(!$searchUsed || $playableSearch) {
						echo 'checked="checked"';
					}
				?>>Show Playable (Has zRIF)</input>
				<input type="checkbox" name="simulator" <?php
					if(!$searchUsed || $simulatorSearch) {
						echo 'checked="checked"';
					}
				?>>Show Simulator-Ready</input>
				<input type="checkbox" name="unplayable" <?php
					if(!$searchUsed || $unplayableSearch) {
						echo 'checked="checked"';
					}
				?>>Show Unplayable (Only PKG)</input>
			</form>
		</div>

	<div id="psm-gamelist">
		<?php
		$dirlist = glob("gameinfo/*");
		$playableList = getPlayableList();
		$playablePendingList = getPendingPlayableList();
		foreach ($dirlist as &$path) {
			$titleid = basename($path);
			$xml = simplexml_load_file($path . "/app.xml", 'SimpleXMLElement', LIBXML_NOENT);
			
			$title = $xml->name->localized_item[0]->attributes()->value;
			$version = $xml->attributes()->version;
			$genre = $xml->genre_list->genre->attributes()->value;
			$author = $xml->developer->name->attributes()->value;
			$website = $xml->website->attributes()->href;
			$isPlayable = $playableList[$titleid] == 1 || file_exists("psdp-packages/".$titleid.".psdp");
			$hasSimulator = file_exists("decrypted-files/".$titleid.".zip");
			$isPlayablePending = false;

			preg_match('/https?:\/\/(?:www\.)?(.+[^\/])/', $website, $website_array);
			$websitePretty = $website_array[1];
			
			if($searchUsed)
			{
				$search = $_GET["search"];

				if(isset($_GET["searchby"]) && $search !== "")
				{
					$searchby = $_GET["searchby"];
					if($searchby === "title")
					{
						if(strpos(strtolower($title), strtolower($search)) === false)
						{
							continue;
						}
					}
					elseif($searchby === "titleid")
					{
						if(strpos(strtolower($titleid), strtolower($search)) === false)
						{
							continue;
						}
					}
					elseif($searchby === "dev")
					{
						if(strpos(strtolower($author), strtolower($search)) === false)
						{
							continue;
						}
					}
				}
				
				
				if(!$simulatorSearch)
				{
					if($hasSimulator)
					{
						continue;
					}
				}
				
				if(!$unplayableSearch)
				{
					if(!$isPlayable && !$isPlayablePending)
					{
						continue;
					}
				}
				
				if(!$playableSearch)
				{
					if(($isPlayable || $isPlayablePending) && !$hasSimulator)
					{
						continue;
					}
				}
			}
		?>
		<a class="psm-game" href="?game=<?php echo $titleid ?>">
			<img src="/gameinfo/<?php echo $titleid ?>/icon_128x128.png" width="124" height="124"> 
			<div class="psm-game-info">
				<span><?php echo $title ?></span>
				<?php if(getSdkType($xml) == "PSM Unity") { ?>
					<img src="/img/unity.png" title="Made With Unity" width="10" height="10">
				<?php } if($isPlayable) { ?>
					<img src="/img/playable.png" title="zRIF Known" width="10" height="10">
				<?php } if($isPlayablePending) { ?>
					<img src="/img/pending_playable.png" title="zRIF Maybe Known" width="10" height="10" >
				<?php } if($hasSimulator) { ?>
					<img src="/img/simulator.png" title="Simulator Files Avalible" width="10" height="10" >
				<?php }

					$authorUrl = "libary.php?search=".urlencode($author)."&searchby=dev";
					if($playableSearch === true || $searchUsed === false)
						$authorUrl .= "&playable=on";
					if($simulatorSearch === true || $searchUsed === false)
						$authorUrl .= "&simulator=on";
					if($unplayableSearch === true || $searchUsed === false)
						$authorUrl .= "&unplayable=on";
				?><table>
					<tbody>
						<tr>
							<td>Genre:</td>
							<td><?php echo $genre ?></td>
						</tr>
						<tr>
							<td>Version:</td>
							<td><?php echo $version ?></td>
						</tr>
						<tr>
							<td>Author:</td>
							<td><a class="white" href="<?php echo $authorUrl ?>"><?php echo $author ?></a></td>
						</tr>
					</tbody>
				</table>
				<object>
					<a class="white" href="<?php echo $website ?>"><?php echo $websitePretty ?></a>
				</object>
			</div>
		</a>

<?php
		}
	}

include("footer.php");
?>
