Committer: ssafronova
LJSUP-6426, LJSUP-6493: corrected crop algorithm, deleted debug output, pass user/pass as parameter, little bugfixU trunk/cgi-bin/ljuserpics.pl
Modified: trunk/cgi-bin/ljuserpics.pl =================================================================== --- trunk/cgi-bin/ljuserpics.pl 2010-08-17 08:27:53 UTC (rev 17140) +++ trunk/cgi-bin/ljuserpics.pl 2010-08-17 10:01:27 UTC (rev 17141) @@ -623,6 +623,8 @@ my $downsize_only = delete $opts{downsize_only}; my $save_to_FB = delete $opts{save_to_FB} || 0; my $fb_gallery = delete $opts{fb_gallery}; + my $fb_username = delete $opts{fb_username}; + my $fb_password = delete $opts{fb_password}; my $auto_crop = delete $opts{auto_crop}; croak "No userid or remote" unless $u || $mogkey; @@ -745,8 +747,12 @@ $y1 = ($oh - $crop_h) / 2; $x1 = 0; } - $timage->Crop($crop_w."x".$crop_h."+$x1+$y1"); - $timage->Scale(width => $decodew, height => $decodeh); + if ($oh > $decodeh or $ow > $decodew) { + $timage->Crop($crop_w."x".$crop_h."+$x1+$y1"); + if ($crop_h > $decodeh or $crop_w > $decodew) { + $timage->Scale(width => $decodew, height => $decodeh); + } + } } else { my $w = ($x2 - $x1); my $h = ($y2 - $y1); @@ -757,8 +763,10 @@ if ($save_to_FB) { my $im_blob = $timage->ImageToBlob; my $res = upload_to_fb ( - dataref => $im_blob, - gals => [ $fb_gallery ], + dataref => $im_blob, + gals => $fb_gallery, + username => $fb_username, + password => $fb_password, ); return $res; } @@ -826,7 +834,8 @@ sub make_auth { my $chal = shift; - return "crp:$chal:" . md5_hex($chal . md5_hex($LJ::FB_PASS)); + my $password = shift; + return "crp:$chal:" . md5_hex($chal . md5_hex($password)); } sub upload_to_fb { @@ -835,11 +844,11 @@ my $dataref = $opts{dataref}; my $gals = $opts{gals}; - my $username = $LJ::FB_USER; + my $username = $opts{username} || $LJ::FB_USER; + my $password = $opts{password} || $LJ::FB_PASS; my $chal = ""; unless ($chal) { - print "Getting challenge...\n"; $chal = get_challenge($username) or die "No challenge string available.\n"; } @@ -851,7 +860,7 @@ my $req = HTTP::Request->new(PUT => "$LJ::FB_SITEROOT/interface/simple"); $req->push_header("X-FB-Mode" => "UploadPic"); $req->push_header("X-FB-User" => $username); - $req->push_header("X-FB-Auth" => make_auth($chal)); + $req->push_header("X-FB-Auth" => make_auth($chal, $password)); $req->push_header("X-FB-GetChallenge" => 1); # picture security @@ -871,12 +880,6 @@ my @path = split(/\0/, $gal); my $galname = pop @path; - if (@path) { - print "Adding to gallery: [", join(" // ", @path, $galname), "]\n"; - } else { - print "Adding to gallery: $galname\n"; - } - $req->push_header ("X-FB-UploadPic.Gallery.$idx.GalName" => $galname); $req->push_header @@ -915,7 +918,7 @@ picid => -1, url => undef, status => 'error', - errstr => $err->[0], + errstr => ref $err eq 'HASH' ? $err->{content} : (ref $err eq 'ARRAY' ? $err->[0] : $err), } }