function _deleteSubscriptions() { $sub = new Subscription(); $sub->subscriber = $this->getID(); $sub->find(); while ($sub->fetch()) { try { $other = $sub->getSubscribed(); if (!$other->sameAs($this)) { Subscription::cancel($this, $other); } } catch (NoResultException $e) { // Profile not found common_log(LOG_INFO, 'Subscribed profile id==' . $sub->subscribed . ' not found when deleting profile id==' . $this->getID() . ', ignoring...'); } catch (ServerException $e) { // Subscription cancel failed common_log(LOG_INFO, 'Subscribed profile id==' . $other->getID() . ' could not be reached for unsubscription notice when deleting profile id==' . $this->getID() . ', ignoring...'); } } $sub = new Subscription(); $sub->subscribed = $this->getID(); $sub->find(); while ($sub->fetch()) { try { $other = $sub->getSubscriber(); common_log(LOG_INFO, 'Subscriber profile id==' . $sub->subscribed . ' not found when deleting profile id==' . $this->getID() . ', ignoring...'); if (!$other->sameAs($this)) { Subscription::cancel($other, $this); } } catch (NoResultException $e) { // Profile not found common_log(LOG_INFO, 'Subscribed profile id==' . $sub->subscribed . ' not found when deleting profile id==' . $this->getID() . ', ignoring...'); } catch (ServerException $e) { // Subscription cancel failed common_log(LOG_INFO, 'Subscriber profile id==' . $other->getID() . ' could not be reached for unsubscription notice when deleting profile id==' . $this->getID() . ', ignoring...'); } } // Finally delete self-subscription $self = new Subscription(); $self->subscriber = $this->getID(); $self->subscribed = $this->getID(); $self->delete(); }
function initSubscriptionURI() { printfnq("Ensuring all subscriptions have a URI..."); $sub = new Subscription(); $sub->whereAdd('uri IS NULL'); if ($sub->find()) { while ($sub->fetch()) { try { $sub->decache(); $sub->query(sprintf('update subscription ' . 'set uri = "%s" ' . 'where subscriber = %d ' . 'and subscribed = %d', $sub->escape(Subscription::newUri($sub->getSubscriber(), $sub->getSubscribed(), $sub->created)), $sub->subscriber, $sub->subscribed)); } catch (Exception $e) { common_log(LOG_ERR, "Error updated subscription URI: " . $e->getMessage()); } } } printfnq("DONE.\n"); }