summaryrefslogtreecommitdiff
path: root/localsendsms
diff options
context:
space:
mode:
Diffstat (limited to 'localsendsms')
-rwxr-xr-xlocalsendsms47
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";
}
}