<?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
function getContenuURL($url,$estImg='')
{
	$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 getListMagaJournaux($url)
	{
	global $url_default;
		$erreur = '';
		$Magas = '';
		if( $contenuUrl = getContenuURL($url) )
		{
			// on isole le bloc de résultats
			if($resultats = getEpression($contenuUrl,'#<div id="divListeRevue">(.*?)<div style="clear:both;"></div>#is'))
			{
			$resultats = $resultats[0];
				// on isole les lignes de résultats
				if(preg_match_all('#<div class="pod_revue btn">(.*?)<div class="separateur_revue">#is',$resultats, $lignesResultats))
				{
					$i = 0;
					// pour chaque ligne de resultat
					foreach($lignesResultats[0] as $unResultat)
					{
						// est un ebook si broché
						if($estUnEbook=getEpression($unResultat,'#<div class="revue_info">(.*?)</div>#is'))
						{
							if( $idTmp = getEpression($unResultat,'#<a href="(.*?)">#is') )
							{
								$Magas[$i]['id'] = strip_tags($idTmp[0]);
							}

							if( $afficheTmp = getEpression($unResultat,'#<img class="reflect" src="images/revues/miniatures/(.*?)"#is') )
							{
								$Magas[$i]['affiche'] = 'http://www.journaux.fr/images/revues/miniatures/'.$afficheTmp[0];
							}
							else
							{
								$Magas[$i]['affiche'] = $url_default.'images/no_image.png';
							}

							if( $titreTmp = getEpression($unResultat,'#<h3>(.*?)</h3>#is') )
							{
								$Magas[$i]['titre'] = strip_tags(utf8_decode($titreTmp[0]));
							}
							else
							{
								$Magas[$i]['titre'] = 'Aucune information ...';
							}

							if( $infosTmp = getEpression($unResultat,'#<p class="prix">(.*?)</p>#is') )
							{
								$Magas[$i]['infos'] = strip_tags(utf8_decode($infosTmp[0]));
								$Magas[$i]['infos'] = str_replace('?','€',$Magas[$i]['infos']);
								
							}

							if( $editionTmp = getEpression($unResultat,'#<p class="numero">(.*?)</p>#is') )
							{
								$Magas[$i]['edition'] = strip_tags($editionTmp[0]);
								$Magas[$i]['edition'] = strip_tags(utf8_decode($editionTmp[0]));
							}
							else
							{
								$Magas[$i]['edition'] = 'Aucune information ...';
							}
							$i++;
						}
					}
				}
			}
		}

	else  $erreur[] = "Impossible de lire la page .";
		return(array($Magas,$erreur));	
	}

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

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

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

	function scanContenuJournaux($contenuUrl)
	{
	global $url_default;
		$erreur = "";
			// titre
			if( $titreTmp = getEpression($contenuUrl,'#<b>(.*?)</b>#is') )
			{
				$maga['titre'] = strip_tags(utf8_decode($titreTmp[0]));
			}

			// on récupere l'url de l'image
			if( $imageTmp = getEpression($contenuUrl,'#id="imageRevue" src="(.*?).jpg"#is') )
			{
				$maga['image'] = 'http://www.journaux.fr/'.$imageTmp[0].'.jpg';
			}
			else
			{
				$maga['image'] = $url_default.'images/no_image.png';
			}

			// edition
			if( $editionTmp = getEpression($contenuUrl,'#<span>(.*?)</b>#is') )
			{
				$editionTmp = strip_tags($editionTmp[0]);
				$maga['edition'] = '' . strip_tags($editionTmp) . '';
				$maga['editionbbcode'] = '' . trim($editionTmp) . '';
			}
			else
			{
				$maga['edition'] = 'Aucune Information ... <br />';
				$maga['editionbbcode'] = '[i] Aucune Information ...[/i]'."\n";
			}

			// date de parution
			if( $dateTmp = getEpression($contenuUrl,'#</b>&nbsp;du&nbsp;<b>(.*?)</b>#is') )
			{
				$dateTmp = strip_tags($dateTmp[0]);
				$maga['date'] = '' . trim($dateTmp) . '<br />';
				$maga['datebbcode'] = '[i]' . trim($dateTmp) . '[/i]' ."\n";
			}
			else
			{
				$maga['date'] = 'Aucune Information ...<br />';
				$maga['datebbcode'] = '[i] Aucune Information ...[/i]'."\n";
			}

			// on affiche la description du livre ( bioauteur+auteur)
			if( $descriptionTmp = getEpression($contenuUrl,'#<div id="revue_sommaire">(.*?)</div>#is') )
			{
				$descriptionTmp = strip_tags(utf8_decode($descriptionTmp[0]));
				$maga['description'] = trim($descriptionTmp);
				$maga['descriptionb'] = trim($descriptionTmp);
				//$maga['descriptionb'] = preg_replace(array("#<BR>#is","#&nbsp;#is"),array("",""),$maga['descriptionb']);
				$maga['descriptionb'] = str_replace(array("#<BR>#is","#&nbsp;#is","    ","\r","\n","	",),array('','','',''),$maga['descriptionb']);
			}
			elseif( $descriptionTmp = getEpression($contenuUrl,'#<FONT size=2>(.*?)</TD>#is') )
			{
				$descriptionTmp = strip_tags($descriptionTmp[0]);
				$maga['description'] = trim($descriptionTmp);
				$maga['descriptionb'] = trim($descriptionTmp);
				$maga['descriptionb'] = preg_replace(array("#<BR>#is","#&nbsp;#is"),array("",""),$maga['descriptionb']);
			}
			elseif( $descriptionTmp = getEpression($contenuUrl,'#<STRONG><FONT size=3>(.*?)</STRONG#is') )
			{
				$descriptionTmp = strip_tags($descriptionTmp[0]);
				$maga['description'] = trim($descriptionTmp);
				$maga['descriptionb'] = trim($descriptionTmp);
			}
			elseif( $descriptionTmp = getEpression($contenuUrl,'#<td valign="top"><FONT FACE=verdana SIZE=2>(.*?)</td>#is') )
			{
				$descriptionTmp = strip_tags($descriptionTmp[0]);
				$maga['description'] = trim($descriptionTmp);
				$maga['description'] = preg_replace(array("#<BIG>#is","#	#is","#<br>#is","#<BR>#is"),array("","","<br />","<br />"),$maga['description']);
				$maga['descriptionb'] = trim($descriptionTmp);
				$maga['descriptionb'] = preg_replace(array("#<BIG>#is","#	#is","#<br>#is","#<BR>#is"),array("","","",""),$maga['descriptionb']);
			}
			else
			{
				$maga['description'] = 'Aucune Description de la part de Journaux.fr ...';
				$maga['descriptionb'] = 'Aucune Description de la part de Journaux.fr ...';
			}

			// famile
			if( $familleTmp = getEpression($contenuUrl,'#<a title="[^"]+" href="[^"]+.html">(.*?)</a>#is') )
			{
				$familleTmp = strip_tags(utf8_decode($familleTmp[0]));
				$maga['famille'] = '' . trim($familleTmp) . '<br />';
				$maga['famillebbcode'] = '[i]' . trim($familleTmp) . '[/i]' ."\n";
			}
			else
			{
				$maga['famille'] = 'Aucune Information ...<br />';
				$maga['famillebbcode'] = '[i] Aucune Information ...[/i]'."\n";
			}
		return(array($maga,$erreur));
	}
?>