#============================================================================================================
#
# 拡張機能 - ようつべリンカーR
# 0ch_youtube_r.pl - ver20070207
# by uuuss ◆uuussBh4TI ( uuussatm@gmail.com / http://afox.s206.xrea.com/ )
# UTF-8版 by mirrorhenkan ( http://www.geocities.jp/mirrorhenkan/ )
# ---------------------------------------------------------------------------
# ライセンスについて
# ライセンスは、ぜろちゃんねる(test060227)と同じです。
# 以下は、ぜろちゃんねる(test060227)配布アーカイブ/readme/readme.txtからの引用です。
#
# 本スクリプトは自由に改造・再配布してもらってかまいません。また、本スクリ
# プトによって出力されるクレジット表示(バージョン表示)などの表示も消して使用
# してもらっても構いません。
# ただし、作者は本スクリプトと付属ファイルに関する著作権を放棄しません。
# また、作者は本スクリプト使用に関して発生したいかなるトラブルにも責任を負
# いかねますのでご了承ください。
#
# 引用ここまで。
# ---------------------------------------------------------------------------
# このプラグインは 7M. ◆dq7M./4Uw. 氏が作ったようつべリンカーが公開停止
# になってしまったので uuuss がなんとなく作ってみたものを663◆fnwcOWFi56 がプチハックしたものです。
# たぶん test060227 で動きます、 test070124 でも動くと思うけど。
# 7M. ◆dq7M./4Uw. 版ようつべリンカーが弄ったDATはそのままじゃ使えないかも(^^;)
# ---------------------------------------------------------------------------
# 2007.02.07 start
# 2007.04.15 ニコニコ動画、字幕.inに対応
# 2007.06.20 2007.04.15を2007.01.15と書いていたのを修正
# 2007.06.20 YouTubeの国際化に対応
# 2008.09.15 0ch for UTF8用に少しだけ手直し by mirrorhenkan ( http://www.geocities.jp/mirrorhenkan/ )
# 2008.09.17 comicomi( http://comibook.com/ ) 追加
# 2008.10.06 nicovideo mylistに対応
# 2009.03.01 YouTubeのuserページに対応
#
#============================================================================================================
package ZPL_youtube_r;
#------------------------------------------------------------------------------------------------------------
#
# コンストラクタ
# -------------------------------------------------------------------------------------
# @param なし
# @return オブジェクト
#
#------------------------------------------------------------------------------------------------------------
sub new
{
my $this = shift;
my $obj={};
bless($obj,$this);
return $obj;
}
#------------------------------------------------------------------------------------------------------------
#
# 拡張機能名称取得
# -------------------------------------------------------------------------------------
# @param なし
# @return 名称文字列
#
#------------------------------------------------------------------------------------------------------------
sub getName
{
my $this = shift;
return 'ようつべリンカーR';
}
#------------------------------------------------------------------------------------------------------------
#
# 拡張機能説明取得
# -------------------------------------------------------------------------------------
# @param なし
# @return 説明文字列
#
#------------------------------------------------------------------------------------------------------------
sub getExplanation
{
my $this = shift;
return 'youtubeへのリンクをリンク先の動画に置き換えるらしいw';
}
#------------------------------------------------------------------------------------------------------------
#
# 拡張機能タイプ取得
# -------------------------------------------------------------------------------------
# @param なし
# @return 拡張機能タイプ(スレ立て:1,レス:2,read:4,index:8)
#
#------------------------------------------------------------------------------------------------------------
sub getType
{
my $this = shift;
return (4 | 8);
}
#------------------------------------------------------------------------------------------------------------
#
# 拡張機能実行インタフェイス
# -------------------------------------------------------------------------------------
# @param $sys MELKOR
# @param $form SAMWISE
# @return 正常終了の場合は0
#
#------------------------------------------------------------------------------------------------------------
sub execute
{
my $this = shift;
my ($sys) = @_;
$sys->Get('_DAT_')->[3] =~ s#]+>http://(([a-z]{2}|www)\.)?youtube\.com/watch\?v=([^<]+)#http://youtube.com/watch?v=$3
#g; # YouTube
$sys->Get('_DAT_')->[3] =~ s#]+>http://((?:[a-z]{2}|www)\.)nicovideo\.jp/watch/([^<]+)#http://$1nicovideo.jp/watch/$2