<?php
###############################################################
################# Générateur de présentation  #################
###################### Version 1.0 Béta #######################
##################### Auteur : Belzebuth ######################
################### Version du script : 1.0 ###################
############ Mail : fantasygraph@fantasy-graph.net ############
###############################################################

// Fonctions


// Récupération d'une page distante
 function getContenuURL($url,$estImg='') 
 {
	$contenuPage = '';
	
	// à preciser dans le header 
	if (methodscan != 'curl') {
	$contenuPage = @file_get_contents($url);

	}else{
	$ch = curl_init();
    curl_setopt ($ch, CURLOPT_URL, $url);
    curl_setopt ($ch, CURLOPT_HEADER, 0);
    ob_start();
    curl_exec ($ch);
    curl_close ($ch);
    $contenuPage = ob_get_contents();
    ob_end_clean();
	}
	return $contenuPage; 
 }
	


// Chercher expression
	
function getEpression($chaine,$expression)
{
	preg_match_all($expression,$chaine, $trouve);
	
	if( count($trouve[0])!=0 )
	{
		return($trouve[1]);
	}
	else return(false);
}



// ------------------------------------------------------------------------



	    
	    function getListJeuJvxcom($url)
	{
		$erreur = '';
		$jeux = '';
		
		if( $contenuUrl = getContenuURL($url) )
		{
			if($resultats = getEpression($contenuUrl,'#</li>[^"]+</ul>(.*?)<h3 class="titre_bloc">#is'))

			{
			$resultats = $resultats[0];
			
				// on isole les lignes de résultats
				if(preg_match_all('#<.*?>(.*?)</li>#is',$resultats, $lignesResultats))
				{
				$i = 0;

					// pour chaque ligne de resultat
					foreach($lignesResultats[0] as $unResultat)
					{

					if($estUnJeu=getEpression($unResultat,'#<li>(.*?)</li>#is'))
						{

							if( $afficheTmp = getEpression($unResultat,'#<h4><img src="http://image.jeuxvideo.com/pics/mc/(.*?)"#is') )
							{
								$jeux[$i]['affiche'] = '<br><p><img src="http://image.jeuxvideo.com/pics/mc/'.$afficheTmp[0].'" border="0" /></p><p class="sep">&nbsp;</p>';
							}

							if( $titreTmp = getEpression($unResultat,'#<a href=.+">(.*?)</a>#is') )
							{
								$jeux[$i]['titre'] = strip_tags(utf8_decode($titreTmp[0]));
							}

							if( $idTmp = getEpression($unResultat,'#<a href="http://www.jeuxvideo.com/jeux/(.*?).htm">#is') )
							{
								$jeux[$i]['id'] = strip_tags(utf8_decode($idTmp[0]));
							}
							$i++;	
						}	
					}	
				}
			}

		}

	else  $erreur[] = "Impossible de lire la page .";	

		return(array($jeux,$erreur));	
	}		
	
	
	// --------------------------------------------------------------------------------------------
	
	function getInfoJeuJvxcom($url)
	{
		$erreur = '';
		// $date = getValeur("date","");
		
		if( $contenuUrl = getContenuURL($url) )
		{
			list($jeu,$erreurs) = scanContenuJvxcom($contenuUrl);
			if(!empty($date))
			{
				$jeu['date'] = $date;
			}
			if(!empty($erreurs))
			{
				$erreur = array_merge($erreur,$erreurs);
			}
		}
		else $erreur[] = "impossible de lire la page";
		
		return(array($jeu,$erreur));
	}
	
	
	// --------------------------------------------------------------------------------------------

	function scanContenuJvxcom($contenuUrl)
	{
	global $url_site;
			$erreur = "";

			// titre
			if( $titreTmp = getEpression($contenuUrl,'#<li class="jaquette"><a href="[^"]+" target="_blank" rel="nofollow"><img src="http://image.jeuxvideo.com/images/[^"]+.jpg" alt="(.*?)" /></a></li>#is') )
			{
				$jeu['titre'] = strip_tags(utf8_decode($titreTmp[0]));
			}
			else
			{
				$jeu['titre'] = 'Aucune Information ...';
			}

			// plateforme
			if( $plateformeTmp = getEpression($contenuUrl,'#<td id="nom_[^"]+"><img src="http://image.jeuxvideo.com/pics/mc/[^"]+.png" alt="(.*?)"#is') )
			{
				$jeu['plateforme'] = strip_tags(utf8_decode($plateformeTmp[0]));
			}
			elseif( $plateformeTmp = getEpression($contenuUrl,'#<td id="nom_[^"]+"><a href="http://www.jeuxvideo.com/[^"]+.htm">[^"]+<img src="http://image.jeuxvideo.com/pics/mc/[^"]+.png" alt="(.*?)" />#is') )
			{
				$jeu['plateforme'] = strip_tags(utf8_decode($plateformeTmp[0]));
			}
			else
			{
				$jeu['plateforme'] = 'Aucune Information ...';
			}

			// on récupere l'url de l'image
			if( $imageTmp = getEpression($contenuUrl,'#<li class="jaquette"><a href="[^"]+" target="_blank" rel="external"><img src="http://image.jeuxvideo.com/images/(.*?)ft.jpg" alt="[^"]+" /></a></li>#is') )
			{
				$jeu['image'] = 'http://image.jeuxvideo.com/images/'.$imageTmp[0].'f.jpg';
			}
			elseif( $imageTmp = getEpression($contenuUrl,'#<li class="jaquette"><img src="http://image.jeuxvideo.com/images/(.*?)ft.jpg" alt="[^"]+" /></li>#is') )
			{
				$jeu['image'] = 'http://image.jeuxvideo.com/images/'.$imageTmp[0].'f.jpg';
			}
			elseif( $imageTmp = getEpression($contenuUrl,'#<li class="jaquette"><a href="[^"]+" target="_blank" rel="nofollow"><img src="http://image.jeuxvideo.com/images/(.*?)ft.jpg" alt="[^"]+" /></a></li>#is') )
			{
				$jeu['image'] = 'http://image.jeuxvideo.com/images/'.$imageTmp[0].'ft.jpg';
			}
			elseif( $imageTmp = getEpression($contenuUrl,'#<li class="jaquette"><img src="http://image.jeuxvideo.com/images/jaquettes/(.*?)-avant-p.jpg" alt="#is') )
			{
				$jeu['image'] = 'http://image.jeuxvideo.com/images/jaquettes/'.$imageTmp[0].'-avant-g.jpg';
			}
			elseif( $imageTmp = getEpression($contenuUrl,'#<img src="http://image.jeuxvideo.com/images/jaquettes/(.*?).jpg" #is') )
			{
				$jeu['image'] = 'http://image.jeuxvideo.com/images/jaquettes/'.$imageTmp[0].'.jpg';
			}
			else
			{
				$jeu['image'] = $url_site.'images/no_image.png';
			}

			// on récupere le résumé
			if( $testTmp = getEpression($contenuUrl,'#Descriptif : </strong>(.*?)</li>#is') )
			{
				$jeu['test'] = strip_tags(utf8_decode($testTmp[0]));
				$jeu['test'] = preg_replace('#Note rédaction : ([0-9]+)/([0-9]+)#','',$jeu['test']);
			}
			elseif( $testTmp = getEpression($contenuUrl,'#<li><strong>Descriptif :</strong>(.*?)</li>#is') )
			{
				$jeu['test'] = strip_tags(utf8_decode($testTmp[0]));
			}
			else
			{
				$jeu['test'] = 'Aucun Test de la part de Jeuxvideo.com ...';
			}

			// note du test
			if( $notetestTmp = getEpression($contenuUrl,'#<li class="note_redac">Note r[^"]+daction [^"]+ : (.*?)</li>#is') )
			{
				$jeu['notetest'] = strip_tags(utf8_decode($notetestTmp[0]));
			}
			else
			{
				$jeu['notetest'] = 'Aucune Note ...';
			}

			// date de sortie
			if( $dateTmp = getEpression($contenuUrl,'#<li><strong>Sortie France :</strong>(.*?)</li>#is') )
			{
				$jeu['date'] = strip_tags(utf8_decode($dateTmp[0]));
				$jeu['date'] = str_replace("\n", ' ', $jeu['date']);
				$jeu['date'] = str_replace("<br />", '   ', $jeu['date']);
			}
			else
			{
				$jeu['date'] = 'Aucune Information ...';
			}	

			// éditeur
			if( $editeurTmp = getEpression($contenuUrl,'#<li><strong>Editeur : </strong>(.*?)</li>#is') )
			{
				$jeu['editeur'] = strip_tags(utf8_decode($editeurTmp[0]));
			}
			else
			{
				$jeu['editeur'] = 'Aucune Information ...';
			}

			// genre
			if( $typeTmp = getEpression($contenuUrl,'#<li><strong>Type :</strong>(.*?)</li>#is') )
			{
				$jeu['type'] = strip_tags(utf8_decode($typeTmp[0]));
				
				$log['type'] = str_replace("\n", '', $log['type']);
			        $log['type'] = str_replace("\t", '', $log['type']);
			        $log['type'] = str_replace("\r", '', $log['type']);
			        $log['type'] = str_replace('  ', '', $log['type']);
			}

			// dévellopeur 
			if( $devellopeurTmp = getEpression($contenuUrl,'#<li><strong>D[^"]+veloppeur : </strong>(.*?)</li>#is') )
			{
				$jeu['devellopeur'] = strip_tags(utf8_decode($devellopeurTmp[0]));
			}
			else
			{
				$jeu['devellopeur'] = 'Aucune Information ...';
			}

		return(array($jeu,$erreur));
	}
?>