]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Add some other ways to order searches to the base search engine class
authorZach Copley <zach@status.net>
Sat, 5 Mar 2011 09:54:47 +0000 (01:54 -0800)
committerZach Copley <zach@status.net>
Sat, 5 Mar 2011 09:54:47 +0000 (01:54 -0800)
lib/search_engines.php

index 19703e03fd81aa983aa710cc7af20242aa32b7a7..7f1684a3e756b0a2cd7ea3b4ba79970bb4486915 100644 (file)
@@ -41,8 +41,35 @@ class SearchEngine
 
     function set_sort_mode($mode)
     {
-        if ('chron' === $mode)
-            return $this->target->orderBy('created desc');
+        switch ($mode) {
+        case 'chron':
+            return $this->target->orderBy('created DESC');
+            break;
+        case 'reverse_chron':
+            return $this->target->orderBy('created ASC');
+            break;
+        case 'nickname_desc':
+            if ($this->table != 'profile') {
+                throw new Exception(
+                    'nickname_desc sort mode can only be use when searching profile.'
+                );
+            } else {
+                return $this->target->orderBy('nickname DESC');
+            }
+            break;
+        case 'nickname_asc':
+            if ($this->table != 'profile') {
+                throw new Exception(
+                    'nickname_desc sort mode can only be use when searching profile.'
+                );
+            } else {
+                return $this->target->orderBy('nickname ASC');
+            }
+            break;
+        default:
+            return $this->target->orderBy('created DESC');
+            break;
+        }
     }
 }