diff --git a/apps/qubit/modules/informationobject/actions/browseAction.class.php b/apps/qubit/modules/informationobject/actions/browseAction.class.php index a64621ee8e..1bd4c79d2f 100644 --- a/apps/qubit/modules/informationobject/actions/browseAction.class.php +++ b/apps/qubit/modules/informationobject/actions/browseAction.class.php @@ -133,6 +133,20 @@ public function execute($request) $this->collection = QubitInformationObject::getById($this->getParameters['collection']); } + if (isset($this->getParameters['mediatypes'])) { + $validMediaTypes = [ + 'audio' => QubitTerm::AUDIO_ID, + 'image' => QubitTerm::IMAGE_ID, + 'text' => QubitTerm::TEXT_ID, + 'video' => QubitTerm::VIDEO_ID, + 'other' => QubitTerm::OTHER_ID, + ]; + + if (false == array_search($this->getParameters['mediatypes'], $validMediaTypes)) { + $this->getParameters['mediatypes'] = QubitTerm::OTHER_ID; + } + } + // Set search realm if searching by repository if (isset($request->repos) && ctype_digit($request->repos)) { // Add repo to the user session as realm diff --git a/vendor/symfony/lib/request/sfWebRequest.class.php b/vendor/symfony/lib/request/sfWebRequest.class.php index 2278446258..5fb0435ce7 100644 --- a/vendor/symfony/lib/request/sfWebRequest.class.php +++ b/vendor/symfony/lib/request/sfWebRequest.class.php @@ -740,6 +740,11 @@ public function setFormat($format, $mimeTypes) */ public function setRequestFormat($format) { + $validFormats = array_keys($this->formats); + + if (false === array_search($format, $validFormats)) { + $format = 'html'; + } $this->format = $format; }