From 4cb9ec1d6d37b49ebafc68d0a94d794a1acb8b28 Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Thu, 22 Oct 2009 10:09:25 -0700 Subject: Use the request::referrer to determine if we are editting the photo or album from the context menu or from its photo or album page. Fixes ticket #745. Thanks to jankoprowski for the referrer approach. --- modules/gallery/controllers/albums.php | 4 +++- modules/gallery/controllers/photos.php | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/modules/gallery/controllers/albums.php b/modules/gallery/controllers/albums.php index 9480a037..fabf67ce 100644 --- a/modules/gallery/controllers/albums.php +++ b/modules/gallery/controllers/albums.php @@ -200,6 +200,8 @@ class Albums_Controller extends Items_Controller { } if ($valid) { + $watching_album = $album->url() != ($location = parse_url(request::referrer(), PHP_URL_PATH)); + $album->title = $form->edit_item->title->value; $album->description = $form->edit_item->description->value; $album->sort_column = $form->edit_item->sort_order->column->value; @@ -217,7 +219,7 @@ class Albums_Controller extends Items_Controller { print json_encode( array("result" => "success", - "location" => $album->url())); + "location" => $watching_album ? $location : $album->url())); } else { print json_encode( array("result" => "error", diff --git a/modules/gallery/controllers/photos.php b/modules/gallery/controllers/photos.php index 6bb5af89..54cd63c6 100644 --- a/modules/gallery/controllers/photos.php +++ b/modules/gallery/controllers/photos.php @@ -100,6 +100,8 @@ class Photos_Controller extends Items_Controller { } if ($valid) { + $watching_album = $photo->url() != ($location = parse_url(request::referrer(), PHP_URL_PATH)); + $photo->title = $form->edit_item->title->value; $photo->description = $form->edit_item->description->value; $photo->slug = $form->edit_item->slug->value; @@ -114,7 +116,7 @@ class Photos_Controller extends Items_Controller { print json_encode( array("result" => "success", - "location" => $photo->url())); + "location" => $watching_album ? $location : $photo->url())); } else { print json_encode( array("result" => "error", -- cgit v1.2.3