]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/subs.php
don't hide unsub button for remote users
[quix0rs-gnu-social.git] / lib / subs.php
index 55e74e0b2f8aa7cb7886c654adce639e28c90f2e..3bd67b39c7142ffb64deb1926afa378b4315cfa0 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /*
  * Laconica - a distributed open-source microblogging tool
- * Copyright (C) 2008, Controlez-Vous, Inc.
+ * Copyright (C) 2008, 2009, Control Yourself, Inc.
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU Affero General Public License as published by
@@ -25,7 +25,8 @@ require_once('XMPPHP/XMPP.php');
   Returns true or an error message.
 */
 
-function subs_subscribe_user($user, $other_nickname) {
+function subs_subscribe_user($user, $other_nickname)
+{
 
     $other = User::staticGet('nickname', $other_nickname);
 
@@ -41,7 +42,8 @@ function subs_subscribe_user($user, $other_nickname) {
  * Because the other way is quite a bit more complicated.
  */
 
-function subs_subscribe_to($user, $other) {
+function subs_subscribe_to($user, $other)
+{
 
     if ($user->isSubscribed($other)) {
         return _('Already subscribed!.');
@@ -58,23 +60,22 @@ function subs_subscribe_to($user, $other) {
 
     subs_notify($other, $user);
 
-    if (common_config('memcached', 'enabled')) {
-        $cache = new Memcache();
-        if ($cache->connect(common_config('memcached', 'server'), common_config('memcached', 'port'))) {
-            $cache->delete(common_cache_key('user:notices_with_friends:' . $user->id));
-        }
-    }
+        $cache = common_memcache();
+
+    if ($cache) {
+        $cache->delete(common_cache_key('user:notices_with_friends:' . $user->id));
+       }
+
 
     if ($other->autosubscribe && !$other->isSubscribed($user) && !$user->hasBlocked($other)) {
         if (!$other->subscribeTo($user)) {
             return _('Could not subscribe other to you.');
         }
-        if (common_config('memcached', 'enabled')) {
-            $cache = new Memcache();
-            if ($cache->connect(common_config('memcached', 'server'), common_config('memcached', 'port'))) {
-                $cache->delete(common_cache_key('user:notices_with_friends:' . $other->id));
-            }
-        }
+        $cache = common_memcache();
+
+        if ($cache) {
+            $cache->delete(common_cache_key('user:notices_with_friends:' . $other->id));
+               }
 
         subs_notify($user, $other);
     }
@@ -82,14 +83,16 @@ function subs_subscribe_to($user, $other) {
     return true;
 }
 
-function subs_notify($listenee, $listener) {
+function subs_notify($listenee, $listener)
+{
     # XXX: add other notifications (Jabber, SMS) here
     # XXX: queue this and handle it offline
     # XXX: Whatever happens, do it in Twitter-like API, too
     subs_notify_email($listenee, $listener);
 }
 
-function subs_notify_email($listenee, $listener) {
+function subs_notify_email($listenee, $listener)
+{
     mail_subscribe_notify($listenee, $listener);
 }
 
@@ -97,7 +100,8 @@ function subs_notify_email($listenee, $listener) {
   Returns true or an error message.
 */
 
-function subs_unsubscribe_user($user, $other_nickname) {
+function subs_unsubscribe_user($user, $other_nickname)
+{
 
     $other = User::staticGet('nickname', $other_nickname);
 
@@ -111,7 +115,8 @@ function subs_unsubscribe_user($user, $other_nickname) {
 /* Unsubscribe user $user from profile $other
  * NB: other can be a remote user. */
 
-function subs_unsubscribe_to($user, $other) {
+function subs_unsubscribe_to($user, $other)
+{
 
     if (!$user->isSubscribed($other))
         return _('Not subscribed!.');
@@ -128,12 +133,11 @@ function subs_unsubscribe_to($user, $other) {
     if (!$sub->delete())
         return _('Couldn\'t delete subscription.');
 
-    if (common_config('memcached', 'enabled')) {
-        $cache = new Memcache();
-        if ($cache->connect(common_config('memcached', 'server'), common_config('memcached', 'port'))) {
-            $cache->delete(common_cache_key('user:notices_with_friends:' . $user->id));
-        }
-    }
+    $cache = common_memcache();
+
+    if ($cache) {
+        $cache->delete(common_cache_key('user:notices_with_friends:' . $user->id));
+       }
 
     return true;
 }