package Plugins::zshare;
#
# zshare.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 HTTP::Request::Common qw(POST);
use strict;
use warnings;
use Exporter ();
use vars qw($VERSION);

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


sub check_link {
    shift;
    my $link = shift;
    if ($link =~ /zshare\.net/) {
	return 1;
    }
    return 0;
}
sub get_directlink {
	my $link = shift;
	my $req = POST $link,
		Referer => $link,
		Content => [download=>'1'];
	my $response = $browser->request($req);
	unless ($response->is_success) {return '';}
	my $content = $response->content;
	$content =~ /Array\((.*?)\)/;
	my $array = $1;
	$array =~ s/'(.)',/$1/g;
	$array =~ s/'(.)'/$1/g;
	return $array;    
}

sub download {
    shift;
    my $id = shift;
    execute('update links set status = 1 where id = ?', $id);
    my $query = 'select link from links where id = ?';
    my $url = query($query, $id)->[0]->[0];
    my $dlink = get_directlink($url);
    if ($dlink) {
	sleep(20);
	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;