| 151 | | unless (defined $ddb) { |
|---|
| 152 | | use DBI; |
|---|
| 153 | | my $conf = get_config(); |
|---|
| 154 | | my %dopts = ( AutoCommit => 1 ); |
|---|
| 155 | | my $dsn = "dbi:mysql:database=".$conf->{focr_mysql_db}; |
|---|
| 156 | | if (defined($conf->{focr_mysql_socket})) { |
|---|
| 157 | | $dsn .= ";mysql_socket=".$conf->{focr_mysql_socket}; |
|---|
| 158 | | } else { |
|---|
| 159 | | $dsn .= ";host=".$conf->{focr_mysql_host}; |
|---|
| 160 | | $dsn .= ";port=".$conf->{focr_mysql_port} if $conf->{focr_mysql_port} != 3306; |
|---|
| 161 | | } |
|---|
| 162 | | infolog("Connecting to: $dsn"); |
|---|
| 163 | | $ddb = DBI->connect($dsn, |
|---|
| 164 | | $conf->{focr_mysql_user}, |
|---|
| 165 | | $conf->{focr_mysql_pass}, |
|---|
| 166 | | \%dopts); |
|---|
| 167 | | } |
|---|
| | 149 | use DBI; |
|---|
| | 150 | my $conf = get_config(); |
|---|
| | 151 | my %dopts = ( AutoCommit => 1 ); |
|---|
| | 152 | my $dsn = "dbi:mysql:database=".$conf->{focr_mysql_db}; |
|---|
| | 153 | if (defined($conf->{focr_mysql_socket})) { |
|---|
| | 154 | $dsn .= ";mysql_socket=".$conf->{focr_mysql_socket}; |
|---|
| | 155 | } else { |
|---|
| | 156 | $dsn .= ";host=".$conf->{focr_mysql_host}; |
|---|
| | 157 | $dsn .= ";port=".$conf->{focr_mysql_port} if $conf->{focr_mysql_port} != 3306; |
|---|
| | 158 | } |
|---|
| | 159 | infolog("Connecting to: $dsn"); |
|---|
| | 160 | my $ddb = DBI->connect($dsn, |
|---|
| | 161 | $conf->{focr_mysql_user}, |
|---|
| | 162 | $conf->{focr_mysql_pass}, |
|---|
| | 163 | \%dopts); |
|---|
| 649 | | if ($conf->{focr_enable_image_hashing} == 3) { |
|---|
| 650 | | $ddb = get_mysql_ddb(); |
|---|
| 651 | | if (defined $ddb) { |
|---|
| 652 | | my $db = $conf->{focr_mysql_db}; |
|---|
| 653 | | my $tab = $conf->{focr_mysql_hash}; |
|---|
| 654 | | my $file = $conf->{focr_db_hash}; |
|---|
| 655 | | my %DB; my $dbm; my $err = 0; |
|---|
| 656 | | tie %DB, 'MLDBM', $file or $err++; |
|---|
| 657 | | if ($err) { |
|---|
| 658 | | errorlog("Could not open \"$file\""); |
|---|
| 659 | | } else { |
|---|
| 660 | | foreach my $k (keys %DB) { |
|---|
| 661 | | my $dbm = $DB{$k}; |
|---|
| 662 | | my $sql = qq(select score from $db.$tab where $tab.key='$k'); |
|---|
| 663 | | my @data = $ddb->selectrow_array($sql); |
|---|
| 664 | | unless (scalar(@data)>0) { |
|---|
| 665 | | $sql = "insert into $db.$tab values ('$k'"; |
|---|
| 666 | | foreach my $y (qw/basic fname ctype/) { |
|---|
| 667 | | my $val = defined($dbm->{$y}) ? $dbm->{$y} : ''; |
|---|
| 668 | | $sql .= ",'$val'"; |
|---|
| 669 | | } |
|---|
| 670 | | if ($dbm->{ctype} =~ m/gif/i) { $sql .= ",'1'"; } |
|---|
| 671 | | elsif ($dbm->{ctype} =~ m/jpg|jpeg/i) { $sql .= ",'2'"; } |
|---|
| 672 | | elsif ($dbm->{ctype} =~ m/png/i) { $sql .= ",'3'"; } |
|---|
| 673 | | elsif ($dbm->{ctype} =~ m/bmp/i) { $sql .= ",'4'"; } |
|---|
| 674 | | elsif ($dbm->{ctype} =~ m/tiff/i) { $sql .= ",'5'"; } |
|---|
| 675 | | else { $sql .= ",'0'"; } |
|---|
| 676 | | foreach my $y (qw/match input check score dinfo/) { |
|---|
| 677 | | my $val = defined($dbm->{$y}) ? $dbm->{$y} : ''; |
|---|
| 678 | | $sql .= ",'$val'"; |
|---|
| 679 | | } |
|---|
| 680 | | $sql .= ")"; |
|---|
| 681 | | debuglog($sql,2); |
|---|
| 682 | | $ddb->do($sql); $err++; |
|---|
| | 640 | my $ddb = get_mysql_ddb(); |
|---|
| | 641 | if ($conf->{focr_enable_image_hashing} == 3 and defined $ddb) { |
|---|
| | 642 | my $db = $conf->{focr_mysql_db}; |
|---|
| | 643 | my $tab = $conf->{focr_mysql_hash}; |
|---|
| | 644 | my $file = $conf->{focr_db_hash}; |
|---|
| | 645 | my %DB; my $dbm; my $err = 0; |
|---|
| | 646 | tie %DB, 'MLDBM', $file or $err++; |
|---|
| | 647 | if ($err) { |
|---|
| | 648 | errorlog("Could not open \"$file\""); |
|---|
| | 649 | } else { |
|---|
| | 650 | foreach my $k (keys %DB) { |
|---|
| | 651 | my $dbm = $DB{$k}; |
|---|
| | 652 | my $sql = qq(select score from $db.$tab where $tab.key='$k'); |
|---|
| | 653 | my @data = $ddb->selectrow_array($sql); |
|---|
| | 654 | unless (scalar(@data)>0) { |
|---|
| | 655 | $sql = "insert into $db.$tab values ('$k'"; |
|---|
| | 656 | foreach my $y (qw/basic fname ctype/) { |
|---|
| | 657 | my $val = defined($dbm->{$y}) ? $dbm->{$y} : ''; |
|---|
| | 658 | $sql .= ",'$val'"; |
|---|
| | 660 | if ($dbm->{ctype} =~ m/gif/i) { $sql .= ",'1'"; } |
|---|
| | 661 | elsif ($dbm->{ctype} =~ m/jpg|jpeg/i) { $sql .= ",'2'"; } |
|---|
| | 662 | elsif ($dbm->{ctype} =~ m/png/i) { $sql .= ",'3'"; } |
|---|
| | 663 | elsif ($dbm->{ctype} =~ m/bmp/i) { $sql .= ",'4'"; } |
|---|
| | 664 | elsif ($dbm->{ctype} =~ m/tiff/i) { $sql .= ",'5'"; } |
|---|
| | 665 | else { $sql .= ",'0'"; } |
|---|
| | 666 | foreach my $y (qw/match input check score dinfo/) { |
|---|
| | 667 | my $val = defined($dbm->{$y}) ? $dbm->{$y} : ''; |
|---|
| | 668 | $sql .= ",'$val'"; |
|---|
| | 669 | } |
|---|
| | 670 | $sql .= ")"; |
|---|
| | 671 | debuglog($sql,2); |
|---|
| | 672 | $ddb->do($sql); $err++; |
|---|
| 685 | | untie %DB; |
|---|
| 686 | | infolog("Stored [$err] Hashes in $db.$tab") if $err>0; |
|---|
| 687 | | } |
|---|
| 688 | | $tab = $conf->{focr_mysql_safe}; |
|---|
| 689 | | $file = $conf->{focr_db_safe}; |
|---|
| 690 | | $err = 0; |
|---|
| 691 | | tie %DB, 'MLDBM', $file or $err++; |
|---|
| 692 | | if ($err) { |
|---|
| 693 | | errorlog("Could not open \"$file\""); |
|---|
| 694 | | } else { |
|---|
| 695 | | foreach my $k (keys %DB) { |
|---|
| 696 | | my $dbm = $DB{$k}; |
|---|
| 697 | | my $sql = qq(select score from $db.$tab where $tab.key='$k'); |
|---|
| 698 | | my @data = $ddb->selectrow_array($sql); |
|---|
| 699 | | unless (scalar(@data)>0) { |
|---|
| 700 | | $sql = "insert into $db.$tab values ('$k'"; |
|---|
| 701 | | foreach my $y (qw/basic fname ctype/) { |
|---|
| 702 | | my $val = defined($dbm->{$y}) ? $dbm->{$y} : ''; |
|---|
| 703 | | $sql .= ",'$val'"; |
|---|
| 704 | | } |
|---|
| 705 | | if ($dbm->{ctype} =~ m/gif/i) { $sql .= ",'1'"; } |
|---|
| 706 | | elsif ($dbm->{ctype} =~ m/jpg|jpeg/i) { $sql .= ",'2'"; } |
|---|
| 707 | | elsif ($dbm->{ctype} =~ m/png/i) { $sql .= ",'3'"; } |
|---|
| 708 | | elsif ($dbm->{ctype} =~ m/bmp/i) { $sql .= ",'4'"; } |
|---|
| 709 | | elsif ($dbm->{ctype} =~ m/tiff/i) { $sql .= ",'5'"; } |
|---|
| 710 | | else { $sql .= ",'0'"; } |
|---|
| 711 | | foreach my $y (qw/match input check score dinfo/) { |
|---|
| 712 | | my $val = defined($dbm->{$y}) ? $dbm->{$y} : ''; |
|---|
| 713 | | $sql .= ",'$val'"; |
|---|
| 714 | | } |
|---|
| 715 | | $sql .= ")"; |
|---|
| 716 | | debuglog($sql,2); |
|---|
| 717 | | $ddb->do($sql); $err++; |
|---|
| | 674 | } |
|---|
| | 675 | untie %DB; |
|---|
| | 676 | infolog("Stored [$err] Hashes in $db.$tab") if $err>0; |
|---|
| | 677 | } |
|---|
| | 678 | $tab = $conf->{focr_mysql_safe}; |
|---|
| | 679 | $file = $conf->{focr_db_safe}; |
|---|
| | 680 | $err = 0; |
|---|
| | 681 | tie %DB, 'MLDBM', $file or $err++; |
|---|
| | 682 | if ($err) { |
|---|
| | 683 | errorlog("Could not open \"$file\""); |
|---|
| | 684 | } else { |
|---|
| | 685 | foreach my $k (keys %DB) { |
|---|
| | 686 | my $dbm = $DB{$k}; |
|---|
| | 687 | my $sql = qq(select score from $db.$tab where $tab.key='$k'); |
|---|
| | 688 | my @data = $ddb->selectrow_array($sql); |
|---|
| | 689 | unless (scalar(@data)>0) { |
|---|
| | 690 | $sql = "insert into $db.$tab values ('$k'"; |
|---|
| | 691 | foreach my $y (qw/basic fname ctype/) { |
|---|
| | 692 | my $val = defined($dbm->{$y}) ? $dbm->{$y} : ''; |
|---|
| | 693 | $sql .= ",'$val'"; |
|---|
| | 695 | if ($dbm->{ctype} =~ m/gif/i) { $sql .= ",'1'"; } |
|---|
| | 696 | elsif ($dbm->{ctype} =~ m/jpg|jpeg/i) { $sql .= ",'2'"; } |
|---|
| | 697 | elsif ($dbm->{ctype} =~ m/png/i) { $sql .= ",'3'"; } |
|---|
| | 698 | elsif ($dbm->{ctype} =~ m/bmp/i) { $sql .= ",'4'"; } |
|---|
| | 699 | elsif ($dbm->{ctype} =~ m/tiff/i) { $sql .= ",'5'"; } |
|---|
| | 700 | else { $sql .= ",'0'"; } |
|---|
| | 701 | foreach my $y (qw/match input check score dinfo/) { |
|---|
| | 702 | my $val = defined($dbm->{$y}) ? $dbm->{$y} : ''; |
|---|
| | 703 | $sql .= ",'$val'"; |
|---|
| | 704 | } |
|---|
| | 705 | $sql .= ")"; |
|---|
| | 706 | debuglog($sql,2); |
|---|
| | 707 | $ddb->do($sql); $err++; |
|---|