177 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			177 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<? 
 | 
						|
require('CURL.php');
 | 
						|
class Blogs_last_post extends CURL{
 | 
						|
 | 
						|
private $_result;
 | 
						|
 | 
						|
/*private $listeImages = array(
 | 
						|
	0 => 0, // penelope
 | 
						|
	1 => 12, //explosm
 | 
						|
	2 => 0, // margaux
 | 
						|
);
 | 
						|
 | 
						|
private $nomImages = array(
 | 
						|
	0 => 'PenelopeBagieu',
 | 
						|
	1 => 'CyanideAndHapiness',
 | 
						|
	2 => 'MargauxMotin',
 | 
						|
);
 | 
						|
 | 
						|
public $link = array(
 | 
						|
	0 => 'http://www.penelope-jolicoeur.com/',
 | 
						|
	1 => 'http://www.explosm.net/comics/',
 | 
						|
	2 => 'http://margauxmotin.typepad.fr/',
 | 
						|
);*/
 | 
						|
private $link = array();
 | 
						|
 | 
						|
 | 
						|
function getResult()
 | 
						|
{
 | 
						|
	return $this->_result;
 | 
						|
}
 | 
						|
 | 
						|
public function getLinks(){
 | 
						|
	if($linksXML = simplexml_load_file('../db/blog_links.xml')){
 | 
						|
		foreach($linksXML->link as $individualLink){
 | 
						|
			$this->link[] = array('name'=>$individualLink->name, 'url'=>$individualLink->url, 'number'=>$individualLink->number);
 | 
						|
		}
 | 
						|
		return $this->link;
 | 
						|
	}
 | 
						|
	else
 | 
						|
		return;
 | 
						|
}
 | 
						|
 | 
						|
function getTitles()
 | 
						|
{
 | 
						|
	$xhtml = "";
 | 
						|
	try{
 | 
						|
		foreach($this->exec() as $result)
 | 
						|
		{
 | 
						|
			$xhtml .= $this->getTitle($result);
 | 
						|
			$xhtml .= '<br/>';
 | 
						|
		}
 | 
						|
	}catch(Exception $e)
 | 
						|
	{
 | 
						|
		$xhtml .= $this->error();
 | 
						|
	}
 | 
						|
	return $xhtml;
 | 
						|
	
 | 
						|
}
 | 
						|
	
 | 
						|
function getTitle($result = null, $url = null)
 | 
						|
{
 | 
						|
	if(isset($result))
 | 
						|
	{
 | 
						|
		preg_match( "/<h3 class=\"entry-header\">(.*)<\/h3>/i", $result, $match );
 | 
						|
		
 | 
						|
		if(isset($match[1]))
 | 
						|
		return utf8_decode(strip_tags($match[1])); 
 | 
						|
		else{
 | 
						|
			preg_match( "/<title>(.*)<\/title>/i", $result, $title );
 | 
						|
			if(isset($title[1]))
 | 
						|
				return $title[1];
 | 
						|
			else
 | 
						|
			return 'Erreur : pas de titre de blog trouvé.';
 | 
						|
		}
 | 
						|
		
 | 
						|
	}
 | 
						|
	//TODO en fonction de l'url et non du resultat du cURL
 | 
						|
}
 | 
						|
 | 
						|
function getPost()
 | 
						|
{
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
function createThumbnail($result, $title = 0)
 | 
						|
{
 | 
						|
	if(isset($result))
 | 
						|
	{
 | 
						|
		
 | 
						|
		preg_match_all( "#<img[^>]+src=['|\"](.*?)['|\"][^>]*>#i", $result, $match );
 | 
						|
 | 
						|
		/*$ret = file_put_contents('match.txt', var_export($match,true), FILE_APPEND);
 | 
						|
		if ($ret === false)
 | 
						|
		{
 | 
						|
			echo 'erreur';
 | 
						|
		}*/
 | 
						|
		$number = $this->link[$title]['number'];
 | 
						|
		$title 	= $this->link[$title]['name'];
 | 
						|
		if(isset($match[1][(int)$number]))
 | 
						|
		{
 | 
						|
			$source = @imagecreatefromjpeg($match[1][(int)$number]);
 | 
						|
			if($source == false)
 | 
						|
				$source = @imagecreatefrompng($match[1][(int)$number]);
 | 
						|
 | 
						|
			$wSource = @imagesx($source);
 | 
						|
			$hSource = @imagesy($source);
 | 
						|
			
 | 
						|
			$destination = imagecreatetruecolor(50, 50);
 | 
						|
			@imagecopyresampled($destination, $source, 0, 0, 0, 0, 50, 50, $wSource, $hSource);
 | 
						|
			@imagepng($destination, 'images/blogs/'.$title.'.png');
 | 
						|
			return 'images/blogs/'.$title.'.png';
 | 
						|
		}
 | 
						|
	
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
function getImages($notFromGetImage = false)
 | 
						|
{
 | 
						|
	if($notFromGetImage){
 | 
						|
		//TODO stuff
 | 
						|
	}else{
 | 
						|
		$xhtml = "";
 | 
						|
		$i = 0;
 | 
						|
		try{
 | 
						|
			foreach($this->exec() as $result)
 | 
						|
			{
 | 
						|
				$xhtml .= '<img src="'.$this->createThumbnail($result, $i).'" />';
 | 
						|
				$xhtml .= '<br/>';
 | 
						|
				$i++;
 | 
						|
			}
 | 
						|
		}catch(Exception $e)
 | 
						|
		{
 | 
						|
			$xhtml .= $this->error();
 | 
						|
		}
 | 
						|
		return $xhtml;
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
function getAllImagesToChoose($result,$notFromGetImage = false)
 | 
						|
{
 | 
						|
	if($notFromGetImage){
 | 
						|
		//TODO stuff
 | 
						|
	}else{
 | 
						|
		preg_match_all( "#<img[^>]+src=['|\"](.*?)['|\"][^>]*>#i", $result, $match );
 | 
						|
		$nbImages = count($match[1]);
 | 
						|
		$xhtml = 'Liste d\'images : <br/>';
 | 
						|
		
 | 
						|
		for($i = 0; $i<$nbImages; $i++){
 | 
						|
			$xhtml .= '<img src="'.$match[1][$i].'" id="n-'.$i.'" class="choose"/><br/>';
 | 
						|
		}
 | 
						|
		return $xhtml;
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
function getEverything()
 | 
						|
{
 | 
						|
		$temps_debut = microtime(true);
 | 
						|
		$xhtml = "";
 | 
						|
		$i = 0;
 | 
						|
		try{
 | 
						|
			foreach($this->exec() as $result)
 | 
						|
			{
 | 
						|
				$xhtml .= '<a href="'.$this->link[$i]['url'].'" target="_blank" class="blogLinks"><img src="'.$this->createThumbnail($result, $i).'" />  '.utf8_encode($this->getTitle($result))."</a>";
 | 
						|
				$xhtml .= '<br/>';
 | 
						|
				$i++;
 | 
						|
			}
 | 
						|
		}catch(Exception $e)
 | 
						|
		{
 | 
						|
			$xhtml .= $this->error();
 | 
						|
		}
 | 
						|
		$temps_fin = microtime(true);
 | 
						|
		$xhtml .= 'Temps d\'execution : '.round($temps_fin - $temps_debut, 4).'s';
 | 
						|
		return $xhtml;
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
} |