+sub sendSmsViaOrange
+{
+ my ($login, $password, $number, $message) = @_;
+
+ my $cookie_jar = HTTP::Cookies->new;
+ my $ua = new LWP::UserAgent;
+ $ua->timeout(30);
+ $ua->agent("Lynx/2.8.5rel.1 libwww-FM/2.14 SSL-MM/1.4.1 OpenSSL/0.9.7d");
+ $ua->no_proxy('www.orange.pl');
+ $ua->cookie_jar($cookie_jar);
+
+ my $res; my $req;
+
+ $number =~ s/^\+48//;
+ $number =~ s/^00//;
+
+ push @{ $ua->requests_redirectable }, 'POST';
+
+
+ # 1. get sms-index
+ $res = $ua->request (GET 'http://www.orange.pl/portal/map/map/signin');
+ return "B\xc5\x82\xc4\x85d przy otwieraniu formularza [1]" unless $res->is_success;
+
+ # 2. send the POST login form
+ # FIXME ssl!
+ $req = POST 'http://www.orange.pl/portal/map/map/homeo?_DARGS=/gear/static/home/login.jsp.loginFormId', [
+ '_dyncharset'=>'UTF-8',
+ '/amg/ptk/map/core/formhandlers/AdvancedProfileFormHandler.loginErrorURL'=>'/portal/map/map/signin',
+ '_D:/amg/ptk/map/core/formhandlers/AdvancedProfileFormHandler.loginErrorURL'=>' ',
+ '/amg/ptk/map/core/formhandlers/AdvancedProfileFormHandler.loginSuccessURL'=>'http://www.orange.pl/portal/map/map/message_box',
+ '_D:/amg/ptk/map/core/formhandlers/AdvancedProfileFormHandler.loginSuccessURL'=>' ',
+ '/amg/ptk/map/core/formhandlers/AdvancedProfileFormHandler.value.login'=>$login,
+ '_D:/amg/ptk/map/core/formhandlers/AdvancedProfileFormHandler.value.login'=>' ',
+ '/amg/ptk/map/core/formhandlers/AdvancedProfileFormHandler.value.password'=>$password,
+ '_D:/amg/ptk/map/core/formhandlers/AdvancedProfileFormHandler.value.password'=>' ',
+ '/amg/ptk/map/core/formhandlers/AdvancedProfileFormHandler.login.x'=>13,
+ '/amg/ptk/map/core/formhandlers/AdvancedProfileFormHandler.login.y'=>7,
+ '_D:/amg/ptk/map/core/formhandlers/AdvancedProfileFormHandler.login'=>' ',
+ '_DARGS'=>'/gear/static/home/login.jsp.loginFormId',
+ ];
+
+
+ $req->referer ("https://www.orange.pl/portal/map/map/idmp/sloin");
+ $res = $ua->request($req);
+ return "B\xc5\x82\xc4\x85d przy logowaniu [2]" unless $res->is_success;
+ return "B\xc5\x82\xc4\x85d przy logowaniu - nieprawid\xc5\x82owe has\xc5\x82o? [2]" unless $res->content =~ /zalogowany jako/;
+
+ #$req = GET 'http://www.orange.pl/portal/map/map/message_box';
+ #$res = $ua->request($req);
+
+ # Nie do konca odczytuje jeszcze ilosc pozostalych smsow (jesli sa jeszcze z doladowan)
+ # FIXME zrobic to ladniej..
+ my $sms_zostalo = 666;
+ my $cnt = $res->content;
+
+ my $l = index $cnt, 'div id="syndication"'; my $r = index $cnt, 'div id="mbox-menu"'; $cnt = substr($cnt, $l, $r-$l);
+ $cnt =~ s/\s+//mg; $cnt =~ s/(?:<\/[^>]+>|<[^>]+>)//g; if ($cnt =~ /darmowe:([0-9]+)(zdo[^0-9]*([0-9]*))?/)
+ {
+ $sms_zostalo = eval ($1);
+ $sms_zostalo += eval ($3) if $3;
+ }
+
+ return "Nie mog\xc4\x99 odczyta\xc4\x87 ilo\xc5\x9bci dost\xc4\x99pnych SMS\xc3\xb3w" if $sms_zostalo == 666;
+ return "Limit wiadomo\xc5\x9bci na ten miesi\xc4\x85c przekroczony" if $sms_zostalo == 0;
+
+ $res = $ua->request (GET 'http://www.orange.pl/portal/map/map/message_box?mbox_view=newsms&mbox_edit=new');
+ return "B\xc5\x82\xc4\x85d przy otwarciu formularza SMS [4]" unless $res->is_success;
+
+ # _DARGS=/gear/mapmessagebox/smsform.jsp na WWW jest i w GET string i w POST :)
+ $req = POST 'http://www.orange.pl/portal/map/map/message_box?_DARGS=/gear/mapmessagebox/smsform.jsp', [
+ '_dyncharset'=>'UTF-8',
+ '/amg/ptk/map/messagebox/formhandlers/MessageFormHandler.type'=>'sms',
+ '_D:/amg/ptk/map/messagebox/formhandlers/MessageFormHandler.type'=>' ',
+ 'enabled'=>'false',
+ '/amg/ptk/map/messagebox/formhandlers/MessageFormHandler.errorURL'=>'/portal/map/map/message_box?mbox_view=newsms',
+ '_D:/amg/ptk/map/messagebox/formhandlers/MessageFormHandler.errorURL'=>' ',
+ '/amg/ptk/map/messagebox/formhandlers/MessageFormHandler.successURL'=>'/portal/map/map/message_box?mbox_view=messageslist',
+ '_D:/amg/ptk/map/messagebox/formhandlers/MessageFormHandler.successURL'=>' ',
+ #'smscounter'=>'1',
+ 'counter'=>(640 - length($message)),
+ '/amg/ptk/map/messagebox/formhandlers/MessageFormHandler.to'=>$number,
+ '_D:/amg/ptk/map/messagebox/formhandlers/MessageFormHandler.to'=>' ',
+ '_D:/amg/ptk/map/messagebox/formhandlers/MessageFormHandler.body'=>' ',
+ '/amg/ptk/map/messagebox/formhandlers/MessageFormHandler.body'=>$message,
+ '/amg/ptk/map/messagebox/formhandlers/MessageFormHandler.create.x'=>'57',
+ '/amg/ptk/map/messagebox/formhandlers/MessageFormHandler.create.y'=>'12',
+ #'/amg/ptk/map/messagebox/formhandlers/MessageFormHandler.create'=>'Wy%C5%9Blij',
+ '_D:/amg/ptk/map/messagebox/formhandlers/MessageFormHandler.create'=>' ',
+ '_DARGS'=>'/gear/mapmessagebox/smsform.jsp',
+ ];
+ $req->referer('http://www.orange.pl/portal/map/map/message_box?mbox_view=newsms&mbox_edit=new');
+ $res = $ua->request($req);
+
+ return "B\xc5\x82\xc4\x85d przy ostatecznym wysy\xc5\x82aniu SMS [5]" unless $res->is_success;
+
+ $cnt = $res->content;
+ return $1 if $res->content =~ /div class="box-error">\s*(.*)<\/p>/m;
+
+ my $sms_zostalo2 = 666;
+
+ $l = index $cnt, 'div id="syndication"'; $r = index $cnt, 'div id="mbox-menu"'; $cnt = substr($cnt, $l, $r-$l);
+ $cnt =~ s/\s+//mg; $cnt =~ s/(?:<\/[^>]+>|<[^>]+>)//g; if ($cnt =~ /darmowe:([0-9]+)(zdo[^0-9]*([0-9]*))?/)
+ {
+ $sms_zostalo2 = eval ($1);
+ $sms_zostalo2 += eval ($3) if $3;
+ }
+
+ return "Nie mog\xc4\x99 odczyta\xc4\x87 ilo\xc5\x9bci dost\xc4\x99pnych SMS\xc3\xb3w" if $sms_zostalo2 == 666;
+ if ($sms_zostalo > $sms_zostalo2) {
+ return "Wszystko OK; pozosta\xc5\x82y limit wiadomo\xc5\x9bci: ".$sms_zostalo2;
+ } else {
+ return "Wiadomo\xc5\x9b\xc4\x87 wys\xc5\x82ana, ale STATUS NIEZNANY (pozosta\xc5\x82y limit: ".$sms_zostalo2.").";
+ }
+}
+
+1;
+
diff -ruN asa-0.1.7/plugins/WwwPlusa.pl asa-svn-26-05-2007/plugins/WwwPlusa.pl
--- asa-0.1.7/plugins/WwwPlusa.pl 2005-01-04 20:31:24.000000000 +0100
+++ asa-svn-26-05-2007/plugins/WwwPlusa.pl 2007-05-26 09:26:03.000000000 +0200
@@ -5,9 +5,9 @@
use strict;
my $PLUGIN_NAME = "WwwPlusa";
-my $PLUGIN_VERSION = "0.1";
+my $PLUGIN_VERSION = "0.2-20051005-kg";
my $DEFAULT_PRIO = 1;
-my $DEST_NUMBERS_REGEXP = '^\+48(60[13579]|69[1357]|66[13])'; # needed linke this in //
+my $DEST_NUMBERS_REGEXP = '^\+48(6[069][13579])'; # needed linke this in //
# RULES:
# 1. ALWAYS, ALWAYS, ALWAYS create new presence/message/iq