From 937261b12080557657937405b4375e2f6b8acdcd Mon Sep 17 00:00:00 2001 From: Xiiph Date: Sun, 19 Jan 2014 17:37:50 +0100 Subject: [PATCH 1/4] added meta charset tag to support utf8 content --- iOSSMSBackup.pm | 1 + 1 file changed, 1 insertion(+) diff --git a/iOSSMSBackup.pm b/iOSSMSBackup.pm index 33e6d7d..fa3f034 100644 --- a/iOSSMSBackup.pm +++ b/iOSSMSBackup.pm @@ -136,6 +136,7 @@ sub format_number{ sub html_header{ my ($self) = @_; my $header = qq| + |; $header .= qq|| if $self->{_second_css}; $header .= qq||; From 8c3aac6d4bf65f281a7551b04903f3eb3f702ddc Mon Sep 17 00:00:00 2001 From: elliottcable Date: Sat, 29 Mar 2014 16:13:45 -0500 Subject: [PATCH 2/4] Making backup.pl executable --- backup.pl | 2 ++ 1 file changed, 2 insertions(+) mode change 100644 => 100755 backup.pl diff --git a/backup.pl b/backup.pl old mode 100644 new mode 100755 index 2057378..83b58ea --- a/backup.pl +++ b/backup.pl @@ -1,3 +1,5 @@ +#!/usr/bin/env perl + use strict; use warnings; use v5.10; From 2fddafa2ddfffe07e9d335603802a9b47a833ce5 Mon Sep 17 00:00:00 2001 From: elliottcable Date: Sat, 29 Mar 2014 16:13:53 -0500 Subject: [PATCH 3/4] Ignoring output directory --- .gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6a5812c --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +messages/ From 40072471ec3da8bbec31a5841ec5558d5bede650 Mon Sep 17 00:00:00 2001 From: elliottcable Date: Sat, 29 Mar 2014 16:13:32 -0500 Subject: [PATCH 4/4] Allowing the user to change the export-directory --- backup.pl | 9 +++++++-- iOSSMSBackup.pm | 18 +++++++++++------- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/backup.pl b/backup.pl index 83b58ea..4d0eed2 100755 --- a/backup.pl +++ b/backup.pl @@ -9,9 +9,14 @@ use iOSSMSBackup; my $directory; my $css; -GetOptions("directory_path=s" => \$directory, "css=s" => \$css); +my $export; +GetOptions("directory_path=s" => \$directory, "export_path=s" => \$export, "css=s" => \$css); -my $ios_backup = iOSSMSBackup->new({backup_directory => $directory, css => $css}); +my $ios_backup = iOSSMSBackup->new({ + backup_directory => $directory, + export_directory => $export, + css => $css +}); if ($ios_backup){ $ios_backup->export_messages(); }else{ diff --git a/iOSSMSBackup.pm b/iOSSMSBackup.pm index fa3f034..502b416 100644 --- a/iOSSMSBackup.pm +++ b/iOSSMSBackup.pm @@ -8,18 +8,21 @@ use File::Copy; use DateTime; use Digest::SHA1 qw(sha1 sha1_hex sha1_base64); -my $export_d = "_export"; - sub new { my ($class, $params) = @_; my $self = { _backup_directory => $params->{backup_directory}, _second_css => $params->{css}, + _export_directory => $params->{export_directory}, _sms_db_filename => '3d0d7e5fb2ce288813306e4d4636395e047a3d28', _sms_db => undef }; + unless ($self->{_export_directory}) { + $self->{_export_directory} = 'messages'; + }; + unless (-d $self->{_backup_directory}){ return undef; } @@ -32,9 +35,9 @@ sub new sub export_messages { my ($self) = @_; - mkdir "_export" unless -d "_export"; + mkdir "$self->{_export_directory}" unless -d "$self->{_export_directory}"; if ($self->{_second_css}) { - copy($self->{_second_css}, "_export/$self->{_second_css}"); + copy($self->{_second_css}, "$self->{_export_directory}/$self->{_second_css}"); } $self->connect_db; @@ -176,8 +179,8 @@ sub process_mms { $filepath =~ s#^~/#MediaDomain-#; my $sha1_filename = sha1_hex($filepath); - mkdir "$export_d/$number/$date" unless -d "$export_d/$number/$date"; - copy ($self->{_backup_directory} . "/" . $sha1_filename, "$export_d/$number/$date/$filename"); + mkdir "$self->{_export_directory}/$number/$date" unless -d "$self->{_export_directory}/$number/$date"; + copy ($self->{_backup_directory} . "/" . $sha1_filename, "$self->{_export_directory}/$number/$date/$filename"); my $html = qq|Link to attachment|; if ($attachment->{mime_type} =~ /image/) { @@ -192,7 +195,7 @@ sub export_texts_for_number_and_date { my ($self, $texts, $number, $date) = @_; $number = $self->format_number($number); - my $directory = "$export_d/$number"; + my $directory = "$self->{_export_directory}/$number"; mkdir $directory unless -d $directory; open OUTFILE, ">$directory/$date.html"; @@ -215,3 +218,4 @@ sub export_texts_for_number_and_date { 1; +