<?php
//made by Deadlocky
//juin 2015
//http://nodd.free.fr/piforceweb
	//parametre
	$display_cabinet = 'Y';//afficher les images des bornes: Y ou N
	$display_ingame = 'Y';//afficher les images de jeu: Y ou N
	$display_game_without_rom = 'Y'; //afficher les jeux sans nom de rom: Y ou N
	
	//détection et choix de la list txt ou xml
	if(isset($_GET['choix']))
	{
		if($_GET['choix']=='xml'){$choix='xml';$choix2='txt';}
		else {$choix='txt';$choix2='xml';}
	}
	else   
	{
		$choix='xml';//choix par défaut (xml=game_list.xml ou txt=game_list.txt)
		$choix2='txt';
	}
	
	//détection du système à afficher 
	if(isset($_GET['sys'])) $sys=$_GET['sys']; 
	else $sys='naomi_atomi';//on peut changer la liste par défaut ici (all,atomiswave,Sega_Naomi,Sega_Naomi2,Sega_Chihiro,Sega_triforce ou naomi_atomi)
	
	//fonctions de tri du xml
	//par name MAME
	function sort_by_name(SimpleXMLElement $i1, SimpleXMLElement $i2)
	{
			return strcmp((string)$i1->name, (string)$i2->name);
	}
	//par la description (nom du jeu/rom en entier)
	function sort_by_description(SimpleXMLElement $i1, SimpleXMLElement $i2)
	{
			return strcmp((string)$i1->description, (string)$i2->description);
	}
	//choix du tri du xml: indiquer un nom de fonction défini au-dessus
	$order_xml = 'sort_by_description';//par défaut: sort_by_description
?>
<html>
<head>
<title>PIForce-Web+</title>
  <link rel="stylesheet" href="piforceweb.css">
  <style>
	
  </style>
</head>
<body>
<p align="center">
	<font face="verdana" color="grey">!!!Toucher un jeu pour le charger!!! </font>
</p>
<p class="choix_systeme" align="center" <?php if($choix=='txt') echo 'style="visibility:hidden"'; ?>>
	<font face="verdana" color="grey">Toucher un système pour ne voir que ses jeux</font>
	<table width="100%">
	<tr>
		<td width="14%" align="center"><a href="index.php?choix=<?php echo $choix; ?>&sys=atomiswave"><img src="./images/atomiswave.png" <?php if($sys=='atomiswave') echo 'border="1"'; else echo 'border="0"'; ?>border="0" alt="./images/atomiswave.jpg" style="height:2em;" /></a></td>
		<td width="14%" align="center"><a href="index.php?choix=<?php echo $choix; ?>&sys=Sega_Naomi"><img src="./images/Sega_Naomi.png" <?php if($sys=='Sega_Naomi') echo 'border="1"'; else echo 'border="0"'; ?> alt="./images/Sega_Naomi.png" style="height:2em;" /></a></td>
		<td width="14%" align="center"><a href="index.php?choix=<?php echo $choix; ?>&sys=naomi_atomi"><img src="./images/naomi_atomi.png" <?php if($sys=='naomi_atomi') echo 'border="1"'; else echo 'border="0"'; ?> alt="./images/naomi_atomi.png" style="height:2em;" /></a></td>
		<td width="14%" align="center"><a href="index.php?choix=<?php echo $choix; ?>&sys=Sega_Naomi2"><img src="./images/Sega_Naomi2.png" <?php if($sys=='Sega_Naomi2') echo 'border="1"'; else echo 'border="0"'; ?> alt="./images/Sega_Naomi2.png" style="height:2em;" /></a></td>
		<td width="14%" align="center"><a href="index.php?choix=<?php echo $choix; ?>&sys=Sega_Chihiro"><img src="./images/Sega_Chihiro.png" <?php if($sys=='Sega_chihiro') echo 'border="1"'; else echo 'border="0"'; ?> alt="./images/Sega_Chihiro.png" style="height:2em;" /></a></td>
		<td width="14%" align="center"><a href="index.php?choix=<?php echo $choix; ?>&sys=Sega_Triforce"><img src="./images/Sega_Triforce.png" <?php if($sys=='Sega_Triforce') echo 'border="1"'; else echo 'border="0"'; ?> alt="./images/Sega_Triforce.png" style="height:2em;" /></a></td>
		<td width="14%" align="center"><a href="index.php?choix=<?php echo $choix; ?>&sys=all">TouT</a></td>
	</tr>
	</table>
