From 71151b2583d81e28c5f5d42a690c649f4e84f3bf Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Thu, 11 Feb 2010 00:09:20 +0000 Subject: OStatus: garbage collect unused PuSH subscriptions when the last local subscriber unsubs --- plugins/OStatus/actions/pushcallback.php | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'plugins/OStatus/actions/pushcallback.php') diff --git a/plugins/OStatus/actions/pushcallback.php b/plugins/OStatus/actions/pushcallback.php index a5e02e08f..471d079ab 100644 --- a/plugins/OStatus/actions/pushcallback.php +++ b/plugins/OStatus/actions/pushcallback.php @@ -91,15 +91,20 @@ class PushCallbackAction extends Action #} // OK! - common_log(LOG_INFO, __METHOD__ . ': sub confirmed'); - $feedinfo->sub_start = common_sql_date(time()); - if ($lease_seconds > 0) { - $feedinfo->sub_end = common_sql_date(time() + $lease_seconds); + if ($mode == 'subscribe') { + common_log(LOG_INFO, __METHOD__ . ': sub confirmed'); + $feedinfo->sub_start = common_sql_date(time()); + if ($lease_seconds > 0) { + $feedinfo->sub_end = common_sql_date(time() + $lease_seconds); + } else { + $feedinfo->sub_end = null; + } + $feedinfo->update(); } else { - $feedinfo->sub_end = null; + common_log(LOG_INFO, __METHOD__ . ": unsub confirmed; deleting sub record for $topic"); + $feedinfo->delete(); } - $feedinfo->update(); - + print $challenge; } } -- cgit v1.2.3-54-g00ecf