diff options
author | Zach Copley <zach@status.net> | 2010-02-02 06:26:03 +0000 |
---|---|---|
committer | Zach Copley <zach@status.net> | 2010-02-02 08:50:18 +0000 |
commit | f0875ceea1bd6940bb30deab0f6a0f38a752a2c6 (patch) | |
tree | 27d37390841ca8e5c7ae03689c3eff3e78360fa0 /classes/Consumer.php | |
parent | df2a08126510445f93eddbebc0551ee44c945fd5 (diff) |
Allow developers to delete OAuth applications
Diffstat (limited to 'classes/Consumer.php')
-rw-r--r-- | classes/Consumer.php | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/classes/Consumer.php b/classes/Consumer.php index ad64a8491..ce399f278 100644 --- a/classes/Consumer.php +++ b/classes/Consumer.php @@ -36,4 +36,34 @@ 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(); + } + } |