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

(-)a/C4/Members.pm (-23 / +1 lines)
Lines 77-84 BEGIN { Link Here
77
        &GetSortDetails
77
        &GetSortDetails
78
        &GetTitles
78
        &GetTitles
79
79
80
        &GetPatronImage
81
82
        &GetHideLostItemsPreference
80
        &GetHideLostItemsPreference
83
81
84
        &IsMemberBlocked
82
        &IsMemberBlocked
Lines 997-1002 sub UpdateGuarantees { Link Here
997
        $sth->execute($data{'address'},$data{'fax'},$data{'B_city'},$data{'mobile'},$data{'city'},$data{'phone'},$guarantee->{'borrowernumber'});
995
        $sth->execute($data{'address'},$data{'fax'},$data{'B_city'},$data{'mobile'},$data{'city'},$data{'phone'},$guarantee->{'borrowernumber'});
998
    }
996
    }
999
}
997
}
998
1000
=head2 GetPendingIssues
999
=head2 GetPendingIssues
1001
1000
1002
  my $issues = &GetPendingIssues(@borrowernumber);
1001
  my $issues = &GetPendingIssues(@borrowernumber);
Lines 1010-1016 The keys include C<biblioitems> fields except marc and marcxml. Link Here
1010
1009
1011
=cut
1010
=cut
1012
1011
1013
#'
1014
sub GetPendingIssues {
1012
sub GetPendingIssues {
1015
    my @borrowernumbers = @_;
1013
    my @borrowernumbers = @_;
1016
1014
Lines 1890-1915 sub GetTitles { Link Here
1890
    }
1888
    }
1891
}
1889
}
1892
1890
1893
=head2 GetPatronImage
1894
1895
    my ($imagedata, $dberror) = GetPatronImage($borrowernumber);
1896
1897
Returns the mimetype and binary image data of the image for the patron with the supplied borrowernumber.
1898
1899
=cut
1900
1901
sub GetPatronImage {
1902
    my ($borrowernumber) = @_;
1903
    warn "Borrowernumber passed to GetPatronImage is $borrowernumber" if $debug;
1904
    my $dbh = C4::Context->dbh;
1905
    my $query = 'SELECT mimetype, imagefile FROM patronimage WHERE borrowernumber = ?';
1906
    my $sth = $dbh->prepare($query);
1907
    $sth->execute($borrowernumber);
1908
    my $imagedata = $sth->fetchrow_hashref;
1909
    warn "Database error!" if $sth->errstr;
1910
    return $imagedata, $sth->errstr;
1911
}
1912
1913
=head2 GetHideLostItemsPreference
1891
=head2 GetHideLostItemsPreference
1914
1892
1915
  $hidelostitemspref = &GetHideLostItemsPreference($borrowernumber);
1893
  $hidelostitemspref = &GetHideLostItemsPreference($borrowernumber);
