X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=classes%2FConsumer.php;h=c1090b85a37674bdf0615b95776baad9f08b69b9;hb=8b0f45d0a715fd25beb0aef9d42de3b91c5cd1ca;hp=ad64a8491be38f16378a6a9be918da1c6ae7d0ef;hpb=5e1a9ad04d4e10ee44881a26ea72c9a80f748188;p=quix0rs-gnu-social.git diff --git a/classes/Consumer.php b/classes/Consumer.php index ad64a8491b..c1090b85a3 100644 --- a/classes/Consumer.php +++ b/classes/Consumer.php @@ -36,4 +36,33 @@ class Consumer extends Memcached_DataObject return $cons; } + /** + * Delete a Consumer and related tokens and nonces + * + * XXX: Should this happen in an OAuthDataStore instead? + * + */ + function delete() + { + // XXX: Is there any reason NOT to do this kind of cleanup? + + $this->_deleteTokens(); + $this->_deleteNonces(); + + parent::delete(); + } + + function _deleteTokens() + { + $token = new Token(); + $token->consumer_key = $this->consumer_key; + $token->delete(); + } + + function _deleteNonces() + { + $nonce = new Nonce(); + $nonce->consumer_key = $this->consumer_key; + $nonce->delete(); + } }