|
|
@@ -4,7 +4,8 @@ use strict;
|
|
|
use warnings;
|
|
|
|
|
|
# Specifically for the constant that is the dir
|
|
|
-use Cpanel::iContact::Provider::Local;
|
|
|
+use Cpanel::iContact::Provider::Local ();
|
|
|
+use Cpanel::AdminBin::Serializer ();
|
|
|
|
|
|
=encoding utf-8
|
|
|
|
|
|
@@ -57,7 +58,7 @@ UNIX Epoch timestamps sorted by latest date first.
|
|
|
|
|
|
# Note, since there's only one hash param (for now) just ref second item in array
|
|
|
sub get_notice_times {
|
|
|
- return sort( map { substr( $_, 0, -4 ) } grep { /\d+\.txt/ } glob( $Cpanel::iContact::Provider::Local::DIR . "/$_[1]/*.txt" ) );
|
|
|
+ return sort( map { substr( $_, rindex( $_, '/' ), -5 ) } grep { qr/\d+\.json/ } glob( $Cpanel::iContact::Provider::Local::DIR . "/$_[1]/*.json" ) );
|
|
|
}
|
|
|
|
|
|
=head2 get_notice
|
|
|
@@ -89,8 +90,9 @@ Notification contents.
|
|
|
sub get_notice {
|
|
|
my ( $time, %opts ) = @_;
|
|
|
local $/;
|
|
|
- open my $fh, '<', $Cpanel::iContact::Provider::Local::DIR . "/$opts{'user'}/$time.txt" or die "can't open $file: $!";
|
|
|
- return <$fh>;
|
|
|
+ my $file = $Cpanel::iContact::Provider::Local::DIR . "/$opts{'user'}/$time.json";
|
|
|
+ open my $fh, '<', $file or die "can't open $file: $!";
|
|
|
+ return Cpanel::AdminBin::Serializer::Load(<$fh>);
|
|
|
}
|
|
|
|
|
|
=head2 get_all_notices
|
|
|
@@ -120,10 +122,10 @@ time => notification contents.
|
|
|
sub get_all_notices {
|
|
|
my $user = $_[1];
|
|
|
return map {
|
|
|
- my $time = substr( $_, 0, -4 ); $time => get_notice( $time, 'user' => $user );
|
|
|
+ my $time = substr( $_, rindex( $_, '/' ), -5 ); $time => get_notice( $time, 'user' => $user );
|
|
|
} grep {
|
|
|
- /\d+\.txt/
|
|
|
- } glob( $Cpanel::iContact::Provider::Local::DIR . "/$user/*.txt" );
|
|
|
+ qr/\d+\.json/
|
|
|
+ } glob( $Cpanel::iContact::Provider::Local::DIR . "/$user/*.json" );
|
|
|
}
|
|
|
|
|
|
1;
|