view tb_send.php @ 37:5eb974b45cb1

Deplacement de la feed atom vers le nouveau code.
author Franck Deroche <webmaster@defr.org>
date Mon, 05 Nov 2007 10:44:07 +0100
parents 629389204276
children
line wrap: on
line source
<?php
	include("classes.php");
	$Data = new DataAccess();
	$Data->Query("SELECT * FROM Mess WHERE num_mess=255");
	$row = $Data->GetRow();
	$tbAddress = "http://www.defr.org/blog/tb.php?id=255";
	$ar_tbAddress = parse_url($tbAddress);
	if(!array_key_exists('port', $ar_tbAddress)) $ar_tbAddress['port'] = 80;
	if(!array_key_exists('path', $ar_tbAddress)) $ar_tbAddress['path'] = '/';
	if(array_key_exists('query', $ar_tbAddress)) $ar_tbAddress['query'] = '?' . $ar_tbAddress['query'];
	var_export($ar_tbAddress);
		$fp = fsockopen($ar_tbAddress['host'], 80, $errno, $errstr, 15);
		if($fp) {
			$genToSend = "POST {$ar_tbAddress['path']}{$ar_tbAddress['query']} HTTP/1.0\r\n";
			$genToSend .= "Host: {$ar_tbAddress['host']}\r\n";
			$genToSend .= "Content-Type: application/x-www-form-urlencoded \n";
			
			// Essai de récuperation de l'encodage...Envoie en iso si pas d'indication d'UTF...
			$argToSend = "__info=1";
			$toSend = $genToSend . "Content-Length: " . strlen($argToSend) . "\n\n";
			$toSend .= $argToSend;
			echo("<pre>$toSend</pre>");
			fwrite($fp, $toSend);
			while(!feof($fp))
				$result .= fgets($fp, 128);
			fclose($fp);
			if(!preg_match('/<encoding>(UTF-8|utf-8)<\/encoding>/msU',$result)) {
				$row['Titre'] = utf8_decode($row['Titre']);
				$row['Message'] = utf8_decode($row['Message']);
				echo("Snif, utilisation d'ISO...");
			}
			
			$fp = fsockopen($ar_tbAddress['host'], 80, $errno, $errstr, 15);
			$argToSend = "title=" . htmlentities(urlencode($row['Titre'])) . "&blog_name=Dual+Blog";
			$argToSend .= "&url=http://defr.org/blog/posts/{$row['num_mess']}&excerpt=" . htmlentities(urlencode(substr(strip_tags($row['Message']), 0, 255) . "..."));

			$toSend = $genToSend . "Content-Length: " . strlen($argToSend) . "\n\n";
			$toSend .= $argToSend;
			echo("<pre>$toSend</pre>");
			fwrite($fp, $toSend);
			while (!feof($fp)) {
				echo fgets($fp, 128);
			}
			fclose($fp);
		} else {
			echo("Pb de connexion : $errno - $errstr");
		}
?>