#!/usr/bin/perl

use LWP::Simple qw($ua get);

$init{'twitterID'} = 'youkososapporo';
$init{'twitterPW'} = 'PfkjvRgnkibNOsjCYGha';
$init{'cache'} = 'tweet.cache';
$init{'disp_count'} = 6;

@cache = stat($init{'cache'});
$now = time();
$cachetime = $cache[9] + (60 * 60);
if($cachetime < $now){
	my($url) = 'http://'.$init{'twitterID'}.':'.$init{'twitterPW'}.'@twitter.com/statuses/friends_timeline/'.$init{'twitterID'}.'.xml';
	my($xml) = get($url);
	@parse = split(/<\/status>/,$xml);
	$script = "document.write(\"<dl id='tweet2web'>\");\n";
	for($cnt=0;$cnt<@parse;$cnt++){
		if($parse[$cnt] =~ /<\/created_at>.*?<id>(.*?)<\/id>.*?<text>(.*?)<\/text>.*?<user>.*?<name>(.*?)<\/name>/si){
			$id = $1;
			$text = $2;
			$name = $3;
			$text =~ s/\r/\n/ig;
			if($text =~ /http\:\/\/(.*?)$/si){
				$uri = $1;
				($text,$dir) = split(/http\:\/\//,$text);
				$text =~ s/\n/<br \/>/ig;
				$script .= "document.write(\"<dt><a href='http://twitter.com/youkososapporo/' target='_blank'>${name}</a></dt><dd><a href='http\:\/\/${uri}' target='_blank'>${text}</a></dd>\");\n";
			}
			else {
				$text =~ s/\n/<br \/>/ig;
				$script .= "document.write(\"<dt><a href='http://twitter.com/youkososapporo/' target='_blank'>${name}</a></dt><dd>${text}</dd>\");\n";
			}
			$init{'disp_count'}--;
		}
	}
	$script .= "document.write(\"</dl>\");\n";
	flock(FH, LOCK_EX);
		open(FH,">$init{'cache'}");
			print FH $script;
		close(FH);
	flock(FH, LOCK_NB);
}
else {
	flock(FH, LOCK_EX);
		open(FH,$init{'cache'});
			@cache = <FH>;
		close(FH);
	flock(FH, LOCK_NB);
	$script = join('',@cache);
}

print "Pragma: no-cache\n";
print "Cache-Control: no-cache\n";
print "Content-type: text/plain; charset=UTF-8\n\n";
print $script;
exit;