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-1272
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 |
my $success; |
1266 |
message => $message->{'content'}, |
1274 |
try { |
1267 |
} ); |
1275 |
$success = C4::SMS->send_sms( { destination => $member->{'smsalertnumber'}, |
1268 |
_set_message_status( { message_id => $message->{'message_id'}, |
1276 |
message => $message->{'content'}, |
1269 |
status => ($success ? 'sent' : 'failed') } ); |
1277 |
} ); |
|
|
1278 |
_set_message_status( { message_id => $message->{'message_id'}, |
1279 |
status => ($success ? 'sent' : 'failed') } ); |
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 |
|
1270 |
return $success; |
1295 |
return $success; |
1271 |
} |
1296 |
} |
1272 |
|
1297 |
|