From e76eedfc9c4ef29f4ef5cee5b9ad8729a02bc7c1 Mon Sep 17 00:00:00 2001 From: Rogan Hamby Date: Thu, 25 Jun 2020 16:22:58 -0400 Subject: [PATCH] mig-export now does message preferences --- kmig.d/bin/mig-export | 61 +++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 59 insertions(+), 2 deletions(-) diff --git a/kmig.d/bin/mig-export b/kmig.d/bin/mig-export index 6bc01ec..474958c 100755 --- a/kmig.d/bin/mig-export +++ b/kmig.d/bin/mig-export @@ -27,7 +27,7 @@ $dbh->{mysql_enable_utf8mb4} = 1; my @taglist = @ARGV; my $arg_list_length = scalar @taglist; -if($arg_list_length < 1) { @taglist = ("authorisedvalues","booksellers","budgets","borrowerattributes","calendar","circrules","itemtypes","letters","libraries","patrontypes","preferences","reports","smsproviders"); } +if($arg_list_length < 1) { @taglist = ("authorisedvalues","booksellers","budgets","borrowerattributes","calendar","circrules","itemtypes","letters","libraries","messages","patrontypes","preferences","reports","smsproviders"); } $MIGGITDIR =~ s/\/\//\//; my $timestamp = create_timestamp(); @@ -79,6 +79,11 @@ foreach my $backup (@taglist) { print "Backing up $backupfile ... \n"; backup_libraries($dbh,$backupfile); } + if ($backup eq 'messages') { + $backupfile = $MIGGITDIR . 'messages' . '.' . $timestamp . '.xml'; + print "Backing up $backupfile ... \n"; + backup_messages($dbh,$backupfile); + } if ($backup eq 'patrontypes') { $backupfile = $MIGGITDIR . 'patrontypes' . '.' . $timestamp . '.xml'; print "Backing up $backupfile ... \n"; @@ -244,7 +249,7 @@ sub backup_budgets { $xml->startTag('document'); $xml->startTag('budgets'); - my $sth = sql_giveback($dbh,'SELECT AUTO_INCREMENT FROM information_schema.TABLES WHERE TABLE_NAME = "aqbudgets")'; + my $sth = sql_giveback($dbh,'SELECT AUTO_INCREMENT FROM information_schema.TABLES WHERE TABLE_NAME = "aqbudgets"'); my @ai = $sth->fetchrow_array; $xml->dataElement('autoincrement', $ai[0]); $sth = sql_giveback($dbh,"SELECT budget_id,budget_parent_id,budget_code,budget_name,budget_branchcode,budget_amount,budget_encumb,budget_expend,budget_notes,timestamp,budget_period_id,sort1_authcat,sort2_authcat,budget_owner_id,budget_permission FROM aqbudgets"); @@ -556,6 +561,58 @@ sub backup_libraries { return; } +sub backup_messages { + my $dbh = shift; + my $backupfile = shift; + + open(my $fh, '>', $backupfile) or die "Could not open $backupfile!"; + my $xml = XML::Writer->new(OUTPUT => $fh, DATA_MODE => 1, DATA_INDENT => 2, ); + $xml->xmlDecl('UTF-8'); + $xml->startTag('document'); + + $xml->startTag('message_attributes'); + my $sth = sql_giveback($dbh,'SELECT AUTO_INCREMENT FROM information_schema.TABLES WHERE TABLE_NAME = "message_attributes"'); + my @ai = $sth->fetchrow_array; + $xml->dataElement('autoincrement', $ai[0]); + $sth = sql_giveback($dbh,"SELECT message_attribute_id, message_name, takes_days FROM message_attributes"); + while (my @row = $sth->fetchrow_array) { + $xml->startTag('value'); + $xml->dataElement('message_attribute_id', $row[0]); + $xml->dataElement('message_name', $row[1]); + $xml->dataElement('takes_days', $row[2]); + $xml->endTag('value'); + } + $xml->endTag('message_attributes'); + + $xml->startTag('message_transport_types'); + $sth = sql_giveback($dbh,"SELECT message_transport_type FROM message_transport_types"); + while (my @row = $sth->fetchrow_array) { + $xml->startTag('value'); + $xml->dataElement('message_transport_type', $row[0]); + $xml->endTag('value'); + } + $xml->endTag('message_transport_types'); + + $xml->startTag('message_transports'); + $sth = sql_giveback($dbh,"SELECT message_attribute_id, message_transport_type, is_digest, letter_module, letter_code, branchcode FROM message_transports"); + while (my @row = $sth->fetchrow_array) { + $xml->startTag('value'); + $xml->dataElement('message_attribute_id', $row[0]); + $xml->dataElement('message_transport_type', $row[1]); + $xml->dataElement('is_digest', $row[2]); + $xml->dataElement('letter_module', $row[3]); + $xml->dataElement('letter_code', $row[4]); + $xml->dataElement('branchcode', $row[5]); + $xml->endTag('value'); + } + $xml->endTag('message_transports'); + + $xml->endTag('document'); + $xml->end(); + close $fh; + return; +} + sub backup_patrontypes { my $dbh = shift; my $backupfile = shift; -- 1.7.2.5