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

(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt (-3 / +3 lines)
Lines 271-279 function validate1(date) { Link Here
271
                    </li>
271
                    </li>
272
                </ol>
272
                </ol>
273
                <fieldset class="action">
273
                <fieldset class="action">
274
                    <input type="submit" value="Upload" class="submit" />
274
                    <input type="submit" name="op" id="op" value="Upload" class="submit btn" />&nbsp;&nbsp;&nbsp;&nbsp;
275
                    <input name="op" type="hidden" value="Upload" />
275
                    [% IF ( webcam ) %]<input type="submit" name="op" id="op" value="Capture" class="submit btn" />&nbsp;&nbsp;&nbsp;&nbsp;[% END %]
276
                    [% IF ( picture ) %]<a id="delpicture" href="/cgi-bin/koha/tools/picture-upload.pl?op=Delete&amp;cardnumber=[% cardnumber %]&amp;borrowernumber=[% borrowernumber %]" class="delete">Delete</a>[% END %]
276
                    [% IF ( picture ) %]<a id="delpicture" href="/cgi-bin/koha/tools/picture-upload.pl?op=Delete&amp;cardnumber=[% cardnumber %]&amp;borrowernumber=[% borrowernumber %]" class="delete btn">Delete</a>[% END %]
277
                </fieldset>
277
                </fieldset>
278
            </fieldset>
278
            </fieldset>
279
        </form>
279
        </form>
(-)a/members/moremember.pl (-1 / +12 lines)
Lines 50-56 use C4::Letters; Link Here
50
use C4::Biblio;
50
use C4::Biblio;
51
use C4::Branch; # GetBranchName
51
use C4::Branch; # GetBranchName
52
use C4::Form::MessagingPreferences;
52
use C4::Form::MessagingPreferences;
53
use List::MoreUtils qw/uniq/;
53
use List::MoreUtils qw/uniq none/;
54
use C4::Members::Attributes qw(GetBorrowerAttributes);
54
use C4::Members::Attributes qw(GetBorrowerAttributes);
55
use Koha::Borrower::Debarments qw(GetDebarments IsDebarred);
55
use Koha::Borrower::Debarments qw(GetDebarments IsDebarred);
56
use Module::Load;
56
use Module::Load;
Lines 113-118 my ( $template, $loggedinuser, $cookie ) = get_template_and_user( Link Here
113
);
113
);
114
my $borrowernumber = $input->param('borrowernumber');
114
my $borrowernumber = $input->param('borrowernumber');
115
115
116
# Look for something that might be a webcam.
117
opendir DIR, "/dev" or die "cannot determine devices on system: $!";
118
my @devices = readdir DIR;
119
close DIR;
120
if (none { $_ =~ /video/ } @devices) {
121
    $template->param( webcam => 0 );
122
}
123
else {
124
    $template->param( webcam => 1 );
125
}
126
116
my ( $od, $issue, $fines ) = GetMemberIssuesAndFines($borrowernumber);
127
my ( $od, $issue, $fines ) = GetMemberIssuesAndFines($borrowernumber);
117
$template->param( issuecount => $issue );
128
$template->param( issuecount => $issue );
118
129
(-)a/tools/picture-upload.pl (-7 / +18 lines)
Lines 75-87 $debug and warn "Operation requested: $op"; Link Here
75
my ( $total, $handled, @counts, $tempfile, $tfh, %errors );
75
my ( $total, $handled, @counts, $tempfile, $tfh, %errors );
76
76
77
# Case is important in these operational values as the template must use case to be visually pleasing!
77
# Case is important in these operational values as the template must use case to be visually pleasing!
78
if ( ( $op eq 'Upload' ) && $uploadfile ) {
78
if ( (( $op eq 'Upload' ) && $uploadfile) ||
79
     (  $op eq 'Capture' ) ) {
79
    my $dirname = File::Temp::tempdir( CLEANUP => 1 );
80
    my $dirname = File::Temp::tempdir( CLEANUP => 1 );
80
    $debug and warn "dirname = $dirname";
81
    $debug and warn "dirname = $dirname";
81
    my $filesuffix;
82
    my $filesuffix;
82
    if ( $uploadfilename =~ m/(\..+)$/i ) {
83
    if ( $uploadfilename =~ m/(\..+)$/i ) {
83
        $filesuffix = $1;
84
        $filesuffix = $1;
84
    }
85
    }
86
    if ( $op eq 'Capture' ) {
87
        $filesuffix = '.jpeg';
88
    }
85
    ( $tfh, $tempfile ) =
89
    ( $tfh, $tempfile ) =
86
      File::Temp::tempfile( SUFFIX => $filesuffix, UNLINK => 1 );
90
      File::Temp::tempfile( SUFFIX => $filesuffix, UNLINK => 1 );
87
    $debug and warn "tempfile = $tempfile";
91
    $debug and warn "tempfile = $tempfile";
Lines 90-106 if ( ( $op eq 'Upload' ) && $uploadfile ) { Link Here
90
    $errors{'NOTZIP'} = 1
94
    $errors{'NOTZIP'} = 1
91
      if ( $uploadfilename !~ /\.zip$/i && $filetype =~ m/zip/i );
95
      if ( $uploadfilename !~ /\.zip$/i && $filetype =~ m/zip/i );
92
    $errors{'NOWRITETEMP'} = 1 unless ( -w $dirname );
96
    $errors{'NOWRITETEMP'} = 1 unless ( -w $dirname );
93
    $errors{'EMPTYUPLOAD'} = 1 unless ( length($uploadfile) > 0 );
97
    $errors{'EMPTYUPLOAD'} = 1 unless (
98
      (defined($uploadfile) && length($uploadfile) > 0) ||
99
       $op eq 'Capture' );
94
100
95
    if (%errors) {
101
    if (%errors) {
96
        $template->param( ERRORS => [ \%errors ] );
102
        $template->param( ERRORS => [ \%errors ] );
97
        output_html_with_http_headers $input, $cookie, $template->output;
103
        output_html_with_http_headers $input, $cookie, $template->output;
98
        exit;
104
        exit;
99
    }
105
    }
100
    while (<$uploadfile>) {
106
    if ( $op eq 'Upload' ) {
101
        print $tfh $_;
107
        while (<$uploadfile>) {
108
            print $tfh $_;
109
        }
110
        close $tfh;
111
    }
112
    elsif ( $op eq 'Capture' ) {
113
        close $tfh;
114
        system('/usr/bin/streamer -o ' . $tempfile);
102
    }
115
    }
103
    close $tfh;
104
    if ( $filetype eq 'zip' ) {
116
    if ( $filetype eq 'zip' ) {
105
        unless ( system( "unzip", $tempfile, '-d', $dirname ) == 0 ) {
117
        unless ( system( "unzip", $tempfile, '-d', $dirname ) == 0 ) {
106
            $errors{'UZIPFAIL'} = $uploadfilename;
118
            $errors{'UZIPFAIL'} = $uploadfilename;
Lines 157-163 elsif ( ( $op eq 'Upload' ) && !$uploadfile ) { Link Here
157
    $template->param( filetype   => $filetype );
169
    $template->param( filetype   => $filetype );
158
}
170
}
159
elsif ( $op eq 'Delete' ) {
171
elsif ( $op eq 'Delete' ) {
160
    my $dberror = RmPatronImage($cardnumber);
172
    my $dberror = RmPatronImage($borrowernumber);
161
    $debug and warn "Patron image deleted for $cardnumber";
173
    $debug and warn "Patron image deleted for $cardnumber";
162
    warn "Database returned $dberror" if $dberror;
174
    warn "Database returned $dberror" if $dberror;
163
}
175
}
164
- 

Return to bug 6815