my $dbh = Sesse::pr0n::Common::get_dbh();
my ($user, $takenby) = Sesse::pr0n::Common::check_access($r);
my $dbh = Sesse::pr0n::Common::get_dbh();
my ($user, $takenby) = Sesse::pr0n::Common::check_access($r);
# FIXME: People can rotate and delete across vhosts using this interface.
# We should add some sanity checks.
# FIXME: People can rotate and delete across vhosts using this interface.
# We should add some sanity checks.
my ($id, $rotval) = ($1,$2);
my $fname = Sesse::pr0n::Common::get_disk_location($r, $id);
push @to_purge, Sesse::pr0n::Common::get_all_cache_urls($r, $dbh, $id);
(my $tmpfname = $fname) =~ s/\.jpg$/-tmp.jpg/;
my ($id, $rotval) = ($1,$2);
my $fname = Sesse::pr0n::Common::get_disk_location($r, $id);
push @to_purge, Sesse::pr0n::Common::get_all_cache_urls($r, $dbh, $id);
(my $tmpfname = $fname) =~ s/\.jpg$/-tmp.jpg/;
- system("/usr/bin/jpegtran -rotate $rotval -copy all < '$fname' > '$tmpfname' && mv '$tmpfname' '$fname'") == 0
- or error($r, "Rotation of $id [/usr/bin/jpegtran -rotate $rotval -copy all < '$fname' > '$tmpfname' && mv '$tmpfname' '$fname'] failed: $!.");
- $r->print(" <p>Rotated image ID `$id' by $rotval degrees.</p>\n");
+ system("/usr/bin/jpegtran -rotate $rotval -copy all < '$fname' > '$tmpfname' && /bin/mv '$tmpfname' '$fname'") == 0
+ or return error($r, "Rotation of $id [/usr/bin/jpegtran -rotate $rotval -copy all < '$fname' > '$tmpfname' && /bin/mv '$tmpfname' '$fname'] failed: $!.");
+ $io->print(" <p>Rotated image ID `$id' by $rotval degrees.</p>\n");
if ($rotval == 90 || $rotval == 270) {
my $q = $dbh->do('UPDATE images SET height=width,width=height WHERE id=?', undef, $id)
if ($rotval == 90 || $rotval == 270) {
my $q = $dbh->do('UPDATE images SET height=width,width=height WHERE id=?', undef, $id)
$dbh->do('UPDATE last_picture_cache SET last_update=CURRENT_TIMESTAMP WHERE (vhost,event)=( SELECT vhost,event FROM images WHERE id=? )',
undef, $id)
$dbh->do('UPDATE last_picture_cache SET last_update=CURRENT_TIMESTAMP WHERE (vhost,event)=( SELECT vhost,event FROM images WHERE id=? )',
undef, $id)
my $id = $1;
push @to_purge, Sesse::pr0n::Common::get_all_cache_urls($r, $dbh, $id);
{
my $id = $1;
push @to_purge, Sesse::pr0n::Common::get_all_cache_urls($r, $dbh, $id);
{
- my $event = $apr->param('event');
- $dbh->do('UPDATE last_picture_cache SET last_update=CURRENT_TIMESTAMP WHERE vhost=? AND event=?', undef, $r->get_server_name, $event)
- or dberror($r, "Cache invalidation failed");
+ my $event = $r->param('event');
+ $dbh->do('UPDATE last_picture_cache SET last_update=CURRENT_TIMESTAMP WHERE vhost=? AND event=?', undef, Sesse::pr0n::Common::get_server_name($r), $event)
+ or return dberror($r, "Cache invalidation failed");
push @to_purge, "/$event/";
push @to_purge, "/+all/";
push @to_purge, "/$event/";
push @to_purge, "/+all/";
- Sesse::pr0n::Common::purge_cache($r, @to_purge);
-
- Sesse::pr0n::Common::footer($r);
+ Sesse::pr0n::Common::purge_cache($r, $res, @to_purge);