summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.build_number2
-rw-r--r--modules/gallery/controllers/file_proxy.php4
-rw-r--r--modules/gallery/controllers/uploader.php2
-rw-r--r--modules/gallery/helpers/item.php7
-rw-r--r--modules/search/helpers/search.php9
5 files changed, 19 insertions, 5 deletions
diff --git a/.build_number b/.build_number
index 8c992dcc..0c4adaa9 100644
--- a/.build_number
+++ b/.build_number
@@ -3,4 +3,4 @@
; process. You don't need to edit it. In fact..
;
; DO NOT EDIT THIS FILE BY HAND!
-build_number=258
+build_number=260
diff --git a/modules/gallery/controllers/file_proxy.php b/modules/gallery/controllers/file_proxy.php
index 49aa9c5a..b9ff7df1 100644
--- a/modules/gallery/controllers/file_proxy.php
+++ b/modules/gallery/controllers/file_proxy.php
@@ -68,10 +68,10 @@ class File_Proxy_Controller extends Controller {
$item = item::find_by_path($path);
if (!$item->loaded()) {
// We didn't turn it up. If we're looking for a .jpg then it's it's possible that we're
- // requesting the thumbnail for a movie. In that case, the .flv, .mp4 or .m4v file would
+ // requesting the thumbnail for a movie. In that case, the movie file would
// have been converted to a .jpg. So try some alternate types:
if (preg_match('/.jpg$/', $path)) {
- foreach (array("flv", "mp4", "m4v") as $ext) {
+ foreach (legal_file::get_movie_extensions() as $ext) {
$movie_path = preg_replace('/.jpg$/', ".$ext", $path);
$item = item::find_by_path($movie_path);
if ($item->loaded()) {
diff --git a/modules/gallery/controllers/uploader.php b/modules/gallery/controllers/uploader.php
index 4ea55ff6..ecb0ca89 100644
--- a/modules/gallery/controllers/uploader.php
+++ b/modules/gallery/controllers/uploader.php
@@ -69,7 +69,7 @@ class Uploader_Controller extends Controller {
$path_info = @pathinfo($temp_filename);
if (array_key_exists("extension", $path_info) &&
- in_array(strtolower($path_info["extension"]), array("flv", "mp4", "m4v"))) {
+ in_array(strtolower($path_info["extension"]), legal_file::get_movie_extensions())) {
$item->type = "movie";
$item->save();
log::success("content", t("Added a movie"),
diff --git a/modules/gallery/helpers/item.php b/modules/gallery/helpers/item.php
index d8b660d9..b739e8bd 100644
--- a/modules/gallery/helpers/item.php
+++ b/modules/gallery/helpers/item.php
@@ -415,6 +415,13 @@ class item_Core {
}
/**
+ * Get rid of the display context callback
+ */
+ static function clear_display_context_callback() {
+ Cache::instance()->delete("display_context_" . $sid = Session::instance()->id());
+ }
+
+ /**
* Call the display context callback for the given item
*/
static function get_display_context($item) {
diff --git a/modules/search/helpers/search.php b/modules/search/helpers/search.php
index b7fa21c4..64a13825 100644
--- a/modules/search/helpers/search.php
+++ b/modules/search/helpers/search.php
@@ -117,7 +117,14 @@ class search_Core {
// Truncate the score by two decimal places as this resolves the issues
// that arise due to in exact numeric conversions.
- $score = $db->query($query)->current()->score;
+ $current = $db->query($query)->current();
+ if (!$current) {
+ // We can't find this result in our result set - perhaps we've fallen out of context? Clear
+ // the context and try again.
+ item::clear_display_context_callback();
+ url::redirect(url::current());
+ }
+ $score = $current->score();
if (strlen($score) > 7) {
$score = substr($score, 0, strlen($score) - 2);
}