summaryrefslogtreecommitdiff
path: root/modules/gallery/controllers
diff options
context:
space:
mode:
Diffstat (limited to 'modules/gallery/controllers')
-rw-r--r--modules/gallery/controllers/file_proxy.php10
-rw-r--r--modules/gallery/controllers/items.php10
2 files changed, 14 insertions, 6 deletions
diff --git a/modules/gallery/controllers/file_proxy.php b/modules/gallery/controllers/file_proxy.php
index 5c958a8d..36c6bc2a 100644
--- a/modules/gallery/controllers/file_proxy.php
+++ b/modules/gallery/controllers/file_proxy.php
@@ -122,7 +122,15 @@ class File_Proxy_Controller extends Controller {
} else {
header("Content-Type: $item->mime_type");
}
- Kohana::close_buffers(false);
+
+ // Don't use Kohana::close_buffers(false) here because that only closes all the buffers
+ // that Kohana started. We want to close *all* buffers at this point because otherwise we're
+ // going to buffer up whatever file we're proxying (and it may be very large). This may
+ // affect embedding or systems with PHP's output_buffering enabled.
+ while (ob_get_level()) {
+ ob_end_clean();
+ }
+
readfile($file);
}
}
diff --git a/modules/gallery/controllers/items.php b/modules/gallery/controllers/items.php
index 0c20803c..318fb431 100644
--- a/modules/gallery/controllers/items.php
+++ b/modules/gallery/controllers/items.php
@@ -24,15 +24,15 @@ class Items_Controller extends Controller {
throw new Kohana_404_Exception();
}
- // Redirect to the more specific resource type, since it will render
- // differently. We can't delegate here because we may have gotten to this
- // page via /items/<id> which means that we don't have a type-specific controller. Also, we
- // want to drive a single canonical resource mapping where possible.
+ // Redirect to the more specific resource type, since it will render differently. We can't
+ // delegate here because we may have gotten to this page via /items/<id> which means that we
+ // don't have a type-specific controller. Also, we want to drive a single canonical resource
+ // mapping where possible.
access::required("view", $item);
url::redirect($item->abs_url());
}
- // Return the width/height dimensinons for the given item
+ // Return the width/height dimensions for the given item
public function dimensions($id) {
$item = ORM::factory("item", $id);
access::required("view", $item);