From 8b517a6a7cde5bd99aac220e2069a4f3e32d8b7f Mon Sep 17 00:00:00 2001
From: shish <shish@7f39781d-f577-437e-ae19-be835c7a54ca>
Date: Thu, 7 Feb 2008 20:28:07 +0000
Subject: [PATCH] search for images with given ratings

git-svn-id: file:///home/shish/svn/shimmie2/trunk@717 7f39781d-f577-437e-ae19-be835c7a54ca
---
 contrib/rating/main.php | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/contrib/rating/main.php b/contrib/rating/main.php
index 2b9048e4..6eb4ed39 100644
--- a/contrib/rating/main.php
+++ b/contrib/rating/main.php
@@ -71,6 +71,19 @@ class Ratings extends Extension {
 		if(is_a($event, 'ParseLinkTemplateEvent')) {
 			$event->replace('$rating', $this->theme->rating_to_name($event->image->rating));
 		}
+
+		if(is_a($event, 'SearchTermParseEvent')) {
+			$matches = array();
+			if(preg_match("/rating=([sqe]+)/", $event->term, $matches)) {
+				$sqes = $matches[1];
+				$arr = array();
+				for($i=0; $i<strlen($sqes); $i++) {
+					$arr[] = "'" . $sqes[$i] . "'";
+				}
+				$set = join(', ', $arr);
+				$event->set_querylet(new Querylet("AND (rating IN ($set))"));
+			}
+		}
 	}
 
 	private function install() {