<?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 getListFilmAllocine($url)
{
	global $url_default;
	$erreur = '';
	$films = '';

	if( $contenuUrl = getContenuURL($url) )
	{

		// on isole le bloc de résultats
		if($resultats = getEpression($contenuUrl,'#<table class="totalwidth noborder purehtml">(.*?)</table>#is'))
		{
			$resultats = $resultats[0];
			// on isole les lignes de résultats
			if(preg_match_all('#<tr><td style=" vertical-align:top;">(.*?)</div></div></td></tr>#is',$resultats, $lignesResultats))
			{
				$i = 0;
				// pour chaque ligne de resultat
				foreach($lignesResultats[0] as $unResultat)
				{
					// si c'est une ligne de film
					if($estUnFilm=getEpression($unResultat,'#<a href=\'/film/fichefilm_gen_cfilm=(.*?)<img#is'))
					{
						 if( $afficheTmp = getEpression($unResultat,'#<img[^"]+src=\'http://images.allocine.fr/r_75_106/medias/nmedia/(.*?)\'[^"]+alt=\'[^"]+\' />#is') )
							{
							    $films[$i]['affiche'] = 'http://images.allocine.fr/r_75_106/medias/nmedia/'.$afficheTmp[0];
							}
                            elseif( $afficheTmp = getEpression($unResultat,'#<img[^"]+src=\'http://images.allocine.fr/r_75_106/medias/(.*?)\'[^"]+alt=\'[^"]+\' />#is') )
							{
							    $films[$i]['affiche'] = 'http://images.allocine.fr/r_75_106/medias/'.$afficheTmp[0];
							}
                            elseif( $afficheTmp = getEpression($unResultat,'#src=\'http://fr.web.img[^"]+.acsta.net/r_75_106/medias/nmedia/(.*?)\'#is') )
							{
							    $films[$i]['affiche'] = 'http://fr.web.img1.acsta.net/r_75_106/medias/nmedia/'.$afficheTmp[0];
								$films[$i]['affiche'] = 'http://fr.web.img2.acsta.net/r_75_106/medias/nmedia/'.$afficheTmp[0];
							}
                            elseif( $afficheTmp = getEpression($unResultat,'#src=\'http://fr.web.img[^"]+.acsta.net/r_75_106/medias/(.*?)\'#is') )
							{
							    $films[$i]['affiche'] = 'http://fr.web.img1.acsta.net/r_75_106/medias/'.$afficheTmp[0];
								$films[$i]['affiche'] = 'http://fr.web.img2.acsta.net/r_75_106/medias/'.$afficheTmp[0];
							}
                            else
                            {
                                $films[$i]['affiche'] = $url_default.'images/no_image.png';
                            }
						if( $titreTmp = getEpression($unResultat,'#<div><div style="margin-top:-5px;">(.*?)</a>#is') )
						{
							$films[$i]['titre'] = strip_tags($titreTmp[0]);
							$films[$i]['titre'] = strip_tags(utf8_decode($titreTmp[0]));
							$films[$i]['titre'] = str_replace(array("	","\r","\n","  "),array('','','',''),$films[$i]['titre']);
						}
						elseif( $titreTmp = getEpression($unResultat,'#<b>(.*?)</a>#is') )
						{
							$films[$i]['titre'] = strip_tags($titreTmp[0]);
							$films[$i]['titre'] = strip_tags(utf8_decode($titreTmp[0]));
							$films[$i]['titre'] = str_replace(array("\t","\r","\n","  "),array('','','',''),$films[$i]['titre']);
						}
						else
						{
							$films[$i]['titre'] = 'Aucune Infos ...';
						}
						
						if( $realTmp = getEpression($unResultat,'#<span class="fs11">[^"]+de (.*?)<br />#is') )
						{
							$films[$i]['real'] = strip_tags($realTmp[0]);
							$films[$i]['real'] = strip_tags(utf8_decode(trim($realTmp[0])));
						}
						else
						{
							$films[$i]['real'] = 'Aucune Infos ...';
						}

						if( $idTmp = getEpression($unResultat,'#/film/fichefilm_gen_cfilm=(.*?).html\'#is') )
						{
							$films[$i]['id'] = strip_tags($idTmp[0]);
						}

						if( $acteursTmp = getEpression($unResultat,'#avec (.*?)</span>#is') )
						{
							$films[$i]['acteurs'] = strip_tags($acteursTmp[0]);
							$films[$i]['acteurs'] = strip_tags(utf8_decode(trim($acteursTmp[0])));
							$films[$i]['acteurs'] = str_replace(array("    ","\r","\n","	",Chr(10)),array('','','','',''),$films[$i]['acteurs']);
						}
						else
						{
							$films[$i]['acteurs'] = 'Aucune Infos ...';
						}

						if( $anneeTmp = getEpression($unResultat,'#<span class="fs11">(.*?)<br />#is') )
						{
							$films[$i]['annee'] = strip_tags($anneeTmp[0]);
							$films[$i]['annee'] = strip_tags(utf8_decode(trim($anneeTmp[0])));
						}
						else
						{
							$films[$i]['annee'] = 'Aucune Infos ...';
						}
						$i++;
					}
				}
			}
		}
	}

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

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

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

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

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

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

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

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

		$film['titre'] = '';
		$film['resume'] = '';
		$film['image'] = '';
		$film['duree'] = '';
		$film['date'] = '';
		
	        function net_resume_allo($string){

            $string= strtr($string,"c?d?j?l?m?n?s?t?","c'd'j'l'm'n's't'");

            $string= str_replace("c'ur", 'c&oelig;ur', $string);

            $string = preg_replace('`[a-zA-Z]{1}\?[a-zA-Z]`',"'",$string);

            $string= str_replace(" ' ", ' ? ', $string);

            $string = preg_replace('#\'$#is',"...",$string);

            return $string;

        } ;	

	// on récupere le titre
		if( $titreTmp = getEpression($contenuUrl,'#<h1>(.*?)</h1>#is') )
		{
			$film['titre'] = strip_tags(trim(utf8_decode($titreTmp[0])));
		}

	// on récupere le résumé
		if( $resumeTmp = getEpression($contenuUrl,'#<p itemprop=\"description\">(.*?)</p>#is') )
		{
			$film['resume'] = strip_tags($resumeTmp[0]);
			$film['resume'] = net_resume_allo(strip_tags(utf8_decode(trim($resumeTmp[0]))));
		}
		else
		{
			$film['resume'] = 'Aucun Synopsis de la part d\'allo-ciné ...';
		}

	// on récupere l'url de l'image
		if( $imageTmp = getEpression($contenuUrl,'#<img src=\'http://images.allocine.fr/r_160_240/(.*?)\' alt=\'[^"]+\' title=\'[^"]+\' itemprop="image" />#is') )
		{
			$film['image'] = 'http://images.allocine.fr/r_160_240/' .$imageTmp[0]; // petite image
		}
		else
		if( $imageTmp = getEpression($contenuUrl,'#<img src=\'http://fr.web.img(.*?)\'#is') )
		{
			$film['image'] = 'http://fr.web.img' .$imageTmp[0]; // petite image
		}
		else
		{
			$film['image'] = $url_default.'images/no_image.png';
		}

	// on récupere la durée
		if( $dureeTmp = getEpression($contenuUrl,'#<span itemprop="duration" content="[^"]+">(.*?)</span>#is') )
		{
			$film['duree'] = strip_tags($dureeTmp[0]);
			$film['duree'] = str_replace("\n", '', $film['duree']);
			$film['duree'] = str_replace("\r", '', $film['duree']);
			$film['duree'] = strip_tags(trim($dureeTmp[0]));
		}
		else
		{
			$film['duree'] = 'Aucune information ...';
		}

	// on récupere la date de sortie en salle
		if( $dateTmp = getEpression($contenuUrl,'#<span itemprop="datePublished" content="[^"]+">(.*?)</span>#is') )
		{
			$film['date'] = strip_tags($dateTmp[0]);
			$film['date'] = strip_tags(utf8_decode(trim($dateTmp[0])));
			$film['date'] = str_replace(array("    ","\r","\n","	",),array('','','',''),$film['date']);
		}
		else
		{
			$film['date'] = 'Aucune information ...';
		}

	// on récupere le genre
		if( $genreTmp = getEpression($contenuUrl,'#<span itemprop="genre">(.*?)</li>#is') )
		{
			$film['genre'] = strip_tags($genreTmp[0]);
			$film['genre'] = strip_tags(utf8_decode(trim($genreTmp[0])));
			$film['genre'] = str_replace(array("    ","\r","\n","	",),array('','','',''),$film['genre']);
		}
		else
		{
			$film['genre'] = 'Aucune information ...';
		}

	// on récupère le réalisateur
		if( $realTmp = getEpression($contenuUrl,'#<span itemprop="name">(.*?)</span></a>#is') )
		{
			$film['real'] = strip_tags($realTmp[0]);
			$film['real'] = strip_tags(utf8_decode(trim($realTmp[0])));
		}
		else
		{
			$film['real'] = 'Aucune information ...';
		}

	// on récupere les acteurs
		if( $avecTmp = getEpression($contenuUrl,'#Avec </span>(.*?)</li>#is') )
		{
			$film['avec'] = strip_tags($avecTmp[0]);
			$film['avec'] = strip_tags(utf8_decode(trim($avecTmp[0])));
			$film['avec'] = str_replace(array("    ","\r","\n","	",),array('','','',''),$film['avec']);
		}
		else
		{
			$film['avec'] = 'Aucune information ...';
		}

	// on récupere le pays
		if( $paysTmp = getEpression($contenuUrl,'#Nationalit[^"]+</span>(.*?)</div>#is') )
		{
			$film['pays'] = strip_tags($paysTmp[0]);
			$film['pays'] = strip_tags(utf8_decode(trim($paysTmp[0])));
			$film['pays'] = str_replace(array("    ","\r","\n","	",),array('','','',''),$film['pays']);
		}
		else
		{
			$film['pays'] = 'Aucune information ...';
		}

	// on récupere l'année de production
		if( $productTmp = getEpression($contenuUrl,'#<th><div>Ann[^"]+e de production</div></th><td>(.*?)</td><td class="cell_sep">#is') )
		{
			$film['product'] = strip_tags($productTmp[0]);
			$film['product'] = strip_tags(utf8_decode(trim($productTmp[0])));
		}
		else
		{
			$film['product'] = 'Aucune information ...';
		}

	// on récupere le titre original
		if( $tit_origiTmp = getEpression($contenuUrl,'#<th><div>Titre original</div></th><td>(.*?)</td><td class="cell_sep">#is') )
		{
			$film['tit_origi'] = strip_tags($tit_origiTmp[0]);
			$film['tit_origi'] = strip_tags(utf8_decode(trim($tit_origiTmp[0])));
		}
		else
		{
			$film['tit_origi'] = 'Aucune information ...';
		}

	// on récupere la note critique spectateur
		if( $noteTmp = getEpression($contenuUrl,'#<span class="stars (.*?)">#is') )
		{
			$noteTmp = strip_tags($noteTmp[0]);
			$film['note'] = '<img src="'.$url_default.'images/note_allo/note_allo_'.$noteTmp.'.png" alt="" /> ';
			$film['note_'] = '[img]'.$url_default.'images/note_allo/note_allo_'.$noteTmp.'.png[/img] ';
			$film['note_'] = str_replace(array("    ","\r","\n","	",),array('','','',''),$film['note_']);
		}
		else
		{
			$film['note'] = 'Aucune infos ...';
		}

		// on récupere la critique spectateur 2
		if( $critique_Tmp = getEpression($contenuUrl,'#Spectateurs(.*?)<div class="breaker"></div>#is') )
		{
			$film['critique_'] = strip_tags(trim ($critique_Tmp[0]));
			$film['critique_'] = strip_tags(utf8_decode(trim($critique_Tmp[0])));
			$film['critique_'] = str_replace(array("    ","\r","\n","	",),array('','','',''),$film['critique_']);
		}
		else
		{
			$film['critique_'] = 'Aucune infos ...';
		}	

	// on récupere la critique spectateur press
		if( $critiqueTmp = getEpression($contenuUrl,'#Presse(.*?)<div class="breaker"></div>#is') )
		{
			$film['critique'] = strip_tags($critiqueTmp[0]);
			$film['critique'] = str_replace(")",'',$film['critique']);
			$film['critique'] = str_replace("(",'',$film['critique']);
			$film['critique'] = strip_tags(utf8_decode(trim($critiqueTmp[0])));
			$film['critique'] = str_replace("\n",'',$film['critique']).' ';
			$film['critique'] = str_replace(array("    ","\r","\n","	",),array('','','',''),$film['critique']);
		}
		else
		{
			$film['critique'] = 'Aucune infos ...';
		}
		
	// on affiche la bande annonce
		if( $mediaTmp = getEpression($contenuUrl,'#href="/video/player_gen_cmedia=(.*?)&cfilm=#is') )
		{
			$film['media'] = strip_tags($mediaTmp[0]);
			$film['bande_annonce'] = '[url=http://a69.g.akamai.net/n/69/10688/v1/img5.allocine.fr/acmedia/skin/v6/player/AcV_Gen_fr15.swf?HD=&Lang=5001&cmedia='.$film['media'].'&RPath=www.allocine.fr&SeuilBD=600&Rld=4&SauveBP=30&ColFd=FFFFFF&TypeRef=film]Voir la bande-annonce[/url]';

			//$film['bande_annonces'] = '<br /><object type="application/x-shockwave-flash" data="http://a69.g.akamai.net/n/69/10688/v1/img5.allocine.fr/acmedia/skin/v6/player/AcV_Gen_fr15.swf?HD=&Lang=5001&cmedia='.$film['media'].'&RPath=www.allocine.fr&SeuilBD=600&Rld=4&SauveBP=30&ColFd=FFFFFF&TypeRef=film" width="450" height="370"><param name="movie" value="http://a69.g.akamai.net/n/69/10688/v1/img5.allocine.fr/acmedia/skin/v6/player/AcV_Gen_fr15.swf?HD=&Lang=5001&cmedia='.$film['media'].'&RPath=www.allocine.fr&SeuilBD=600&Rld=4&SauveBP=30&ColFd=FFFFFF&TypeRef=film" /><param name="quality" value="high" /><param name="wmode" value="transparent" /></object>';
			$film['bande_annonces'] = '<br /><iframe src=\'http://www.allocine.fr/_video/iblogvision.aspx?cmedia='.$film['media'].'\' style=\'width:420px; height:335px\'></iframe>';
		}
		else
		{
			$film['bande_annonces'] = '<font color="red"><i>Aucune bande annonce disponible pour ce film ...</i></font>';
			$film['bande_annonce'] = '[color=red][i]Aucune bande annonce disponible ...[/i][/color]';
		}
		return(array($film,$erreur));
	}

?>