summaryrefslogtreecommitdiff
path: root/classes/Memcached_DataObject.php
diff options
context:
space:
mode:
authormillette <millette@controlyourself.ca>2008-11-23 15:16:16 -0500
committermillette <millette@controlyourself.ca>2008-11-23 15:16:16 -0500
commit4206f4d9614e2d04d968355775d6ea6e536c9cad (patch)
treee3b52aa787c93f2a815afbb014d5f1a788c57ab8 /classes/Memcached_DataObject.php
parent095ff0feedac05e8dee04927bf4da0ae3ffb6a62 (diff)
sphinx: fallback if no connection
darcs-hash:20081123201616-099f7-54ac0134e38e145b99a81336ae0b51a8ecd560a8.gz
Diffstat (limited to 'classes/Memcached_DataObject.php')
-rw-r--r--classes/Memcached_DataObject.php17
1 files changed, 12 insertions, 5 deletions
diff --git a/classes/Memcached_DataObject.php b/classes/Memcached_DataObject.php
index e1d58dd70..674de9bc5 100644
--- a/classes/Memcached_DataObject.php
+++ b/classes/Memcached_DataObject.php
@@ -171,15 +171,22 @@ class Memcached_DataObject extends DB_DataObject
}
function getSearchEngine($table) {
- require_once INSTALLDIR.'/classes/SearchEngines.php';
+ 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);
- } elseif ('mysql' === common_config('db', 'type')) {
- $search_engine = new MySQLSearch($this, $table);
- } else {
- $search_engine = new PGSearch($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;