<?php
function echoPre($array){
	echo '<pre>';
	print_r($array);
	echo '</pre>';
}

function is_image($file){
	if (is_array($file)){
		return false;
	}
	
	
	$file=strtolower($file);
	$res= substr($file,-4)=='.jpg'||substr($file,-4)=='.png'||substr($file,-5)=='.jpeg';
	if ($res)
		echo '<b>'.$file.'</b><br />';
	return $res;
}

function saveJPG($occurence,$name){
	if (!is_dir($name))
		mkdir($name);
	file_put_contents($name.'/'.uniqid().basename($occurence),file_get_contents($occurence));
}


$url = 'https://api.gbif.org/v1/occurrence/download/request';
$username="sylvain.ard@gmail.com";
//$password=XXXX
$ch = curl_init($url);
curl_setopt ($ch, CURLOPT_CAINFO, dirname(__FILE__)."/cacert.pem");
curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
// add more options if you wish
$response = curl_exec($ch);
   
if(curl_exec($ch) === false)
{
    echo 'Erreur Curl : ' . curl_error($ch).'<br>';
}
else
{
    echo 'L\'opération s\'est terminée sans aucune erreur<br>';
}
$pdo = new PDO('mysql:host=localhost;dbname=taxref15', 'root', '');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt= $pdo->prepare("SELECT DISTINCT LB_name FROM taxref15 WHERE CD_SUP IN (SELECT CD_REF FROM taxref15 WHERE LB_name='Taraxacum') AND RANG='ES' and FR='P'");
$stmt->execute([]);
//while($row=$stmt->fetch())
{ 
	//$name=$row['LB_name'];
	echo "<b>$name</b><br>";
	$name='Taraxacum aberrans';
	$url='https://api.gbif.org/v1/species?name='.urlencode($name).'&limit=2000';
	echo $url.'<br />';
	$especes=json_decode(file_get_contents($url),true);
	echoPre($especes);
	$keys=array();
	foreach($especes['results'] as $espece){
		if (isset($espece['nubKey']))
			$keys[]=$espece['nubKey'];
	}
	$keys=array_unique($keys);
	foreach($keys as $key){
		$occurences=json_decode(file_get_contents('https://api.gbif.org/v1/occurrence/search?taxonKey='.$key.'&limit=2000'),true);
		echoPre($occurences);
		foreach($occurences['results'] as $occurence){
			echoPre($occurence);
			if (is_array($occurence)){
				foreach($occurence as $occ){
					if (is_array($occ)){
						foreach($occ as $occ2){
							if (is_array($occ2)){
								foreach($occ2 as $occ3){
									if (is_array($occ3)){
										foreach($occ3 as $occ4){
											if (is_array($occ4)){
												foreach($occ4 as $occ5){
													if (is_image($occ5))
														saveJPG($occ5,$name);
												}
											}
											else
												if (is_image($occ4))
													saveJPG($occ4,$name);
										}
									}
									else
										if (is_image($occ3))
											saveJPG($occ3,$name);
								}
							}
							else
								if (is_image($occ2))
									saveJPG($occ2,$name);
								
							}
						}
							else
							if (is_image($occ))
								saveJPG($occ,$name);
						}
					}
					else
						if (is_image($occurrence))
							saveJPG($occurrence,$name);
				}
			}
		}

curl_close($ch);

?>