diff options
Diffstat (limited to 'localsendsms')
-rwxr-xr-x | localsendsms | 47 |
1 files changed, 24 insertions, 23 deletions
diff --git a/localsendsms b/localsendsms index 6b69e93..3f5ca07 100755 --- a/localsendsms +++ b/localsendsms @@ -11,7 +11,7 @@ use warnings; use Env qw[$debug $info $warn $dummy $urldecode]; use Log::Log4perl qw(:easy); use Text::Unidecode; -use Encode 2.12 qw(encode decode_utf8 _utf8_off); # need v2.12 to support coderef +use Encode 2.12 qw(encode decode _utf8_off); # need v2.12 to support coderef use LWP::UserAgent; use URI::Escape; @@ -60,11 +60,11 @@ if ($debug) { sub transliterate { my ($tocharset, $string) = @_; - my $res = encode($tocharset, decode_utf8($string), sub { + my $res = encode($tocharset, decode('GSM0338', encode('GSM0338', decode('UTF-8', $string), sub { my $ascii = unidecode(chr $_[0]); _utf8_off($ascii); $ascii; - }); + }))); return $res; } @@ -72,26 +72,26 @@ sub transliterate { sub sendmsg { my ($from, $to, $desc, $msg) = @_; + my $ua = LWP::UserAgent->new(agent => "localsendsms"); + $ua->timeout(10); + my $url = $sms_url + . '?' . $sms_usertag . '=' . uri_escape($sms_user) + . '&password=' . uri_escape($sms_pw) + . '&to=' . uri_escape($to); + $url .= '&api_id=' . uri_escape($sms_api) if ($sms_api); + $url .= '&callback=' . uri_escape($sms_callback) if ($sms_callback); + $url .= '&from=' . uri_escape($from) if ($from); + $url .= '&smsc=' . uri_escape($sms_smsc) if ($sms_smsc); + $url .= '&concatenation=true' if ($sms_concatenation); + $url .= '&concat=' . uri_escape($sms_concat) if ($sms_concat); + $url .= '&dlr-mask=' . uri_escape($sms_dlr_mask) if ($sms_dlr_mask); + $url .= '&dlr-url=' . uri_escape($sms_dlr_url) if ($sms_dlr_url); + $url .= '&escalate=' . uri_escape($sms_escalate) if ($sms_escalate); + $url .= '&validity=' . uri_escape($sms_validity) if ($sms_validity); + $url .= '&req_feat=' . uri_escape($sms_req_feat) if ($sms_req_feat); + $url .= '&binfo=' . uri_escape($sms_binfo) if ($sms_binfo); + $url .= '&' . $sms_msgtag . '=' . uri_escape(transliterate($sms_cp, $msg)); unless ($dummy) { - my $ua = LWP::UserAgent->new(agent => "localsendsms"); - $ua->timeout(10); - my $url = $sms_url - . '?' . $sms_usertag . '=' . uri_escape($sms_user) - . '&password=' . uri_escape($sms_pw) - . '&to=' . uri_escape($to); - $url .= '&api_id=' . uri_escape($sms_api) if ($sms_api); - $url .= '&callback=' . uri_escape($sms_callback) if ($sms_callback); - $url .= '&from=' . uri_escape($from) if ($from); - $url .= '&smsc=' . uri_escape($sms_smsc) if ($sms_smsc); - $url .= '&concatenation=true' if ($sms_concatenation); - $url .= '&concat=' . uri_escape($sms_concat) if ($sms_concat); - $url .= '&dlr-mask=' . uri_escape($sms_dlr_mask) if ($sms_dlr_mask); - $url .= '&dlr-url=' . uri_escape($sms_dlr_url) if ($sms_dlr_url); - $url .= '&escalate=' . uri_escape($sms_escalate) if ($sms_escalate); - $url .= '&validity=' . uri_escape($sms_validity) if ($sms_validity); - $url .= '&req_feat=' . uri_escape($sms_req_feat) if ($sms_req_feat); - $url .= '&binfo=' . uri_escape($sms_binfo) if ($sms_binfo); - $url .= '&' . $sms_msgtag . '=' . uri_escape(transliterate($sms_cp, $msg)); DEBUG "Sending request: $url"; my $response = $ua->request(HTTP::Request->new('GET', $url)); unless ($response->is_success) { @@ -99,8 +99,9 @@ sub sendmsg { } DEBUG "Done $desc"; } else { + DEBUG "[DUMMY] Sending request: $url"; print STDERR "\n [$from --> $to: $desc]\n\n"; - print STDERR $msg . "\n"; + print STDERR transliterate($sms_cp, $msg) . "\n"; } } |