(-)a/Koha/Patron.pm (+7 lines)
Lines 22-27 use Modern::Perl; Link Here
22
use Carp;
22
use Carp;
23
23
24
use Koha::Database;
24
use Koha::Database;
25
use Koha::Patron::Images;
25
26
26
use base qw(Koha::Object);
27
use base qw(Koha::Object);
27
28
Lines 47-52 sub guarantor { Link Here
47
    return Koha::Patrons->find( $self->guarantorid() );
48
    return Koha::Patrons->find( $self->guarantorid() );
48
}
49
}
49
50
51
sub image {
52
    my ( $self ) = @_;
53
54
    return Koha::Patron::Images->find( $self->borrowernumber )
55
}
56
50
=head3 type
57
=head3 type
51
58
52
=cut
59
=cut
(-)a/circ/circulation.pl (-2 / +3 lines)
Lines 46-51 use C4::Members::Attributes qw(GetBorrowerAttributes); Link Here
46
use Koha::Patron::Debarments qw(GetDebarments IsDebarred);
46
use Koha::Patron::Debarments qw(GetDebarments IsDebarred);
47
use Koha::DateUtils;
47
use Koha::DateUtils;
48
use Koha::Database;
48
use Koha::Database;
49
use Koha::Patron::Images;
49
50
50
use Date::Calc qw(
51
use Date::Calc qw(
51
  Today
52
  Today
Lines 634-641 $template->param( Link Here
634
    relatives_borrowernumbers => \@relatives,
635
    relatives_borrowernumbers => \@relatives,
635
);
636
);
636
637
637
my ($picture, $dberror) = GetPatronImage($borrower->{'borrowernumber'});
638
my $patron_image = Koha::Patron::Images->find($borrower->{borrowernumber});
638
$template->param( picture => 1 ) if $picture;
639
$template->param( picture => 1 ) if $patron_image;
639
640
640
# get authorised values with type of BOR_NOTES
641
# get authorised values with type of BOR_NOTES
641
642
(-)a/members/boraccount.pl (-2 / +3 lines)
Lines 32-37 use C4::Members; Link Here
32
use C4::Branch;
32
use C4::Branch;
33
use C4::Accounts;
33
use C4::Accounts;
34
use C4::Members::Attributes qw(GetBorrowerAttributes);
34
use C4::Members::Attributes qw(GetBorrowerAttributes);
35
use Koha::Patron::Images;
35
36
36
my $input=new CGI;
37
my $input=new CGI;
37
38
Lines 93-100 foreach my $accountline ( @{$accts}) { Link Here
93
94
94
$template->param( adultborrower => 1 ) if ( $data->{'category_type'} eq 'A' );
95
$template->param( adultborrower => 1 ) if ( $data->{'category_type'} eq 'A' );
95
96
96
my ($picture, $dberror) = GetPatronImage($data->{'borrowernumber'});
97
my $patron_image = Koha::Patron::Images->find($data->{borrowernumber});
97
$template->param( picture => 1 ) if $picture;
98
$template->param( picture => 1 ) if $patron_image;
98
99
99
if (C4::Context->preference('ExtendedPatronAttributes')) {
100
if (C4::Context->preference('ExtendedPatronAttributes')) {
100
    my $attributes = GetBorrowerAttributes($borrowernumber);
101
    my $attributes = GetBorrowerAttributes($borrowernumber);
(-)a/members/deletemem.pl (-2 / +3 lines)
Lines 31-36 use C4::Auth; Link Here
31
use C4::Members;
31
use C4::Members;
32
use C4::Branch; # GetBranches
32
use C4::Branch; # GetBranches
33
use Module::Load;
33
use Module::Load;
34
use Koha::Patron::Images;
34
if ( C4::Context->preference('NorwegianPatronDBEnable') && C4::Context->preference('NorwegianPatronDBEnable') == 1 ) {
35
if ( C4::Context->preference('NorwegianPatronDBEnable') && C4::Context->preference('NorwegianPatronDBEnable') == 1 ) {
35
    load Koha::NorwegianPatronDB, qw( NLMarkForDeletion NLSync );
36
    load Koha::NorwegianPatronDB, qw( NLMarkForDeletion NLSync );
36
}
37
}
Lines 107-114 my $data=$sth->fetchrow_hashref; Link Here
107
if ($countissues > 0 or $flags->{'CHARGES'}  or $data->{'borrowernumber'} or $deletelocal == 0){
108
if ($countissues > 0 or $flags->{'CHARGES'}  or $data->{'borrowernumber'} or $deletelocal == 0){
108
    #   print $input->header;
109
    #   print $input->header;
109
110
110
    my ($picture, $dberror) = GetPatronImage($bor->{'borrowernumber'});
111
    my $patron_image = Koha::Patron::Images->find($bor->{borrowernumber});
111
    $template->param( picture => 1 ) if $picture;
112
    $template->param( picture => 1 ) if $patron_image;
112
113
113
    $template->param(borrowernumber => $member,
114
    $template->param(borrowernumber => $member,
114
        surname => $bor->{'surname'},
115
        surname => $bor->{'surname'},
(-)a/members/discharge.pl (-2 / +3 lines)
Lines 37-42 use C4::Members; Link Here
37
use C4::Reserves;
37
use C4::Reserves;
38
use C4::Letters;
38
use C4::Letters;
39
use Koha::Patron::Discharge;
39
use Koha::Patron::Discharge;
40
use Koha::Patron::Images;
40
41
41
use Koha::DateUtils;
42
use Koha::DateUtils;
42
43
Lines 102-109 if ( $input->param('borrowernumber') ) { Link Here
102
        borrowernumber => $borrowernumber,
103
        borrowernumber => $borrowernumber,
103
    });
104
    });
104
105
105
    my ($picture, $dberror) = GetPatronImage($borrowernumber);
106
    my $patron_image = Koha::Patron::Images->find($borrowernumber);
106
    $template->param( picture => 1 ) if $picture;
107
    $template->param( picture => 1 ) if $patron_image;
107
108
108
    $template->param(
109
    $template->param(
109
        borrowernumber    => $borrowernumber,
110
        borrowernumber    => $borrowernumber,
(-)a/members/files.pl (-2 / +3 lines)
Lines 31-36 use C4::Debug; Link Here
31
31
32
use Koha::DateUtils;
32
use Koha::DateUtils;
33
use Koha::Patron::Files;
33
use Koha::Patron::Files;
34
use Koha::Patron::Images;
34
35
35
my $cgi = CGI->new;
36
my $cgi = CGI->new;
36
37
Lines 115-122 else { Link Here
115
        );
116
        );
116
    }
117
    }
117
118
118
    my ($picture, $dberror) = GetPatronImage($data->{'borrowernumber'});
119
    my $patron_image = Koha::Patron::Images->find($data->{borrowernumber});
119
    $template->param( picture => 1 ) if $picture;
120
    $template->param( picture => 1 ) if $patron_image;
120
121
121
    $template->param(
122
    $template->param(
122
        files => Koha::Patron::Files->new( borrowernumber => $borrowernumber )
123
        files => Koha::Patron::Files->new( borrowernumber => $borrowernumber )
(-)a/members/mancredit.pl (-2 / +3 lines)
Lines 34-39 use C4::Branch; Link Here
34
use C4::Accounts;
34
use C4::Accounts;
35
use C4::Items;
35
use C4::Items;
36
use C4::Members::Attributes qw(GetBorrowerAttributes);
36
use C4::Members::Attributes qw(GetBorrowerAttributes);
37
use Koha::Patron::Images;
37
38
38
my $input=new CGI;
39
my $input=new CGI;
39
my $flagsrequired = { borrowers => 1, updatecharges => 1 };
40
my $flagsrequired = { borrowers => 1, updatecharges => 1 };
Lines 80-87 if ($add){ Link Here
80
    }
81
    }
81
82
82
    $template->param( adultborrower => 1 ) if ( $data->{category_type} eq 'A' );
83
    $template->param( adultborrower => 1 ) if ( $data->{category_type} eq 'A' );
83
    my ($picture, $dberror) = GetPatronImage($data->{'borrowernumber'});
84
    my $patron_image = Koha::Patron::Images->find($data->{borrowernumber});
84
    $template->param( picture => 1 ) if $picture;
85
    $template->param( picture => 1 ) if $patron_image;
85
86
86
    if (C4::Context->preference('ExtendedPatronAttributes')) {
87
    if (C4::Context->preference('ExtendedPatronAttributes')) {
87
        my $attributes = GetBorrowerAttributes($borrowernumber);
88
        my $attributes = GetBorrowerAttributes($borrowernumber);
(-)a/members/maninvoice.pl (-2 / +3 lines)
Lines 33-38 use C4::Accounts; Link Here
33
use C4::Items;
33
use C4::Items;
34
use C4::Branch;
34
use C4::Branch;
35
use C4::Members::Attributes qw(GetBorrowerAttributes);
35
use C4::Members::Attributes qw(GetBorrowerAttributes);
36
use Koha::Patron::Images;
36
37
37
my $input=new CGI;
38
my $input=new CGI;
38
my $flagsrequired = { borrowers => 1 };
39
my $flagsrequired = { borrowers => 1 };
Lines 106-113 if ($add){ Link Here
106
    }
107
    }
107
108
108
    $template->param( adultborrower => 1 ) if ( $data->{'category_type'} eq 'A' );
109
    $template->param( adultborrower => 1 ) if ( $data->{'category_type'} eq 'A' );
109
    my ($picture, $dberror) = GetPatronImage($data->{'borrowernumber'});
110
    my $patron_image = Koha::Patron::Images->find($data->{borrowernumber});
110
    $template->param( picture => 1 ) if $picture;
111
    $template->param( picture => 1 ) if $patron_image;
111
112
112
    if (C4::Context->preference('ExtendedPatronAttributes')) {
113
    if (C4::Context->preference('ExtendedPatronAttributes')) {
113
        my $attributes = GetBorrowerAttributes($borrowernumber);
114
        my $attributes = GetBorrowerAttributes($borrowernumber);
(-)a/members/member-flags.pl (-2 / +3 lines)
Lines 17-22 use C4::Members::Attributes qw(GetBorrowerAttributes); Link Here
17
#use C4::Acquisitions;
17
#use C4::Acquisitions;
18
18
19
use C4::Output;
19
use C4::Output;
20
use Koha::Patron::Images;
20
21
21
my $input = new CGI;
22
my $input = new CGI;
22
23
Lines 157-164 if ($input->param('newflags')) { Link Here
157
    }
158
    }
158
	
159
	
159
$template->param( adultborrower => 1 ) if ( $bor->{'category_type'} eq 'A' );
160
$template->param( adultborrower => 1 ) if ( $bor->{'category_type'} eq 'A' );
160
    my ($picture, $dberror) = GetPatronImage($bor->{'borrowernumber'});
161
    my $patron_image = Koha::Patron::Images->find($bor->{borrowernumber});
161
    $template->param( picture => 1 ) if $picture;
162
    $template->param( picture => 1 ) if $patron_image;
162
163
163
if (C4::Context->preference('ExtendedPatronAttributes')) {
164
if (C4::Context->preference('ExtendedPatronAttributes')) {
164
    my $attributes = GetBorrowerAttributes($bor->{'borrowernumber'});
165
    my $attributes = GetBorrowerAttributes($bor->{'borrowernumber'});
(-)a/members/member-password.pl (-2 / +3 lines)
Lines 16-21 use C4::Branch; Link Here
16
use C4::Circulation;
16
use C4::Circulation;
17
use CGI qw ( -utf8 );
17
use CGI qw ( -utf8 );
18
use C4::Members::Attributes qw(GetBorrowerAttributes);
18
use C4::Members::Attributes qw(GetBorrowerAttributes);
19
use Koha::Patron::Images;
19
20
20
use Digest::MD5 qw(md5_base64);
21
use Digest::MD5 qw(md5_base64);
21
22
Lines 100-107 if ( $bor->{'category_type'} eq 'C' ) { Link Here
100
101
101
$template->param( adultborrower => 1 ) if ( $bor->{'category_type'} eq 'A' );
102
$template->param( adultborrower => 1 ) if ( $bor->{'category_type'} eq 'A' );
102
103
103
my ( $picture, $dberror ) = GetPatronImage( $bor->{'borrowernumber'} );
104
my $patron_image = Koha::Patron::Images->find($bor->{borrowernumber});
104
$template->param( picture => 1 ) if $picture;
105
$template->param( picture => 1 ) if $patron_image;
105
106
106
if ( C4::Context->preference('ExtendedPatronAttributes') ) {
107
if ( C4::Context->preference('ExtendedPatronAttributes') ) {
107
    my $attributes = GetBorrowerAttributes( $bor->{'borrowernumber'} );
108
    my $attributes = GetBorrowerAttributes( $bor->{'borrowernumber'} );
(-)a/members/moremember.pl (-2 / +3 lines)
Lines 52-57 use C4::Form::MessagingPreferences; Link Here
52
use List::MoreUtils qw/uniq/;
52
use List::MoreUtils qw/uniq/;
53
use C4::Members::Attributes qw(GetBorrowerAttributes);
53
use C4::Members::Attributes qw(GetBorrowerAttributes);
54
use Koha::Patron::Debarments qw(GetDebarments IsDebarred);
54
use Koha::Patron::Debarments qw(GetDebarments IsDebarred);
55
use Koha::Patron::Images;
55
use Module::Load;
56
use Module::Load;
56
if ( C4::Context->preference('NorwegianPatronDBEnable') && C4::Context->preference('NorwegianPatronDBEnable') == 1 ) {
57
if ( C4::Context->preference('NorwegianPatronDBEnable') && C4::Context->preference('NorwegianPatronDBEnable') == 1 ) {
57
    load Koha::NorwegianPatronDB, qw( NLGetSyncDataFromBorrowernumber );
58
    load Koha::NorwegianPatronDB, qw( NLGetSyncDataFromBorrowernumber );
Lines 287-294 if ( C4::Context->preference('NorwegianPatronDBEnable') && C4::Context->preferen Link Here
287
# check to see if patron's image exists in the database
288
# check to see if patron's image exists in the database
288
# basically this gives us a template var to condition the display of
289
# basically this gives us a template var to condition the display of
289
# patronimage related interface on
290
# patronimage related interface on
290
my ($picture, $dberror) = GetPatronImage($data->{'borrowernumber'});
291
my $patron_image = Koha::Patron::Images->find($data->{borrowernumber});
291
$template->param( picture => 1 ) if $picture;
292
$template->param( picture => 1 ) if $patron_image;
292
293
293
my $branch=C4::Context->userenv->{'branch'};
294
my $branch=C4::Context->userenv->{'branch'};
294
295
(-)a/members/notices.pl (-2 / +3 lines)
Lines 28-33 use C4::Members; Link Here
28
use C4::Branch;
28
use C4::Branch;
29
use C4::Letters;
29
use C4::Letters;
30
use C4::Members::Attributes qw(GetBorrowerAttributes);
30
use C4::Members::Attributes qw(GetBorrowerAttributes);
31
use Koha::Patron::Images;
31
32
32
my $input=new CGI;
33
my $input=new CGI;
33
34
Lines 46-53 my ($template, $loggedinuser, $cookie) Link Here
46
				});
47
				});
47
48
48
$template->param( $borrower );
49
$template->param( $borrower );
49
my ($picture, $dberror) = GetPatronImage($borrower->{'borrowernumber'});
50
my $patron_image = Koha::Patron::Images->find($borrower->{borrowernumber});
50
$template->param( picture => 1 ) if $picture;
51
$template->param( picture => 1 ) if $patron_image;
51
52
52
# Getting the messages
53
# Getting the messages
53
my $queued_messages = C4::Letters::GetQueuedMessages({borrowernumber => $borrowernumber});
54
my $queued_messages = C4::Letters::GetQueuedMessages({borrowernumber => $borrowernumber});
(-)a/members/patronimage.pl (-8 / +4 lines)
Lines 26-31 use CGI qw ( -utf8 ); Link Here
26
use C4::Auth qw( check_api_auth );
26
use C4::Auth qw( check_api_auth );
27
use C4::Context;
27
use C4::Context;
28
use C4::Members;
28
use C4::Members;
29
use Koha::Patron::Images;
29
30
30
$|=1;
31
$|=1;
31
32
Lines 65-82 if ($query->param('borrowernumber')) { Link Here
65
66
66
warn "Borrowernumber passed in: $borrowernumber" if $DEBUG;
67
warn "Borrowernumber passed in: $borrowernumber" if $DEBUG;
67
68
68
my ($imagedata, $dberror) = GetPatronImage($borrowernumber);
69
my $patron_image = Koha::Patron::Images->find($borrowernumber);
69
70
if ($dberror) {
71
    warn "Database Error!";
72
    exit;
73
}
74
70
75
# NOTE: Never dump the contents of $imagedata->{'patronimage'} via a warn to a log or nasty
71
# NOTE: Never dump the contents of $imagedata->{'patronimage'} via a warn to a log or nasty
76
# things will result... you have been warned!
72
# things will result... you have been warned!
77
73
78
if ($imagedata) {
74
if ($patron_image) {
79
    print $query->header (-type => $imagedata->{'mimetype'}, -'Cache-Control' => 'no-store', -Content_Length => length ($imagedata->{'imagefile'})), $imagedata->{'imagefile'};
75
    print $query->header (-type => $patron_image->mimetype, -'Cache-Control' => 'no-store', -Content_Length => length ($patron_image->imagefile)), $patron_image->imagefile;
80
    exit;
76
    exit;
81
} else {
77
} else {
82
    warn "No image exists for $borrowernumber";
78
    warn "No image exists for $borrowernumber";
(-)a/members/pay.pl (-7 / +3 lines)
Lines 41-46 use C4::Koha; Link Here
41
use C4::Overdues;
41
use C4::Overdues;
42
use C4::Branch;
42
use C4::Branch;
43
use C4::Members::Attributes qw(GetBorrowerAttributes);
43
use C4::Members::Attributes qw(GetBorrowerAttributes);
44
use Koha::Patron::Images;
44
45
45
our $input = CGI->new;
46
our $input = CGI->new;
46
47
Lines 136-143 sub add_accounts_to_template { Link Here
136
137
137
    $template->param(%$borrower);
138
    $template->param(%$borrower);
138
139
139
    my ($picture, $dberror) = GetPatronImage($borrower->{'borrowernumber'});
140
    my $patron_image = Koha::Patron::Images->find($borrower->{borrowernumber});
140
    $template->param( picture => 1 ) if $picture;
141
    $template->param( picture => 1 ) if $patron_image;
141
    $template->param(
142
    $template->param(
142
        accounts => $accounts,
143
        accounts => $accounts,
143
        borrower => $borrower,
144
        borrower => $borrower,
Lines 227-237 sub borrower_add_additional_fields { Link Here
227
        $b_ref->{adultborrower} = 1;
228
        $b_ref->{adultborrower} = 1;
228
    }
229
    }
229
230
230
    my ( $picture, $dberror ) = GetPatronImage( $b_ref->{borrowernumber} );
231
    if ($picture) {
232
        $b_ref->{has_picture} = 1;
233
    }
234
235
    if (C4::Context->preference('ExtendedPatronAttributes')) {
231
    if (C4::Context->preference('ExtendedPatronAttributes')) {
236
        $b_ref->{extendedattributes} = GetBorrowerAttributes($borrowernumber);
232
        $b_ref->{extendedattributes} = GetBorrowerAttributes($borrowernumber);
237
        $template->param(
233
        $template->param(
(-)a/members/paycollect.pl (-2 / +3 lines)
Lines 29-34 use C4::Members::Attributes qw(GetBorrowerAttributes); Link Here
29
use C4::Accounts;
29
use C4::Accounts;
30
use C4::Koha;
30
use C4::Koha;
31
use C4::Branch;
31
use C4::Branch;
32
use Koha::Patron::Images;
32
33
33
my $input = CGI->new();
34
my $input = CGI->new();
34
35
Lines 176-183 sub borrower_add_additional_fields { Link Here
176
        $b_ref->{adultborrower} = 1;
177
        $b_ref->{adultborrower} = 1;
177
    }
178
    }
178
179
179
    my ($picture, $dberror) = GetPatronImage($borrower->{'borrowernumber'});
180
    my $patron_image = Koha::Patron::Images->find($borrower->{borrowernumber});
180
    $template->param( picture => 1 ) if $picture;
181
    $template->param( picture => 1 ) if $patron_image;
181
182
182
    if (C4::Context->preference('ExtendedPatronAttributes')) {
183
    if (C4::Context->preference('ExtendedPatronAttributes')) {
183
        $b_ref->{extendedattributes} = GetBorrowerAttributes($borrowernumber);
184
        $b_ref->{extendedattributes} = GetBorrowerAttributes($borrowernumber);
(-)a/members/printfeercpt.pl (-2 / +3 lines)
Lines 32-37 use C4::Members; Link Here
32
use C4::Branch;
32
use C4::Branch;
33
use C4::Accounts;
33
use C4::Accounts;
34
use Koha::DateUtils;
34
use Koha::DateUtils;
35
use Koha::Patron::Images;
35
36
36
my $input=new CGI;
37
my $input=new CGI;
37
38
Lines 113-120 for (my $i=0;$i<$numaccts;$i++){ Link Here
113
114
114
$template->param( adultborrower => 1 ) if ( $data->{'category_type'} eq 'A' );
115
$template->param( adultborrower => 1 ) if ( $data->{'category_type'} eq 'A' );
115
116
116
my ($picture, $dberror) = GetPatronImage($data->{'borrowernumber'});
117
my $patron_image = Koha::Patron::Images->find($data->{borrowernumber});
117
$template->param( picture => 1 ) if $picture;
118
$template->param( picture => 1 ) if $patron_image;
118
119
119
$template->param(
120
$template->param(
120
    finesview           => 1,
121
    finesview           => 1,
(-)a/members/printinvoice.pl (-2 / +3 lines)
Lines 30-35 use CGI qw ( -utf8 ); Link Here
30
use C4::Members;
30
use C4::Members;
31
use C4::Branch;
31
use C4::Branch;
32
use C4::Accounts;
32
use C4::Accounts;
33
use Koha::Patron::Images;
33
34
34
my $input = new CGI;
35
my $input = new CGI;
35
36
Lines 112-119 for ( my $i = 0 ; $i < $numaccts ; $i++ ) { Link Here
112
113
113
$template->param( adultborrower => 1 ) if ( $data->{'category_type'} eq 'A' );
114
$template->param( adultborrower => 1 ) if ( $data->{'category_type'} eq 'A' );
114
115
115
my ( $picture, $dberror ) = GetPatronImage( $data->{'borrowernumber'} );
116
my $patron_image = Koha::Patron::Images->find($data->{borrowernumber});
116
$template->param( picture => 1 ) if $picture;
117
$template->param( picture => 1 ) if $patron_image;
117
118
118
$template->param(
119
$template->param(
119
    finesview      => 1,
120
    finesview      => 1,
(-)a/members/purchase-suggestions.pl (-2 / +3 lines)
Lines 27-32 use C4::Branch; Link Here
27
use C4::Members;
27
use C4::Members;
28
use C4::Members::Attributes qw(GetBorrowerAttributes);
28
use C4::Members::Attributes qw(GetBorrowerAttributes);
29
use C4::Suggestions;
29
use C4::Suggestions;
30
use Koha::Patron::Images;
30
31
31
my $input = new CGI;
32
my $input = new CGI;
32
33
Lines 62-69 if (C4::Context->preference('ExtendedPatronAttributes')) { Link Here
62
    );
63
    );
63
}
64
}
64
65
65
my ($picture, $dberror) = GetPatronImage($borrowernumber);
66
my $patron_image = Koha::Patron::Images->find($borrowernumber);
66
$template->param( picture => 1 ) if $picture;
67
$template->param( picture => 1 ) if $patron_image;
67
68
68
my $suggestions = SearchSuggestion( { suggestedby => $borrowernumber } );
69
my $suggestions = SearchSuggestion( { suggestedby => $borrowernumber } );
69
70
(-)a/members/readingrec.pl (-3 / +3 lines)
Lines 32-37 use C4::Branch qw(GetBranches); Link Here
32
use List::MoreUtils qw/any uniq/;
32
use List::MoreUtils qw/any uniq/;
33
use Koha::DateUtils;
33
use Koha::DateUtils;
34
use C4::Members::Attributes qw(GetBorrowerAttributes);
34
use C4::Members::Attributes qw(GetBorrowerAttributes);
35
use Koha::Patron::Images;
35
36
36
my $input = CGI->new;
37
my $input = CGI->new;
37
38
Lines 107-115 if (! $limit){ Link Here
107
	$limit = 'full';
108
	$limit = 'full';
108
}
109
}
109
110
110
111
my $patron_image = Koha::Patron::Images->find($data->{borrowernumber});
111
my ($picture, $dberror) = GetPatronImage($data->{'borrowernumber'});
112
$template->param( picture => 1 ) if $patron_image;
112
$template->param( picture => 1 ) if $picture;
113
113
114
if (C4::Context->preference('ExtendedPatronAttributes')) {
114
if (C4::Context->preference('ExtendedPatronAttributes')) {
115
    my $attributes = GetBorrowerAttributes($borrowernumber);
115
    my $attributes = GetBorrowerAttributes($borrowernumber);
(-)a/members/routing-lists.pl (-2 / +3 lines)
Lines 27-32 use C4::Members; Link Here
27
use C4::Members::Attributes qw(GetBorrowerAttributes);
27
use C4::Members::Attributes qw(GetBorrowerAttributes);
28
use C4::Context;
28
use C4::Context;
29
use C4::Serials;
29
use C4::Serials;
30
use Koha::Patron::Images;
30
use CGI::Session;
31
use CGI::Session;
31
32
32
my $query = new CGI;
33
my $query = new CGI;
Lines 121-127 if (C4::Context->preference('ExtendedPatronAttributes')) { Link Here
121
    );
122
    );
122
}
123
}
123
124
124
my ($picture, $dberror) = GetPatronImage($borrower->{'borrowernumber'});
125
my $patron_image = Koha::Patron::Images->find($borrower->{borrowernumber});
125
$template->param( picture => 1 ) if $picture;
126
$template->param( picture => 1 ) if $patron_image;
126
127
127
output_html_with_http_headers $query, $cookie, $template->output;
128
output_html_with_http_headers $query, $cookie, $template->output;
(-)a/members/statistics.pl (-2 / +3 lines)
Lines 32-37 use C4::Members; Link Here
32
use C4::Members::Statistics;
32
use C4::Members::Statistics;
33
use C4::Members::Attributes qw(GetBorrowerAttributes);
33
use C4::Members::Attributes qw(GetBorrowerAttributes);
34
use C4::Output;
34
use C4::Output;
35
use Koha::Patron::Images;
35
36
36
my $input = new CGI;
37
my $input = new CGI;
37
38
Lines 93-100 if (C4::Context->preference('ExtendedPatronAttributes')) { Link Here
93
    );
94
    );
94
}
95
}
95
96
96
my ($picture, $dberror) = GetPatronImage($borrower->{'borrowernumber'});
97
my $patron_image = Koha::Patron::Images->find($borrower->{borrowernumber});
97
$template->param( picture => 1 ) if $picture;
98
$template->param( picture => 1 ) if $patron_image;
98
99
99
$template->param(%$borrower);
100
$template->param(%$borrower);
100
101
(-)a/opac/opac-memberentry.pl (-6 / +3 lines)
Lines 31-36 use C4::Branch qw(GetBranchesLoop); Link Here
31
use C4::Scrubber;
31
use C4::Scrubber;
32
use Email::Valid;
32
use Email::Valid;
33
use Koha::DateUtils;
33
use Koha::DateUtils;
34
use Koha::Patron::Images;
34
35
35
my $cgi = new CGI;
36
my $cgi = new CGI;
36
my $dbh = C4::Context->dbh;
37
my $dbh = C4::Context->dbh;
Lines 231-242 elsif ( $action eq 'edit' ) { #Display logged in borrower's data Link Here
231
    );
232
    );
232
233
233
    if (C4::Context->preference('OPACpatronimages')) {
234
    if (C4::Context->preference('OPACpatronimages')) {
234
        my ($image, $dberror) = GetPatronImage($borrower->{borrowernumber});
235
        my $patron_image = Koha::Patron::Images->find($borrower->{borrowernumber});
235
        if ($image) {
236
        $template->param( display_patron_image => 1 ) if $patron_image;
236
            $template->param(
237
                display_patron_image => 1
238
            );
239
        }
240
    }
237
    }
241
238
242
}
239
}
(-)a/opac/opac-patron-image.pl (-9 / +8 lines)
Lines 24-29 use C4::Members; Link Here
24
use CGI qw ( -utf8 );
24
use CGI qw ( -utf8 );
25
use CGI::Cookie;  # need to check cookies before having CGI parse the POST request
25
use CGI::Cookie;  # need to check cookies before having CGI parse the POST request
26
use C4::Auth qw(:DEFAULT check_cookie_auth);
26
use C4::Auth qw(:DEFAULT check_cookie_auth);
27
use Koha::Patron::Images;
27
28
28
my $query = new CGI;
29
my $query = new CGI;
29
30
Lines 38-53 my $sessid = $cookies{'CGISESSID'}->value; Link Here
38
my ($auth_status, $auth_sessid) = check_cookie_auth($sessid, $needed_flags);
39
my ($auth_status, $auth_sessid) = check_cookie_auth($sessid, $needed_flags);
39
my $borrowernumber = C4::Context->userenv->{'number'};
40
my $borrowernumber = C4::Context->userenv->{'number'};
40
41
41
my ($imagedata, $dberror) = GetPatronImage($borrowernumber);
42
my $patron_image = Koha::Patron::Images->find($borrowernumber);
42
43
43
if ($dberror) {
44
if ($patron_image) {
44
    print $query->header(status => '500 internal error');
45
    print $query->header(
45
}
46
        -type           => $patron_image->mimetype,
46
47
        -Content_Length => length( $patron_image->imagefile )
47
if ($imagedata) {
48
      ),
48
    print $query->header(-type => $imagedata->{'mimetype'},
49
      $patron_image->imagefile;
49
                         -Content_Length => length ($imagedata->{'imagefile'})),
50
          $imagedata->{'imagefile'};
51
} else {
50
} else {
52
    print $query->header(status => '404 patron image not found');
51
    print $query->header(status => '404 patron image not found');
53
}
52
}
(-)a/opac/sco/sco-main.pl (-7 / +6 lines)
Lines 45-50 use C4::Output; Link Here
45
use C4::Members;
45
use C4::Members;
46
use C4::Biblio;
46
use C4::Biblio;
47
use C4::Items;
47
use C4::Items;
48
use Koha::Patron::Images;
48
49
49
my $query = new CGI;
50
my $query = new CGI;
50
51
Lines 253-265 if ($borrower->{cardnumber}) { Link Here
253
254
254
    );
255
    );
255
    if (C4::Context->preference('ShowPatronImageInWebBasedSelfCheck')) {
256
    if (C4::Context->preference('ShowPatronImageInWebBasedSelfCheck')) {
256
        my ($image, $dberror) = GetPatronImage($borrower->{borrowernumber});
257
        my $patron_image = Koha::Patron::Images->find($borrower->{borrowernumber});
257
        if ($image) {
258
        $template->param(
258
            $template->param(
259
            display_patron_image => 1,
259
                display_patron_image => 1,
260
            cardnumber           => $borrower->{cardnumber},
260
                cardnumber           => $borrower->{cardnumber},
261
        ) if $patron_image;
261
            );
262
        }
263
    }
262
    }
264
} else {
263
} else {
265
    $template->param(
264
    $template->param(
(-)a/opac/sco/sco-patron-image.pl (-9 / +8 lines)
Lines 21-26 use strict; Link Here
21
use warnings;
21
use warnings;
22
use C4::Service;
22
use C4::Service;
23
use C4::Members;
23
use C4::Members;
24
use Koha::Patron::Images;
24
25
25
my ($query, $response) = C4::Service->init(circulate => 'self_checkout');
26
my ($query, $response) = C4::Service->init(circulate => 'self_checkout');
26
27
Lines 35-50 unless (C4::Context->preference('ShowPatronImageInWebBasedSelfCheck')) { Link Here
35
36
36
my ($borrowernumber) = C4::Service->require_params('borrowernumber');
37
my ($borrowernumber) = C4::Service->require_params('borrowernumber');
37
38
38
my ($imagedata, $dberror) = GetPatronImage($borrowernumber);
39
my $patron_image = Koha::Patron::Images->find($borrowernumber);
39
40
40
if ($dberror) {
41
if ($patron_image) {
41
    print $query->header(status => '500 internal error');
42
    print $query->header(
42
}
43
        -type           => $patron_image->mimetype,
43
44
        -Content_Length => length( $patron_image->imagefile )
44
if ($imagedata) {
45
      ),
45
    print $query->header(-type => $imagedata->{'mimetype'}, 
46
      $patron_image->imagefile;
46
                         -Content_Length => length ($imagedata->{'imagefile'})), 
47
          $imagedata->{'imagefile'};
48
} else {
47
} else {
49
    print $query->header(status => '404 patron image not found');
48
    print $query->header(status => '404 patron image not found');
50
}
49
}
(-)a/patroncards/create-pdf.pl (-4 / +5 lines)
Lines 29-38 use autouse 'Data::Dumper' => qw(Dumper); Link Here
29
29
30
use C4::Debug;
30
use C4::Debug;
31
use C4::Context;
31
use C4::Context;
32
use autouse 'C4::Members' => qw(GetPatronImage GetMember);
32
use autouse 'C4::Members' => qw(GetMember);
33
use C4::Creators;
33
use C4::Creators;
34
use C4::Patroncards;
34
use C4::Patroncards;
35
use Koha::List::Patron;
35
use Koha::List::Patron;
36
use Koha::Patron::Images;
36
37
37
my $cgi = new CGI;
38
my $cgi = new CGI;
38
39
Lines 156-164 foreach my $item (@{$items}) { Link Here
156
                    next PROCESS_IMAGES;
157
                    next PROCESS_IMAGES;
157
                }
158
                }
158
                elsif ($images->{$_}->{'data_source'}->[0]->{'image_source'} eq 'patronimages') {
159
                elsif ($images->{$_}->{'data_source'}->[0]->{'image_source'} eq 'patronimages') {
159
                    ($image_data, $error) = GetPatronImage($borrower_number);
160
                    my $patron_image = Koha::Patron::Images->find($borrower_number);
160
                    warn sprintf('No image exists for borrower number %s.', $borrower_number) if !$image_data;
161
                    warn sprintf('No image exists for borrower number %s.', $borrower_number) unless $patron_image;
161
                    next PROCESS_IMAGES if !$image_data;
162
                    next PROCESS_IMAGES unless $patron_image;
162
                }
163
                }
163
                elsif ($images->{$_}->{'data_source'}->[0]->{'image_source'} eq 'creator_images') {
164
                elsif ($images->{$_}->{'data_source'}->[0]->{'image_source'} eq 'creator_images') {
164
                    my $dbh = C4::Context->dbh();
165
                    my $dbh = C4::Context->dbh();
(-)a/tools/picture-upload.pl (+1 lines)
Lines 33-38 use C4::Debug; Link Here
33
33
34
use Koha::Patrons;
34
use Koha::Patrons;
35
use Koha::Patron::Image;
35
use Koha::Patron::Image;
36
use Koha::Patron::Images;
36
37
37
my $input = new CGI;
38
my $input = new CGI;
38
39
(-)a/tools/viewlog.pl (-3 / +3 lines)
Lines 31-36 use C4::Items; Link Here
31
use C4::Branch;
31
use C4::Branch;
32
use C4::Debug;
32
use C4::Debug;
33
use C4::Search;    # enabled_staff_search_views
33
use C4::Search;    # enabled_staff_search_views
34
use Koha::Patron::Images;
34
35
35
use vars qw($debug $cgi_debug);
36
use vars qw($debug $cgi_debug);
36
37
Lines 73-80 if ( $src eq 'circ' ) { Link Here
73
    use C4::Members::Attributes qw(GetBorrowerAttributes);
74
    use C4::Members::Attributes qw(GetBorrowerAttributes);
74
    my $borrowernumber = $object;
75
    my $borrowernumber = $object;
75
    my $data = GetMember( 'borrowernumber' => $borrowernumber );
76
    my $data = GetMember( 'borrowernumber' => $borrowernumber );
76
    my ( $picture, $dberror ) = GetPatronImage( $data->{'borrowernumber'} );
77
    my $patron_image = Koha::Patron::Images->find($data->{borrowernumber});
77
    $template->param( picture => 1 ) if $picture;
78
    $template->param( picture => 1 ) if $patron_image;
78
79
79
    if ( C4::Context->preference('ExtendedPatronAttributes') ) {
80
    if ( C4::Context->preference('ExtendedPatronAttributes') ) {
80
        my $attributes = GetBorrowerAttributes( $data->{'borrowernumber'} );
81
        my $attributes = GetBorrowerAttributes( $data->{'borrowernumber'} );
81
- 

Return to bug 15635