<?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 = ''; 
	$contenuPage = @file_get_contents($url); 
	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 getListLog01net($url)
	{
	global $url_default;
		$erreur = '';
		$logs = '';
		
		if( $contenuUrl = getContenuURL($url) )
		{
			// on isole le bloc de résultats
			if($resultats = getEpression($contenuUrl,"#<a name='telecharger'></a>(.*?)<div style='clear:both'><br /></div>#is"))
			{
				$resultats = $resultats[0];
				// on isole les lignes de résultats
				if(preg_match_all("#<div class='resultat_photo'>(.*?)</div>\s+</div>#is",$resultats, $lignesResultats))
				{
					$i = 0;
					// pour chaque ligne de resultat
					foreach($lignesResultats[0] as $unResultat)
					{
						// si c'est une ligne de logiciel
						if($estUnLog=getEpression($unResultat,"#<a href='/telecharger-(.*?).html' class=#is"))
						{
						  	// on récupère l'image
							if( $afficheTmp = getEpression($unResultat,"#<img style='border:1px solid \#fff' src='(.*?)' width='50' height='50' alt='' border='0' />#is") )
							{
							    $logs[$i]['affiche'] = $afficheTmp[0];
                            }
                            else
                            {
                                $logs[$i]['affiche'] = $url_default.'images/no_image.png';
                            }

							// on récupère le titre																			
							if( $titreTmp = getEpression($unResultat,'#<b>(.*?)<span#is') )
							{
								$logs[$i]['titre'] = strip_tags($titreTmp[0]);
							}

							// on récupère l'os
							if( $osTmp = getEpression($unResultat,"#91A4BD'>(.*?)<span#is") )
							{
								$logs[$i]['os'] = strip_tags($osTmp[0]);
							}

							// on récupère la date
							if( $dateTmp = getEpression($unResultat,"#<span class='date'>(.*?)</span>#is") )
							{
								$logs[$i]['date'] = strip_tags($dateTmp[0]);
							}

							// on récupère la plateforme supporté
							if( $stationTmp = getEpression($unResultat,"#<i>(.*?)</i>#is") )
							{
								$logs[$i]['station'] = strip_tags($stationTmp[0]);
							}	

							// on récupère l'id	
							if( $idTmp = getEpression($unResultat,"#<a href='/(.*?).html' class=#is") )
							{
								$logs[$i]['id'] = strip_tags($idTmp[0]);
							}

							// on récupère les infos
							if( $detailTmp = getEpression($unResultat,"#<span class='description'>(.*?)<br /><i>#is") )
							{
							    $logs[$i]['detail'] = strip_tags($detailTmp[0]);
							}
							else
							{
							    $logs[$i]['detail'] = 'Aucune information sur le logiciel ...';
							}
							$i++;
						}
					}	
				}
			}
		}

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

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

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

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

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

	function scanContenu01net($contenuUrl)
	{
	global $url_default;
		$erreur = "";
		$log['titre'] = '';
		$log['resume'] = '';
		$log['image'] = '';
		$log['editeur'] = '';
		$log['os'] = '';
		$log['date'] = '';
			// on récupere le titre
			if( $titreTmp = getEpression($contenuUrl,"#<span class=\"titre\">(.*?)<p><a class=\"editor\"#is") )
			{
				$log['titre'] = strip_tags($titreTmp[0]);
				
				$log['titre'] = str_replace(array("\t","\r","\n","                 ","                  ",),array('','','',' ','  '),$log['titre']);
			}

			// on récupere le résumé
			if( $resumeTmp = getEpression($contenuUrl,"#<div class=\"softDescription\">(.*?)<br />#is") )
			{
				$log['resume'] = strip_tags(utf8_decode(trim($resumeTmp[0])));
				$log['resume'] = str_replace("\n\n\n", "\n", $log['resume']);
				$log['resume'] = str_replace(array("\t","\r","\n","	",),array('','','',''),$log['resume']);
			}
			else
			{
			    $log['resume'] = 'Aucun résumé de la part de Clubic ...';
			}

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

			// on récupere la date
			if( $dateTmp = getEpression($contenuUrl,'#<span class="avisUp">Modifi[^"]+ le (.*?)</span>#is') )
			{
				$log['date']  = strip_tags($dateTmp[0]);
				$log['date'] = str_replace("\n", '', $log['date']);
			    $log['date'] = str_replace("\t", '', $log['date']);
			    $log['date'] = str_replace("\r", '', $log['date']);
			    $log['date'] = str_replace('  ', '', $log['date']);
			}
			
			// on récupere l'editeur
			if( $editeurTmp = getEpression($contenuUrl,'#<a class="editor" href="[^"]+">(.*?)</a>#is') )
			{
				$log['editeur'] = strip_tags(utf8_encode($editeurTmp[0]));
				$log['editeur'] = str_replace("\n", '', $log['editeur']);
			    $log['editeur'] = str_replace("\t", '', $log['editeur']);
			    $log['editeur'] = str_replace("\r", '', $log['editeur']);
			    $log['editeur'] = str_replace('  ', '', $log['editeur']);
			}
			else
			{
			    $log['editeur'] = 'Aucune Information ...';
			}

			// on récupere l'os supportés
			if( $osTmp = getEpression($contenuUrl,'#<meta itemprop="operatingsystems" content="(.*?)" />#is') )
			{
				$log['os'] = strip_tags($osTmp[0]);
			    $log['os'] = strip_tags(utf8_encode(trim($osTmp[0])));
			    $log['os'] = str_replace("\n", '', $log['os']);
			    $log['os'] = str_replace("\t", '', $log['os']);
			    $log['os'] = str_replace("\r", '', $log['os']);
			    $log['os'] = str_replace('  ', '', $log['os']);

			}
			else
			{
			    $log['os'] = 'Aucune Information ...';
			}

			// on récupere la licence
			if( $licenceTmp = getEpression($contenuUrl,'#<div class="dl_mini_down">(.*?)</div>#is') )
			{
				$log['licence'] = strip_tags(utf8_encode($licenceTmp[0]));
				$log['licence'] = str_replace("\n", '', $log['licence']);
			    $log['licence'] = str_replace("\t", '', $log['licence']);
			    $log['licence'] = str_replace("\r", '', $log['licence']);
			    $log['licence'] = str_replace('  ', '', $log['licence']);
			}
			else
			{
			    $log['licence'] = 'Aucune Information ...';
			}
			
			// on récupere la note critique spectateur
		if( $noteTmp = getEpression($contenuUrl,'#<div class="etoile value-title" title="(.*?)">#is') )
		{
			$noteTmp = strip_tags($noteTmp[0]);
			$log['note'] = '<img src="'.$url_default.'images/note_allo/note_allo_n'.$noteTmp.'.png" alt="" /> ';
			$log['note_'] = '[img]'.$url_default.'images/note_allo/note_allo_n'.$noteTmp.'.png[/img] ';
		}
		else
			{
			 $log['note'] = '<img src="'.$url_default.'images/note_allo/note_allo_null.png" alt="" /> ';
			$log['note_'] = '[img]'.$url_default.'images/note_allo/note_allo_null.png[/img] ';
			}
		return(array($log,$erreur));
	}

?>