
22.10.2007, 10:58
|
|
OpenVPN.CC
Регистрация: 15.07.2005
Сообщений: 1,599
С нами:
10958786
Репутация:
1034
|
|
PHP код:
#!/usr/bin/perl
################
# Code by PAA #
################
use LWP::UserAgent;
use Mail::Sender;
$icq='641093';
$downmins=40;
$cur=check($icq);
my ($was,$icqtime,$smsstatus)=get($icq);
if(($was == 0) && ($cur == 1))
{
#SMS ONLINE
if($smsstatus == 0)
{
sms_event('+71111111111@sms.beline.ru',"$icq online");
$smsstatus=1;
}
set($icq,1,time,$smsstatus);
}
elsif($cur == 0)
{
$icqtime = time if($was == 1);
if((time - $icqtime > $downmins*60) && ($smsstatus == 1))
{
#SMS OFFLINE $downmins MINS
sms_event('+71111111111@sms.beline.ru',"$icq offline $downmins mins");
$smsstatus=0;
}
set($icq,0,$icqtime,$smsstatus);
}
sub check
{
my $icq = shift;
my $link="http://status.icq.com/online.gif?icq=$icq&img=5";
my $res = LWP::UserAgent->new->request(new HTTP::Request GET => $link);
#print $res->request->url."\n";
if($res->request->url =~ /http:\/\/status.icq.com\/5\/online(\d).gif/)
{
return $1;
}
}
sub get
{
my $icq = shift;
my $file="/tmp/status$icq";
my $icqstatus;
my $icqtime;
my $smsstatus;
if(-e $file && -s $file)
{
open(F,$file);
chomp($icqstatus=<F>);
chomp($icqtime=<F>);
chomp($smsstatus=<F>);
close F;
$icqstatus='0' if ($icqstatus ne '1');
$smsstatus='0' if ($smsstatus ne '1');
return ($icqstatus,$icqtime,$smsstatus);
}
else
{
return (0,time,0);
}
}
sub set
{
my $icq = shift;
my $icqstatus=shift;
my $icqtime=shift;
my $smsstatus=shift;
$icqstatus='0' if ($icqstatus ne '1');
$smsstatus='0' if ($smsstatus ne '1');
my $file="/tmp/status$icq";
open F,"> $file";
print F "$icqstatus\n$icqtime\n$smsstatus\n";
close F;
}
sub sms_event
{
my $to=shift;
my $message=shift;
$message=~s/\n$//g;
my $from = 'icq@mail.sru';
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);
$mon++; $year+=1900;
my $time=sprintf("%02d:%02d %02d.%02d.%04d",$hour,$min,$mday,$mon,$year);
$Mail::Sender::NO_X_MAILER = 1;
my $sender = new Mail::Sender {smtp => 'smtp.mail.sru', from => 'icq@mail.sru'};
#$sender->MailMsg({to => $to, msg => "$message\n$time", charset => 'Windows-1251'});
$sender->MailMsg({to => $to, msg => "$message\n$time", charset => 'Windows-1251'});
}
Вот тебе на подобе скриптеГ
|
|
|