<?php
header("Content-Type: text/plain; charset=ISO-8859-1");

function scraping_radio( ) {

    $dom = new DOMDocument('2.0');

$ualist=array ( 'Mozilla/5.0 (Linux; Android 5.0; SAMSUNG SM-G900F Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36',
'Mozilla/5.0 (Linux; Android 5.0; SM-G900F Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.93 Mobile Safari/537.36',
'Mozilla/5.0 (Linux; Android 5.0; SM-G900F Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.83 Mobile Safari/537.36',
'Mozilla/5.0 (Linux; Android 5.0; SM-N9005 Build/LRX21V) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.83 Mobile Safari/537.36',
'Mozilla/5.0 (Linux; Android 5.1.1; A0001 Build/LMY48B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.83 Mobile Safari/537.36',
'Mozilla/5.0 (Linux; Android 5.1.1; D2303 Build/18.6.A.0.175; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/47.0.2526.77 Mobile Safari/537.36   ACHEETAHI/2100502018',
'Mozilla/5.0 (Linux; Android 5.1.1; D5803 Build/23.4.A.1.264) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.94 Mobile Safari/537.36',
'Mozilla/5.0 (Linux; Android 5.1.1; D5803 Build/23.4.A.1.264) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.83 Mobile Safari/537.36',
'Mozilla/5.0 (Linux; Android 5.1.1; D6603 Build/23.4.A.1.264) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.83 Mobile Safari/537.36',
'Mozilla/5.0 (Linux; Android 5.1.1; RAINBOW LITE 4G Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.83 Mobile Safari/537.36',
'Mozilla/5.0 (Linux; Android 5.1.1; SAMSUNG SM-G531F Build/LMY48B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.3 Chrome/38.0.2125.102 Mobile Safari/537.36',
'Mozilla/5.0 (Linux; Android 5.1.1; SAMSUNG SM-G920F/G920FXXU3COI9 Build/LMY47X) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.2 Chrome/38.0.2125.102 Mobile Safari/537.36',
'Mozilla/5.0 (Linux; Android 5.1.1; SAMSUNG SM-G920F-ORANGE Build/LMY47X) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.2 Chrome/38.0.2125.102 Mobile Safari/537.36',
'Mozilla/5.0 (Linux; Android 5.1.1; SAMSUNG SM-J500FN Build/LMY48B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.3 Chrome/38.0.2125.102 Mobile Safari/537.36',
'Mozilla/5.0 (Linux; Android 5.1.1; SAMSUNG SM-N910F Build/LMY47X) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36',
'Mozilla/5.0 (Linux; Android 5.1.1; SM-G920F Build/LMY47X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.83 Mobile Safari/537.36',
'Mozilla/5.0 (Linux; Android 5.1.1; SM-N910F Build/LMY47X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.83 Mobile Safari/537.36',
'Mozilla/5.0 (Linux; Android 5.1; Archos 55 Helium Plus Build/LMY47D) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.133 Mobile Safari/537.36',
'Mozilla/5.0 (Linux; Android 5.1; LENNY2 Build/LMY47I) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.76 Mobile Safari/537.36',
'Mozilla/5.0 (Linux; Android 5.1; XT1032 Build/LPB23.13-56) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.83 Mobile Safari/537.36',
'Mozilla/5.0 (Linux; U; Android 2.3.3; fr-fr; GT-I9100 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',
'Mozilla/5.0 (Linux; U; Android 4.0.3; fr-fr; LG-E610 Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
'Mozilla/5.0 (Linux; U; Android 4.0.4; fr-fr; SonyEricssonLT26i Build/6.1.A.2.45) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
'Mozilla/5.0 (Linux; U; Android 4.1.2; fr-fr; GT-I8190 Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
'Mozilla/5.0 (Linux; U; Android 4.3; fr-fr; GT-I9300 Build/JSS15J) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
'Mozilla/5.0 (Linux; U; Android 4.4.2;  zh-cn; itel it1403+; Android/4.4.2; Release/02.03.2015)  AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30'
);



                $ua = $ualist[mt_rand(0, count($ualist) - 1)];
                //$c = curl_init("http://localhost/hc/rc.html");
                $c = curl_init("http://www.radioclassique.fr");
                curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
                curl_setopt($c,CURLOPT_USERAGENT,$ua);
                //curl_setopt(... other options you want...)

                $html = curl_exec($c);

                if (curl_error($c))
                                die(curl_error($c));

                // Get the status code
                $status = curl_getinfo($c, CURLINFO_HTTP_CODE);
                curl_close($c);

                @$dom->loadHTML($html);

                $xpath = new DOMXPath($dom);


/*
                $item['author']="?";
                $rows = $xpath->query("//*[contains(concat(' ', @class, ' '), ' author ')]");
                foreach($rows as $index => $row){
					//echo "+a".$row->textContent."!";
                                $item['author']= $row->textContent ;
                }
                $item['track']="?";
                $rows = $xpath->query("//*[1][contains(concat(' ', @class, ' '), ' track ')]");
                foreach($rows as $index => $row){
					//echo "+t".$row->textContent."!";
                                $item['track']= $row->textContent ;
                }


*/
				$rows = $xpath->query("//div[@class=\"wrapper\"]/script[@type=\"text/javascript\"]");

				$jasc="";
				foreach($rows as $index => $row){
                    $jasc = $row->textContent ;

                }
				// get rid of html comments
				$jasc = preg_replace('#//<!--#','',$jasc);
				$jasc = preg_replace('#//-->#','',$jasc);
				// clean and trim
				$jasc = preg_replace('#\n#','',$jasc);
				$jasc = preg_replace('#\s\s+#','',$jasc);
				//$jasc = preg_replace('#\/#','$',$jasc);



				/*
				echo "<pre>";
				print_r($jasc); // or var_dump()
				var_dump(json_decode($jasc));
				echo "</pre><br>";
				*/
				// remove first part of jQuery: jQuery('document').ready(function() {app.trigger('abstractPlayer.initAbstract',
				$jasc = preg_replace('#jQuery\(\'document\'\)\.ready\(function\(\)\ \{app\.trigger\(\'abstractPlayer\.initAbstract\',#','',$jasc);
				// remove trailing );});
				$jasc = preg_replace('#\);\}\);#','',$jasc);

				$jasc = preg_replace_callback('/\\\\u([0-9a-fA-F]{4})/', function ($match) {
                      return mb_convert_encoding(pack('H*', $match[1]), 'UTF-8', 'UTF-16BE');
                }, $jasc);

				//$jasc = utf8_decode( $jasc ) ;
				/*
				echo "<pre>";
				print_r($jasc); // or var_dump()
				var_dump(json_decode($jasc));
				echo "</pre><br>";

*/

				$data=json_decode($jasc,true);

				$txt = $data['author'];
				$txt = preg_replace('#�#','o',$txt);
				$txt =utf8_decode( $txt );
				$item['author'] = preg_replace('#:#','',$txt);

				$txt = $data['track'];
				$txt = preg_replace('#�#','o',$txt);
				//$txt = iconv('UTF-8', 'ASCII//TRANSLIT', $txt ); ;
				$txt = preg_replace('#�#','e',$txt);
				$txt =utf8_decode( $txt );
				$item['track'] = preg_replace('#:#',' ',$txt);

				$txt = $data['trackData']['name'];
				$txt = preg_replace('#�#','o',$txt);
				//$txt = iconv('UTF-8', 'ASCII//TRANSLIT', $txt ); ;
				$txt = preg_replace('#�#','e',$txt);
				$txt =utf8_decode( $txt );
				$item['name'] = preg_replace('#:#',' ',$txt);

				$txt = $data['trackData']['title'];
				$txt = preg_replace('#�#','o',$txt);
				//$txt = iconv('UTF-8', 'ASCII//TRANSLIT', $txt ); ;
				$txt = preg_replace('#�#','e',$txt);

				$txt =utf8_decode( $txt );
				$item['title'] = preg_replace('#:#',' ',$txt);

				$txt = $data['trackData']['opus'];
				$txt = preg_replace('#�#','o',$txt);
				//$txt = iconv('UTF-8', 'ASCII//TRANSLIT', $txt ); ;
				$txt = preg_replace('#�#','e',$txt);
				$txt =utf8_decode( $txt );
				$item['opus'] = preg_replace('#:#',' ',$txt);

				$txt = $data['trackData']['tonalite'];
				$txt = preg_replace('#�#','o',$txt);
				//$txt = iconv('UTF-8', 'ASCII//TRANSLIT', $txt ); ;
				$txt = preg_replace('#�#','e',$txt);
				$txt =utf8_decode( $txt );
				$item['tonalite'] = preg_replace('#:#',' ',$txt);

				$txt = $data['trackData']['interpretes'];
				$txt = preg_replace('#�#','o',$txt);
				//$txt = iconv('UTF-8', 'ASCII//TRANSLIT', $txt ); ;
				$txt = preg_replace('#�#','e',$txt);
				$txt =utf8_decode( $txt );
				$item['interpretes'] = preg_replace('#:#',' ',$txt);

				$txt = $data['trackData']['label'];
				$txt = preg_replace('#�#','o',$txt);
				//$txt = iconv('UTF-8', 'ASCII//TRANSLIT', $txt ); ;
				$txt = preg_replace('#�#','e',$txt);
				$txt =utf8_decode( $txt );
				$item['label'] = preg_replace('#:#',' ',$txt);

				$txt = $data['trackData']['refcd'];
				$txt = preg_replace('#�#','o',$txt);
				//$txt = iconv('UTF-8', 'ASCII//TRANSLIT', $txt ); ;
				$txt = preg_replace('#�#','e',$txt);
				$txt =utf8_decode( $txt );
				$item['refcd'] = preg_replace('#:#',' ',$txt);

/*
				echo "<pre>";
				print_r($jasc); // or var_dump()
				var_dump(json_decode($jasc));
				echo "</pre><br>";
*/

                $ret[] = $item ;


    // clean up memory
   // $html->clear();
    //unset($html);

    return $ret;
}




