diff options
author | Jakob Sack <kde@jakobsack.de> | 2011-08-10 16:28:14 +0400 |
---|---|---|
committer | Jakob Sack <kde@jakobsack.de> | 2011-08-10 16:28:14 +0400 |
commit | c4931cff3427a56deeeffe9bab536728593119d4 (patch) | |
tree | 8e6eed06e5eac2eab9f106cf46f5cdc325b7bcf9 | |
parent | 1f1498ceca51c5b30130b80a59c00c1b37dc7009 (diff) |
Delete addressbooks of deleted users
-rw-r--r-- | apps/contacts/appinfo/app.php | 4 | ||||
-rw-r--r-- | apps/contacts/lib/hooks.php | 41 |
2 files changed, 43 insertions, 2 deletions
diff --git a/apps/contacts/appinfo/app.php b/apps/contacts/appinfo/app.php index 7ff47265256..30aa0e1aaa1 100644 --- a/apps/contacts/appinfo/app.php +++ b/apps/contacts/appinfo/app.php @@ -1,7 +1,9 @@ <?php OC::$CLASSPATH['OC_Contacts_Addressbook'] = 'apps/contacts/lib/addressbook.php'; +OC::$CLASSPATH['OC_Contacts_Hooks'] = 'apps/contacts/lib/hooks.php'; OC::$CLASSPATH['OC_Connector_Sabre_CardDAV'] = 'apps/contacts/lib/connector_sabre.php'; +OC_HOOK::connect('OC_User', 'post_createUser', 'OC_Contacts_Hooks', 'deleteUser'); OC_App::register( array( 'order' => 10, @@ -14,5 +16,3 @@ OC_App::addNavigationEntry( array( 'href' => OC_Helper::linkTo( 'contacts', 'index.php' ), 'icon' => OC_Helper::imagePath( 'contacts', 'icon.png' ), 'name' => 'Contacts' )); - -?> diff --git a/apps/contacts/lib/hooks.php b/apps/contacts/lib/hooks.php new file mode 100644 index 00000000000..70f1fe18518 --- /dev/null +++ b/apps/contacts/lib/hooks.php @@ -0,0 +1,41 @@ +<?php +/** + * ownCloud - Addressbook + * + * @author Jakob Sack + * @copyright 2011 Jakob Sack mail@jakobsack.de + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU Affero General Public + * License along with this library. If not, see <http://www.gnu.org/licenses/>. + * + */ + +/** + * This class contains all hooks. + */ +class OC_Contacts_Hooks{ + /** + * @brief Deletes all Addressbooks of a certain user + * @param paramters parameters from postDeleteUser-Hook + * @return array + */ + public function deleteUser($parameters) { + $addressbooks = OC_Contacts_Addressbook::allAddressbooks($parameters['uid']); + + foreach($addressbooks as $addressbook) { + OC_Contacts_Addressbook::deleteAddressbook($addressbook['id']); + } + + return true; + } +} |