<?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='')
{
	// à 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 getListAlbumAmazon($url)
	{
	global $url_default;
		$erreur = '';
		$albums = '';

		if( $contenuUrl = getContenuURL($url) )
		{
			// on isole le bloc de résultats
			if($resultats = getEpression($contenuUrl,'#<div id="rightContainerATF">(.*?)<div id="leftNavContainer">#is'))
			{
			$resultats = $resultats[0];

			// on isole les lignes de résultats
			if(preg_match_all('#<div id="result_[^"]+" class="[^"]+" name="[^"]+">(.*?)<br clear="all">#is',$resultats, $lignesResultats))
				{
				$i = 0;

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

						// si c'est une ligne d'album
						if($estUnalbum=getEpression($unResultat,'#<div id="result_[^"]+" class="[^"]+" name="[^"]+">(.*?)<br clear="all">#is'))
						{
						  	if( $afficheTmp = getEpression($unResultat,'#src="http://ecx.images-amazon.com/images/I/(.*?)" class="[^"]+" alt="[^"]+"/>#is') )
							{
								$albums[$i]['affiche'] = 'http://ecx.images-amazon.com/images/I/'.$afficheTmp[0].'';
							}
							
							elseif( $afficheTmp = getEpression($unResultat,'#src="http://ecx.images-amazon.com/images/I/(.*?)" class="#is') )
							{
								$albums[$i]['affiche'] = 'http://ecx.images-amazon.com/images/I/'.$afficheTmp[0];
							}
							else
							{
								$albums[$i]['affiche'] = $url_default.'images/no_image.png';
							}

							if( $titreTmp = getEpression($unResultat,'#<h3 class="newaps">(.*?)</a>#is') )
							{
								$albums[$i]['titre'] = strip_tags($titreTmp[0]);
							}	

							if( $idTmp = getEpression($unResultat,'#<a href="/(.*?)">#is') )
							{
								$albums[$i]['id'] = strip_tags($idTmp[0]);
							}

							if( $editeurTmp = getEpression($unResultat,'#<span class="med reg">[^"]+ <a href="[^"]+">(.*?)  ([^"]+)</span>#is') )
							{
								$albums[$i]['editeur'] = strip_tags($editeurTmp[0]);
							}
							elseif( $editeurTmp = getEpression($unResultat,'#<span class="med reg">de (.*?) \([^"]+\)</span>#is') )
							{
								$albums[$i]['editeur'] = strip_tags($editeurTmp[0]);
							}
							else
							{
								$albums[$i]['editeur'] = 'Aucune Information ...';
							}

							if( $dateTmp = getEpression($unResultat,'#</a>  \((.*?)\)</span>#is') )
							{
								$albums[$i]['date'] = strip_tags($dateTmp[0]);
								//$albums[$i]['date'] = str_replace(")", '', $dateTmp[0]);
							}
							elseif( $dateTmp = getEpression($unResultat,'#</a> [^"]+  \((.*?)\)</span>#is') )
							{
								$albums[$i]['date'] = strip_tags($dateTmp[0]);
								$albums[$i]['date'] = str_replace(")", '', $dateTmp[0]);
							}
							elseif( $dateTmp = getEpression($unResultat,'#<span class="med reg">[^"]+  \((.*?)\)</span>#is') )
							{
								$albums[$i]['date'] = strip_tags($dateTmp[0]);
								$albums[$i]['date'] = str_replace(")", '', $dateTmp[0]);
							}
							else
							{
								$albums[$i]['date'] = 'Aucune Information ...';
							}
							$i++;
						}
					}
				}
			}
		}

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

		return(array($albums,$erreur));	
	}

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

	function getInfoAlbumAmazon($url)
	{
		$erreur = '';
		//$date = getValeur("date","");

		if( $contenuUrl = getContenuURL($url) )
		{
			list($album,$erreurs) = scanContenuAmazon($contenuUrl);
			if(!empty($date))
			{
				$album['date'] = $date;
			}
			if(!empty($erreurs))
			{
				$erreur = array_merge($erreur,$erreurs);
			}
		}
		else $erreur[] = "impossible de lire la page";
		
		return(array($album,$erreur));
	}

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

	function scanContenuAmazon($contenuUrl)
	{
	global $url_default;
			$erreur = "";

			// on récupere le titre
			if( $titreTmp = getEpression($contenuUrl,'#<span id="btAsinTitle">(.*?)<span style=#is') )
			{
				$album['titre'] = strip_tags($titreTmp[0]);
			}
			elseif($titreTmp = getEpression($contenuUrl,'#<span id="btAsinTitle" >(.*?)<span style=#is') )
			{
				$album['titre'] = strip_tags($titreTmp[0]);
			}

			// on récupere l'url de l'image
			if( $imageTmp = getEpression($contenuUrl,'#src="http://ecx.images-amazon.com/images/I/(.*?).jpg"#is') )
			{
				$album['image'] = 'http://ecx.images-amazon.com/images/I/' .$imageTmp[0].'.jpg';
			}
			elseif( $imageTmp = getEpression($contenuUrl,'#<img src="http://ecx.images-amazon.com/images/I/(.*?)"#is') )
			{
				$album['image'] = 'http://ecx.images-amazon.com/images/I/' .$imageTmp[0];
			}
			else
			{
				$albums[$i]['affiche'] = $url_default.'images/no_image.png';
			}

			// on récupere la note
			if( $NoteTmp = getEpression($contenuUrl,'#" ><span class="swSprite s_star(.*?) " title="#is') )
			{
				$album['Note'] = strip_tags(trim($NoteTmp[0]));
				$album['Note_'] = '<img src="'.$url_default.'images/note_allo/note_allo_n'.str_replace('_','',$NoteTmp[0]).'.png" alt="" /> ';
				$album['Note-'] = '[img]'.$url_default.'images/note_allo/note_allo_n'.str_replace('_','',$NoteTmp[0]).'.png[/img]';
			}
			else
			{
				$album['note_'] = '<img src="'.$url_default.'images/note_allo/note_allo_n00.png" alt="" />';
				$album['note-'] = '[img]'.$url_default.'images/note_allo/note_allo_n00.png[/img]';
			}

			// on récupere la date
			if( $dateTmp = getEpression($contenuUrl,'#<li><b>CD</b>(.*?)</li>#is') )
			{
				$album['date']  = strip_tags($dateTmp[0]);
				$album['date']  = str_replace(array('(',')'),array('',''),$album['date']);
			}
			else
			{
				$album['date']  = 'Aucune Information ...';
			}

			// on récupere la date de sortie origine (si dispo)
			if( $dateoriginTmp = getEpression($contenuUrl,"#<li><b>Date de sortie d'origine:</b>(.*?)</li>#is") )
			{
				$album['dateori']  = '<b>Date de sortie d\'origine :</b>'.strip_tags($dateoriginTmp[0]).'<br />';
				$album['dateori_']  = '[b][u]Date de sortie d\'origine[/u] : [/b] [i]'.strip_tags($dateoriginTmp[0]).'[/i]' ."\n";
			}

			// on récupere l'editeur
			if( $labelTmp = getEpression($contenuUrl,'#<li><b>Label:</b>(.*?)</li>#is') )
			{
				$album['label'] = strip_tags($labelTmp[0]);	
			}
			else
			{
				$album['label'] = 'Aucune Information ...';
			}

			// on récupere le nombre de disques
			if( $discTmp = getEpression($contenuUrl,'#<li><b>Nombre de disques:</b>(.*?)</li>#is') )
			{
				$album['disc'] = strip_tags($discTmp[0]);	
			}
			else
			{
				$album['disc'] = 'Aucune Information ...';
			}

			// on récupere le ASIN
			if( $asinTmp = getEpression($contenuUrl,'#<li><b>ASIN :</b>(.*?)</li>#is') )
			{
				$album['asin'] = strip_tags($asinTmp[0]);	
			}
			else
			{
				$album['asin'] = 'Aucune Information ...';
			}

		return(array($album,$erreur));
	}

?>