$ret = scraping_radio(   );
$delim="|";
foreach($ret as $v) {
	echo "author:".$v['author'].$delim;
	echo "track:".$v['track'].$delim;
	echo "name:".$v['name'].$delim;
	echo "title:".$v['title'].$delim;
	echo "opus:".$v['opus'].$delim;
	echo "tonalite:".$v['tonalite'].$delim;
	echo "interpretes:".$v['interpretes'].$delim;
	echo "label:".$v['label'].$delim;
	echo "refcd:".$v['refcd'].$delim;

	// echo "radioclassique:".$v['radioclassique'].$delim;
}
$mail=0;
if(isset($_GET["email"])) {
	$mail = preg_replace('/[^A-Za-z0-9\-_]/', '', $_GET["email"] );
}

if ( $mail=="1" ) {
	echo "mail:"."sent".$delim;
	 $to      = 'contact@imavia.com';
     $subject = 'Radio Classique ';

	 $message = $v['name'].' '.$v['title'].' '.$v['opus'].' '.$v['tonalite'].' '.$v['interpretes'].' '.$v['label'].' '.$v['refcd'].' '.$v['author'].' '.$v['track'].' ';

	 $headers = 'From: pascal@imavia.com\r\nReply-To: pascal@imavia.com \r\nX-Mailer: PHP/' . phpversion();

     mail($to, $subject, $message, $headers);
}

?>
