summaryrefslogtreecommitdiff
path: root/localmarkdown2sms
diff options
context:
space:
mode:
Diffstat (limited to 'localmarkdown2sms')
-rwxr-xr-xlocalmarkdown2sms52
1 files changed, 28 insertions, 24 deletions
diff --git a/localmarkdown2sms b/localmarkdown2sms
index f13c097..9b227e5 100755
--- a/localmarkdown2sms
+++ b/localmarkdown2sms
@@ -29,7 +29,7 @@ use File::Spec;
use File::Slurp;
use Time::Duration::Parse;
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;
use Proc::Daemon;
@@ -204,11 +204,11 @@ sub tidymsg {
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;
}
@@ -216,26 +216,26 @@ sub transliterate {
sub sendmsg {
my ($from, $to, $desc, $msg) = @_;
+ my $ua = LWP::UserAgent->new(agent => "localmarkdown2sms");
+ $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 => "localmarkdown2sms");
- $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) {
@@ -243,18 +243,22 @@ 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";
}
}
my $num_children = $#{ $reply{$key} } + 1; # How many children we'll create
if (0 == $num_children) {
+ my $err_da = "Ikke genkendt som et nøgleord: Check venligst for tastefejl og prøv igen.";
my $err_en = "Sorry, not recognized as a keyword: Please check spelling and try again.";
+ my $err_hu = "Érvénytelen kulcsszó. Kérjük, ellenőrizd és próbáld újra.";
my $err_it = "Spiacente, non riconosco come parola chiave: Controlla l'ortografia e riprova.";
my $errmsg = "[warning] $phone requested unknown keyword \"$key\"\nFull text: $inputstring";
- &sendmsg($sms_phone, $phone, "fallback message", "$key?\n$err_it\n$err_en");
+# FIXME: Make use of local errormsg optional and configurable.
+ &sendmsg($sms_phone, $phone, "fallback message", "$key?\n$err_hu\n$err_en");
($sms_errto1) and &sendmsg($sms_errfrom, $sms_errto1, "warning", $errmsg);
($sms_errto2) and &sendmsg($sms_errfrom, $sms_errto2, "warning", $errmsg);
exit;