|
Lines 35-40
use Date::Calc qw( Add_Delta_Days );
Link Here
|
| 35 |
use Encode; |
35 |
use Encode; |
| 36 |
use Carp; |
36 |
use Carp; |
| 37 |
use Koha::Email; |
37 |
use Koha::Email; |
|
|
38 |
use Scalar::Util qw( blessed ); |
| 39 |
use Try::Tiny; |
| 38 |
|
40 |
|
| 39 |
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); |
41 |
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); |
| 40 |
|
42 |
|
|
Lines 947-952
sub SendQueuedMessages {
Link Here
|
| 947 |
|
949 |
|
| 948 |
my $unsent_messages = _get_unsent_messages(); |
950 |
my $unsent_messages = _get_unsent_messages(); |
| 949 |
MESSAGE: foreach my $message ( @$unsent_messages ) { |
951 |
MESSAGE: foreach my $message ( @$unsent_messages ) { |
|
|
952 |
|
| 950 |
# warn Data::Dumper->Dump( [ $message ], [ 'message' ] ); |
953 |
# warn Data::Dumper->Dump( [ $message ], [ 'message' ] ); |
| 951 |
warn sprintf( 'sending %s message to patron: %s', |
954 |
warn sprintf( 'sending %s message to patron: %s', |
| 952 |
$message->{'message_transport_type'}, |
955 |
$message->{'message_transport_type'}, |
|
Lines 954-964
sub SendQueuedMessages {
Link Here
|
| 954 |
if $params->{'verbose'} or $debug; |
957 |
if $params->{'verbose'} or $debug; |
| 955 |
# This is just begging for subclassing |
958 |
# This is just begging for subclassing |
| 956 |
next MESSAGE if ( lc($message->{'message_transport_type'}) eq 'rss' ); |
959 |
next MESSAGE if ( lc($message->{'message_transport_type'}) eq 'rss' ); |
| 957 |
if ( lc( $message->{'message_transport_type'} ) eq 'email' ) { |
960 |
eval { |
| 958 |
_send_message_by_email( $message, $params->{'username'}, $params->{'password'}, $params->{'method'} ); |
961 |
if ( lc( $message->{'message_transport_type'} ) eq 'email' ) { |
| 959 |
} |
962 |
_send_message_by_email( $message, $params->{'username'}, $params->{'password'}, $params->{'method'} ); |
| 960 |
elsif ( lc( $message->{'message_transport_type'} ) eq 'sms' ) { |
963 |
} |
| 961 |
_send_message_by_sms( $message ); |
964 |
elsif ( lc( $message->{'message_transport_type'} ) eq 'sms' ) { |
|
|
965 |
_send_message_by_sms( $message ); |
| 966 |
} |
| 967 |
}; |
| 968 |
if ($@) { |
| 969 |
warn $@; |
| 962 |
} |
970 |
} |
| 963 |
} |
971 |
} |
| 964 |
return scalar( @$unsent_messages ); |
972 |
return scalar( @$unsent_messages ); |
|
Lines 1262-1273
sub _send_message_by_sms {
Link Here
|
| 1262 |
return; |
1270 |
return; |
| 1263 |
} |
1271 |
} |
| 1264 |
|
1272 |
|
| 1265 |
my $success = C4::SMS->send_sms( { destination => $member->{'smsalertnumber'}, |
1273 |
try { |
| 1266 |
message => $message->{'content'}, |
1274 |
my $success = C4::SMS->send_sms( { destination => $member->{'smsalertnumber'}, |
| 1267 |
} ); |
1275 |
message => $message->{'content'}, |
| 1268 |
_set_message_status( { message_id => $message->{'message_id'}, |
1276 |
} ); |
| 1269 |
status => ($success ? 'sent' : 'failed') } ); |
1277 |
_set_message_status( { message_id => $message->{'message_id'}, |
| 1270 |
return $success; |
1278 |
status => ($success ? 'sent' : 'failed') } ); |
|
|
1279 |
return $success; |
| 1280 |
} catch { |
| 1281 |
if (blessed($_)){ |
| 1282 |
if ($_->isa('Koha::Exception::ConnectionFailed')){ |
| 1283 |
# Don't do anything, the message will stay in |
| 1284 |
# 'pending' status and will be resent again later. |
| 1285 |
} |
| 1286 |
else { |
| 1287 |
$_->rethrow(); |
| 1288 |
} |
| 1289 |
} |
| 1290 |
else { |
| 1291 |
die $_; |
| 1292 |
} |
| 1293 |
}; |
| 1294 |
|
| 1295 |
return; |
| 1271 |
} |
1296 |
} |
| 1272 |
|
1297 |
|
| 1273 |
sub _update_message_to_address { |
1298 |
sub _update_message_to_address { |