diff options
Diffstat (limited to 'apps/contacts/lib/hooks.php')
-rw-r--r-- | apps/contacts/lib/hooks.php | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/apps/contacts/lib/hooks.php b/apps/contacts/lib/hooks.php deleted file mode 100644 index 8b7adc60f27..00000000000 --- a/apps/contacts/lib/hooks.php +++ /dev/null @@ -1,116 +0,0 @@ -<?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/>. - * - */ - -/** - * The following signals are being emitted: - * - * OC_Contacts_VCard::post_moveToAddressbook(array('aid' => $aid, 'id' => $id)) - * OC_Contacts_VCard::pre_deleteVCard(array('aid' => $aid, 'id' => $id, 'uri' = $uri)); (NOTE: the values can be null depending on which method emits them) - * OC_Contacts_VCard::post_updateVCard($id) - * OC_Contacts_VCard::post_createVCard($newid) - */ - -/** - * This class contains all hooks. - */ -class OC_Contacts_Hooks{ - /** - * @brief Add default Addressbook for a certain user - * @param paramters parameters from postCreateUser-Hook - * @return array - */ - static public function createUser($parameters) { - OC_Contacts_Addressbook::addDefault($parameters['uid']); - return true; - } - - /** - * @brief Deletes all Addressbooks of a certain user - * @param paramters parameters from postDeleteUser-Hook - * @return array - */ - static public function deleteUser($parameters) { - $addressbooks = OC_Contacts_Addressbook::all($parameters['uid']); - - foreach($addressbooks as $addressbook) { - OC_Contacts_Addressbook::delete($addressbook['id']); - } - - return true; - } - - static public function getCalenderSources($parameters) { - $base_url = OCP\Util::linkTo('calendar', 'ajax/events.php').'?calendar_id='; - foreach(OC_Contacts_Addressbook::all(OCP\USER::getUser()) as $addressbook) { - $parameters['sources'][] - = array( - 'url' => $base_url.'birthday_'. $addressbook['id'], - 'backgroundColor' => '#cccccc', - 'borderColor' => '#888', - 'textColor' => 'black', - 'cache' => true, - 'editable' => false, - ); - } - } - - static public function getBirthdayEvents($parameters) { - $name = $parameters['calendar_id']; - if (strpos($name, 'birthday_') != 0) { - return; - } - $info = explode('_', $name); - $aid = $info[1]; - OC_Contacts_App::getAddressbook($aid); - foreach(OC_Contacts_VCard::all($aid) as $card){ - $vcard = OC_VObject::parse($card['carddata']); - if (!$vcard) { - continue; - } - $birthday = $vcard->BDAY; - if ($birthday) { - $date = new DateTime($birthday); - $vevent = new OC_VObject('VEVENT'); - //$vevent->setDateTime('LAST-MODIFIED', new DateTime($vcard->REV)); - $vevent->setDateTime('DTSTART', $date, - Sabre_VObject_Element_DateTime::DATE); - $vevent->setString('DURATION', 'P1D'); - $vevent->setString('UID', substr(md5(rand().time()), 0, 10)); - // DESCRIPTION? - $vevent->setString('RRULE', 'FREQ=YEARLY'); - $title = str_replace('{name}', - $vcard->getAsString('FN'), - OC_Contacts_App::$l10n->t('{name}\'s Birthday')); - $parameters['events'][] = array( - 'id' => 0,//$card['id'], - 'vevent' => $vevent, - 'repeating' => true, - 'summary' => $title, - 'calendardata' => "BEGIN:VCALENDAR\nVERSION:2.0\n" - . "PRODID:ownCloud Contacts " - . OCP\App::getAppVersion('contacts') . "\n" - . $vevent->serialize() . "END:VCALENDAR" - ); - } - } - } -} |