]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - classes/Status_network.php
add cleanup method to cleanup a single row
[quix0rs-gnu-social.git] / classes / Status_network.php
index e91bba1acc99c66b64e1da7cc87b2cb432d24638..b3117640d843645553c6c74c8a8e576b08a1814e 100644 (file)
@@ -19,7 +19,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-if (!defined('STATUSNET')) { exit(1); }
+if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
 
 class Status_network extends DB_DataObject
 {
@@ -54,17 +54,19 @@ class Status_network extends DB_DataObject
         global $config;
 
         $config['db']['database_'.$dbname] = "mysqli://$dbuser:$dbpass@$dbhost/$dbname";
-        $config['db']['ini_'.$dbname] = INSTALLDIR.'/classes/statusnet.ini';
+        $config['db']['ini_'.$dbname] = INSTALLDIR.'/classes/status_network.ini';
         $config['db']['table_status_network'] = $dbname;
 
-        self::$cache = new Memcache();
+        if (class_exists('Memcache')) {
+            self::$cache = new Memcache();
 
-        if (is_array($servers)) {
-            foreach($servers as $server) {
-                self::$cache->addServer($server);
+            if (is_array($servers)) {
+                foreach($servers as $server) {
+                    self::$cache->addServer($server);
+                }
+            } else {
+                self::$cache->addServer($servers);
             }
-        } else {
-            self::$cache->addServer($servers);
         }
 
         self::$base = $dbname;
@@ -76,6 +78,10 @@ class Status_network extends DB_DataObject
 
     static function memGet($k, $v)
     {
+        if (!self::$cache) {
+            return self::staticGet($k, $v);
+        }
+
         $ck = self::cacheKey($k, $v);
 
         $sn = self::$cache->get($ck);
@@ -92,10 +98,12 @@ class Status_network extends DB_DataObject
 
     function decache()
     {
-        $keys = array('nickname', 'hostname', 'pathname');
-        foreach ($keys as $k) {
-            $ck = self::cacheKey($k, $this->$k);
-            self::$cache->delete($ck);
+        if (self::$cache) {
+            $keys = array('nickname', 'hostname', 'pathname');
+            foreach ($keys as $k) {
+                $ck = self::cacheKey($k, $this->$k);
+                self::$cache->delete($ck);
+            }
         }
     }