diff --git a/inc/media.php b/inc/media.php index 31e7cad04dc1bc0459a75f06f681fb562aff3f16..60966a8f98d86d1d96c865497477c25596fdd429 100644 --- a/inc/media.php +++ b/inc/media.php @@ -1492,7 +1492,11 @@ function media_searchlist($query,$ns,$auth=null,$fullscreen=false,$sort='natural $dir = utf8_encodeFN(str_replace(':','/',$evdata['ns'])); $quoted = preg_quote($evdata['query'],'/'); //apply globbing - $quoted = str_replace(array('\*', '\?'), array('.*', '.'), $quoted); + $quoted = str_replace(array('\*', '\?'), array('.*', '.'), $quoted, $count); + + //if we use globbing file name must match entirely but may be preceded by arbitrary namespace + if ($count > 0) $quoted = '^([^:]*:)*'.$quoted.'$'; + $pattern = '/'.$quoted.'/i'; search($evdata['data'], $conf['mediadir'],