package Plugins::webfile;
#
# webfile.pm module is a part of Web Share Downloader
# Copyright (C) 2006,2008 by Aleksey Luzin
#
#

use lib '..';
use sql;
use WSD::Download qw/&direct_download &create_request/;
use Common;
use strict;
use warnings;
use Exporter ();
use vars qw($VERSION);

our (@ISA, @EXPORT);
@ISA = qw(Exporter);
@EXPORT = qw(&check_link &download);
$VERSION = "1.5" ;

sub check_link {
	shift;
	my $link = shift;
	if ($link =~ /webfile\.ru/) {
	return 1;
	}
	return 0;
}
sub get_directlink {
	my $link = shift;
	my $req = create_request($link);
	my $response = $browser->request($req);
	unless ($response->is_success) {return ''; }
	my $content = $response->content;
	unless ($content =~ /window.open\(\'([^\']*?)\'/s) {return '';}
	my $dlink = $1;
	$dlink = 'http://webfile.ru'.$dlink unless ($dlink =~ /http\:\//);
	$log->write(2, "dlink:$dlink");
	return $dlink;    
}

sub download {
	shift;
	my $id = shift;
	my $link = $links->getlink($id);
	$links->setstatus($id, {status=>1});
	my $dlink = get_directlink($link->{link});
	if ($dlink) {
		sleep(5);
		my $req = create_request($dlink);
		WSD::Download::direct_download($id, $req);    
	} else {
		my $error = 'Не могу получить прямую ссылку';
		execute('update links set status = 3, statustext = ?, nexttry = current_timestamp + interval 5 minute where id = ?', $error, $id);
	}
}
1;