]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - classes/Memcached_DataObject.php
PostgreSQL - added the rest of the recently added tables for blocking, notice inboxes...
[quix0rs-gnu-social.git] / classes / Memcached_DataObject.php
index f8e1b9accc6871495a2197680f24087ac3d42483..7a33e158dd1e2dffa9ee0f4300b11bf5704a7237 100644 (file)
@@ -55,10 +55,10 @@ class Memcached_DataObject extends DB_DataObject
                        }
                        if ($i->find(true)) {
                                $i->encache();
-                               return $i;
                        } else {
-                               return NULL;
+                               $i = NULL;
                        }
+            return $i;
                }
        }
 
@@ -169,4 +169,26 @@ class Memcached_DataObject extends DB_DataObject
                        return $c->get(Memcached_DataObject::cacheKey($cls, $pkeys, $pvals));
                }
        }
+
+    function getSearchEngine($table) {
+        require_once INSTALLDIR.'/lib/search_engines.php';
+        static $search_engine;
+        if (!isset($search_engine)) {
+                $connected = false;
+                if (common_config('sphinx', 'enabled')) {
+                    $search_engine = new SphinxSearch($this, $table);
+                    $connected = $search_engine->is_connected();
+                }
+
+                // unable to connect to sphinx' search daemon
+                if (!$connected) {
+                    if ('mysql' === common_config('db', 'type')) {
+                        $search_engine = new MySQLSearch($this, $table);
+                    } else {
+                        $search_engine = new PGSearch($this, $table);
+                    }
+                }
+        }
+        return $search_engine;
+    }
 }