Lines 21-26
use Modern::Perl;
Link Here
|
21 |
|
21 |
|
22 |
use Encode qw( encode is_utf8 ); |
22 |
use Encode qw( encode is_utf8 ); |
23 |
use DBIx::RunSQL; |
23 |
use DBIx::RunSQL; |
|
|
24 |
use XML::LibXML; |
24 |
use C4::Context; |
25 |
use C4::Context; |
25 |
use C4::Installer::PerlModules; |
26 |
use C4::Installer::PerlModules; |
26 |
use DBI; |
27 |
use DBI; |
Lines 145-151
sub marc_framework_sql_list {
Link Here
|
145 |
|
146 |
|
146 |
foreach my $requirelevel (@listdir) { |
147 |
foreach my $requirelevel (@listdir) { |
147 |
opendir( MYDIR, "$dir/$requirelevel" ); |
148 |
opendir( MYDIR, "$dir/$requirelevel" ); |
148 |
my @listname = grep { !/^\./ && -f "$dir/$requirelevel/$_" && $_ =~ m/\.sql$/ } readdir(MYDIR); |
149 |
my @listname = grep { !/^\./ && -f "$dir/$requirelevel/$_" && $_ =~ m/\.(sql|xml)$/ } readdir(MYDIR); |
149 |
closedir MYDIR; |
150 |
closedir MYDIR; |
150 |
my %cell; |
151 |
my %cell; |
151 |
my @frameworklist; |
152 |
my @frameworklist; |
Lines 453-464
sub load_sql {
Link Here
|
453 |
local *STDERR; |
454 |
local *STDERR; |
454 |
open STDERR, ">>", \$dup_stderr; |
455 |
open STDERR, ">>", \$dup_stderr; |
455 |
|
456 |
|
456 |
eval { |
457 |
if ( $filename =~ /xml$/ ) { |
457 |
DBIx::RunSQL->run_sql_file( |
458 |
eval { |
458 |
dbh => $dbh, |
459 |
my $dom = XML::LibXML->load_xml( location => $filename ); # Load XML |
459 |
sql => $filename, |
460 |
my $table = $dom->documentElement->nodeName; # Find table name |
460 |
); |
461 |
my $query = "LOAD XML LOCAL INFILE '".$filename."' INTO TABLE ".$table; # MySQL only |
461 |
}; |
462 |
my $loadxml = $dbh->prepare($query); |
|
|
463 |
$loadxml->execute(); |
464 |
}; |
465 |
} |
466 |
else { |
467 |
eval { |
468 |
DBIx::RunSQL->run_sql_file( |
469 |
dbh => $dbh, |
470 |
sql => $filename, |
471 |
); |
472 |
}; |
473 |
} |
462 |
}; |
474 |
}; |
463 |
# errors thrown while loading installer data should be logged |
475 |
# errors thrown while loading installer data should be logged |
464 |
if( $dup_stderr ) { |
476 |
if( $dup_stderr ) { |
465 |
- |
|
|