############################################################
# playvideo plugin
# playvideo.inc.pl
# Copyright(c) 2010 Nanami.
# for PyukiWiki 0.1.7 (http://nanakochi.daiba.cx/)
#
# 2010/11/13 change: 無圧縮zipでダウンロードできるようにした。
#                    大量の動画があるときキャッシュから取得するように
#                    した。ただし、有効期限は１時間です。
# 2010/10/27 change: MSIE とOpera以外はWindwos Mediaプレイヤー
#                    再生時に_blank(実質別タブ）になるようにした。
#                    Safariでは本当に別窓になります。
# 2010/10/24 change: use sub make_link_target
#
# 1TAB=4Spaces

use Nana::Cache;
use Image::ExifTool;
require "plugin/counter.inc.pl";

$playvideo_plugin_usedownload=1;	# 使わない時は0にする。
$playvideo_plugin_zipcmds=<<EOM;
/usr/bin/zip
/usr/local/bin/zip
EOM
$playvideo_plugin_zipflags="-0";
$playvideo_plugin_ziptmp="/tmp";
$playvideo_plugin_videopath="video";

sub plugin_playvideo_inline {
	my ($arg)=@_;
	my ($fname,$youtube)=split(/,/,$arg);
	my $body;

	$playsite="http://$ENV{HTTP_HOST}/v.cgi";
	$videopath=$playvideo_plugin_videopath;
	$videourl="http://$ENV{HTTP_HOST}/$videopath";
	$fname=~s/\..*//g;
	$ext="asx";
	$wmv="wmv";
	$zip="zip";

	my $browser=$ENV{'HTTP_USER_AGENT'};

	my $wmvtarget = "";
	if ($browser=~/MSIE/ || $browser=~/Opera/ ) { 
	} else {
		$wmvtarget = "_blank";
	}
	$body.=<<EOM;
<strong>
@{[&make_link_target("$playsite/$fname.$ext","",$wmvtarget,"Windows Media Playerで再生")]}
[Windows Media Playerで再生]</a></strong>
EOM
	if($youtube ne '') {
		$body.=<<EOM;
@{[&make_link_target("$playsite/$fname.$youtube","","_blank","Youtubeで再生")]}
[Youtubeで再生]</a>
EOM
	}
	if($playvideo_plugin_usedownload eq 1) {

		$body.=<<EOM;
@{[&make_link_target("$playsite/$fname.$zip","","","ダウンロード")]}
[ダウンロード]</a>
EOM
	}

	my $cache=new Nana::Cache (
		ext=>"playvideo",
		files=>500,
		dir=>$::cache_dir,
		size=>100000,
		use=>1,
		expire=>3600
	);
	my $cachefile="playvideo_time_$fname";
	my $buf=$cache->read($cachefile,1);
	if($buf eq '') {
		my $exifTool = new Image::ExifTool;
		my $info = $exifTool->ImageInfo("$videopath/$fname.$wmv");
		$buf=$$info{SendDuration};
		$cache->write($cachefile,$buf);
	}
	$body.=<<EOM;
($buf)
<br>
EOM
	%vcounter=&plugin_counter_do("playvideo_$fname","r");
	$body.=<<EOM;
<span style="font-size: 10px;">
TOTAL: $vcounter{total} TODAY: $vcounter{today} YESTERDAY:$vcounter{yesterday}
</span>
EOM

	return $body;
}
1;
