View | Details | Raw Unified | Return to bug 13897
Collapse All | Expand All

(-)a/C4/Installer.pm (-8 / +19 lines)
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
- 

Return to bug 13897