querylets are addable

git-svn-id: file:///home/shish/svn/shimmie2/trunk@1088 7f39781d-f577-437e-ae19-be835c7a54ca
This commit is contained in:
shish 2008-10-18 06:08:41 +00:00
parent e124a9512d
commit bf1354bde1

View File

@ -82,30 +82,30 @@ class Index implements Extension {
if(preg_match("/size(<|>|<=|>=|=)(\d+)x(\d+)/", $event->term, $matches)) { if(preg_match("/size(<|>|<=|>=|=)(\d+)x(\d+)/", $event->term, $matches)) {
$cmp = $matches[1]; $cmp = $matches[1];
$args = array(int_escape($matches[2]), int_escape($matches[3])); $args = array(int_escape($matches[2]), int_escape($matches[3]));
$event->set_querylet(new Querylet("width $cmp ? AND height $cmp ?", $args)); $event->add_querylet(new Querylet("width $cmp ? AND height $cmp ?", $args));
} }
else if(preg_match("/ratio(<|>|<=|>=|=)(\d+):(\d+)/", $event->term, $matches)) { else if(preg_match("/ratio(<|>|<=|>=|=)(\d+):(\d+)/", $event->term, $matches)) {
$cmp = $matches[1]; $cmp = $matches[1];
$args = array(int_escape($matches[2]), int_escape($matches[3])); $args = array(int_escape($matches[2]), int_escape($matches[3]));
$event->set_querylet(new Querylet("width / height $cmp ? / ?", $args)); $event->add_querylet(new Querylet("width / height $cmp ? / ?", $args));
} }
else if(preg_match("/(filesize|id)(<|>|<=|>=|=)(\d+[kmg]?b?)/i", $event->term, $matches)) { else if(preg_match("/(filesize|id)(<|>|<=|>=|=)(\d+[kmg]?b?)/i", $event->term, $matches)) {
$col = $matches[1]; $col = $matches[1];
$cmp = $matches[2]; $cmp = $matches[2];
$val = parse_shorthand_int($matches[3]); $val = parse_shorthand_int($matches[3]);
$event->set_querylet(new Querylet("images.$col $cmp ?", array($val))); $event->add_querylet(new Querylet("images.$col $cmp ?", array($val)));
} }
else if(preg_match("/hash=([0-9a-fA-F]*)/i", $event->term, $matches)) { else if(preg_match("/hash=([0-9a-fA-F]*)/i", $event->term, $matches)) {
$hash = strtolower($matches[2]); $hash = strtolower($matches[2]);
$event->set_querylet(new Querylet("images.hash = '$hash'")); $event->add_querylet(new Querylet("images.hash = '$hash'"));
} }
else if(preg_match("/(filetype|ext)=([a-zA-Z0-9]*)/i", $event->term, $matches)) { else if(preg_match("/(filetype|ext)=([a-zA-Z0-9]*)/i", $event->term, $matches)) {
$ext = strtolower($matches[2]); $ext = strtolower($matches[2]);
$event->set_querylet(new Querylet("images.ext = '$ext'")); $event->add_querylet(new Querylet("images.ext = '$ext'"));
} }
else if(preg_match("/(filename|name)=([a-zA-Z0-9]*)/i", $event->term, $matches)) { else if(preg_match("/(filename|name)=([a-zA-Z0-9]*)/i", $event->term, $matches)) {
$filename = strtolower($matches[2]); $filename = strtolower($matches[2]);
$event->set_querylet(new Querylet("images.filename LIKE '%$filename%'")); $event->add_querylet(new Querylet("images.filename LIKE '%$filename%'"));
} }
} }
} }