Rephrase ratio search so that it works across databases, fixes #759

This commit is contained in:
Shish 2020-10-14 10:20:43 +01:00
parent 6d074cfef8
commit d19f9cb287
2 changed files with 2 additions and 2 deletions

View file

@ -171,7 +171,6 @@ class Index extends Extension
}
}
public function onSearchTermParse(SearchTermParseEvent $event)
{
if (is_null($event->term)) {
@ -196,7 +195,7 @@ class Index extends Extension
} elseif (preg_match("/^ratio([:]?<|[:]?>|[:]?<=|[:]?>=|[:|=])(\d+):(\d+)$/i", $event->term, $matches)) {
$cmp = preg_replace('/^:/', '=', $matches[1]);
$args = ["width{$this->stpen}"=>int_escape($matches[2]), "height{$this->stpen}"=>int_escape($matches[3])];
$event->add_querylet(new Querylet("width / height $cmp :width{$this->stpen} / :height{$this->stpen}", $args));
$event->add_querylet(new Querylet("width / :width{$this->stpen} $cmp height / :height{$this->stpen}", $args));
} elseif (preg_match("/^(filesize|id)([:]?<|[:]?>|[:]?<=|[:]?>=|[:|=])(\d+[kmg]?b?)$/i", $event->term, $matches)) {
$col = $matches[1];
$cmp = ltrim($matches[2], ":") ?: "=";

View file

@ -129,6 +129,7 @@ class IndexTest extends ShimmiePHPUnitTestCase
{
$image_ids = $this->testUpload();
$this->assert_search_results(["hash=1234567890"], []);
$this->assert_search_results(["ratio=42:12345"], []);
}
/** @depends testUpload */