</p>

<?php
$nb_fichier = 0;
//choix xml
if(file_exists('game_list.xml') and $choix=='xml')
{
	
	$xml= simplexml_load_file('game_list.xml');
	$games = $xml->xpath('//Game');
	usort($games, $order_xml);
			
	foreach($games as $Game)
	{
		
		//recherche et test du fichier image pour le titre
		if(file_exists('./images/'.$Game->name.'.jpg'))$title = $Game->name.'.jpg';
		elseif(file_exists('./images/'.$Game->name.'.png'))$title = $Game->name.'.png';
		elseif(file_exists('./images/'.$Game->name.'.gif'))$title = $Game->name.'.gif';
		else $title = 'Default.png';
		
		//recherche et test du fichier image pour l'écran de jeu
		$ingame = 'noimage.png';
		if($display_cabinet=='Y')
		{
			if(file_exists('./images/ingame/'.$Game->name.'.jpg'))$ingame = $Game->name.'.jpg';
			elseif(file_exists('./images/ingame/'.$Game->name.'.png'))$ingame = $Game->name.'.png';
			elseif(file_exists('./images/ingame/'.$Game->name.'.gif'))$ingame = $Game->name.'.gif';
		}
		
		//recherche et test du fichier image pour l'image de la borne
		$cabinet = 'noimage.png';
		if($display_cabinet=='Y')
		{
			if(file_exists('./images/cabinet/'.$Game->name.'.jpg'))$cabinet = $Game->name.'.jpg';
			elseif(file_exists('./images/cabinet/'.$Game->name.'.png'))$cabinet = $Game->name.'.png';
			elseif(file_exists('./images/cabinet/'.$Game->name.'.gif'))$cabinet = $Game->name.'.gif';
		}
		
		$rom = $Game->romboot;
		
		if(substr($Game->description,-23)=='(AtomisWave Conversion)')//on range les jeux atomiswave dans une autre fammille
			$systeme = 'atomiswave';
		else
		{
			switch ($Game->romof)
			{
				case 'naomi':
					$systeme = 'Sega_Naomi';
					break;
				case 'naomigd':
					$systeme = 'Sega_Naomi';
					break;
				case 'naomi2':
					$systeme = 'Sega_Naomi2';
					break;
				case 'chihiro':
					$systeme = 'Sega_Chihiro';
					break;				
				case 'triforce':
					$systeme = 'Sega_Triforce';
					break;
				default:
					$systeme = 'Sega_Naomi';
					break;					
			}
		}
		
		if(   $Game->display=='Y' && (  $sys=='all' || $sys==$systeme || ($sys=='naomi_atomi'&& ($systeme=='Sega_Naomi' || $systeme=='atomiswave'))  )   ){
		$nb_fichier++; // On incrémente le compteur de 1
			if($Game->romboot=='' && $display_game_without_rom=='Y')
				echo '<p align="center">
					<div class="systeme">
					<img src="./images/'.$systeme.'.png" border="0" alt="./images/'.$systeme.'.png"/>
					</div>
					<div class="game_btn">
						<img class="gtitle" src="./images/'.$title.'" border="0" alt="./images/'.$title.'"/>
						<img class="inplay" src="./images/ingame/'.$ingame.'" border="0"/>
						<img class="cabinet" src="./images/cabinet/'.$cabinet.'" border="0"/>
						<div class="titre_jeu">
							<div>'.$Game->description.'</div>
							<div class="annee">'.$Game->year.'</div>
							<div class="editeur">'.$Game->manufacturer.'</div>
						</div>
					</div>
					</p>';	
			else
				echo '<p align="center">
					<div class="systeme">
						<img src="./images/'.$systeme.'.png" border="0" alt="./images/'.$systeme.'.png"/>
					</div>
					<a href="load.php?rom='.$rom.'">
					<div class="game_btn">
						<img class="gtitle" src="./images/'.$title.'" border="0" alt="./images/'.$title.'"/>
						<img class="inplay" src="./images/ingame/'.$ingame.'" border="0"/>
						<img class="cabinet" src="./images/cabinet/'.$cabinet.'" border="0"/>
						<div class="titre_jeu">
							<div>'.$Game->description.'</div>
							<div class="annee">'.$Game->year.'</div>
							<div class="editeur">'.$Game->manufacturer.'</div>
						</div>
					</div>
					</a>
					</p>';
		}
	}
}
elseif(file_exists('game_list.txt') and $choix=='txt')//choix txt
{
	// 1 : on ouvre le fichier
	$list = fopen('game_list.txt', 'r');
	$display_systeme = 1;
	while (!feof($list)) //on parcourt toutes les lignes
	{
		// 2 : on lit la ligne du fichier
		$ligne = fgets($list);
		if(substr($ligne,0,1)!='#')
		{
			list($game,$rom,$title,$display) = explode(':',str_replace('"','',substr(trim($ligne),0,-1)));
			
			if( (trim($display)=='Y' or trim($display)=='O' or trim($display)=='1') && ($display_systeme==1) )
			{
				$nb_fichier++; // On incrémente le compteur de 1
				if($title=='' or $title==' ')
				{
					$title = substr($rom,0,-4).'.png';
					if(!file_exists('./images/'.trim($title))){$title = substr($rom,0,-4).'.jpg';}
					if(!file_exists('./images/'.trim($title))){$title = substr($rom,0,-4).'.gif';}
				}
				if(!file_exists('./images/'.trim($title))){$title='Default.png'; }
				echo '<p align="center">
				<a href="load.php?rom='.trim($rom).'">
				<div class="game_btn"><img src="./images/'.trim($title).'" border="0" alt="./images/'.trim($title).'"/><div class="titre_jeu">'.str_replace('\n','<br/>',trim($game)).'</div>
				</div></a></p>';
			}
		}
		elseif(trim($ligne)=='# Atomiswave Games')
		{
			if($sys='all' or $sys=='atomiswave')
			{
				echo '<div class="systeme"><img src="./images/atomiswave.png" border="0" alt="./images/atomiswave.png" /></div>';
				$display_systeme = 1;
			}
			else
				$display_systeme = 0;
		}
		elseif(trim($ligne)=='# Naomi Games')
		{
			if($sys='all' or $sys=='Sega_Naomi')
			{
				echo '<div class="systeme"><img src="./images/Sega_Naomi.png" border="0" alt="./images/Sega_Naomi.png" /></div>';
				$display_systeme = 1;
			}
			else
				$display_systeme = 0;
		}
		elseif(trim($ligne)=='# Naomi 2 Games')
		{
			if($sys='all' or $sys=='Sega_Naomi2')
			{
				echo '<div class="systeme"><img src="./images/Sega_Naomi2.png" border="0" alt="./images/Sega_Naomi2.png" /></div>';
				$display_systeme = 1;
			}
			else
				$display_systeme = 0;
		}
		elseif(trim($ligne)=='# Chihiro Games ')
		{
			if($sys='all' or $sys=='Sega_Chihiro')
			{
				echo '<div class="systeme"><img src="./images/Sega_Chihiro.png" border="0" alt="./images/Sega_Chihiro.png" /></div>';
				$display_systeme = 1;
			}
			else
				$display_systeme = 0;
		}
		elseif(trim($ligne)=='# Triforce Games')
		{
			if($sys='all' or $sys=='Sega_Triforce')
			{
				echo '<div class="systeme"><img src="./images/Sega_Triforce.png" border="0" alt="./images/Sega_Triforce.png" /></div>';
				$display_systeme = 1;
			}
			else
				$display_systeme = 0;
		}
		
	}
	// 3 : quand on a fini de l'utiliser, on ferme le fichier
	fclose($list);
}
else
{
	echo '<BR/><BR/>Aucun fichier '.$choix.' disponible--><a href="index.php?choix='.$choix2.'">Passer au fichier game_list.'.$choix2.'</a><BR/><BR/>';
}
echo '<p align="center">
<font face="verdana" color="grey">'.$nb_fichier.' Jeux Affichés</font><BR/><BR/>
<a href="index.php?choix='.$choix2.'">Faire la liste sur le fichier game_list.'.$choix2.'</a>
</p>';
?>

</body>
</html>