From 10fc51dc925ab4655c8efb11cf476b021f67078e Mon Sep 17 00:00:00 2001 From: Georg Ehrke Date: Sat, 31 Mar 2012 16:12:27 -0400 Subject: [PATCH] add public sharing fir calendars and events - add function in Share class --- apps/calendar/lib/share.php | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/apps/calendar/lib/share.php b/apps/calendar/lib/share.php index 42dfc8a310..3e03a2d7cc 100644 --- a/apps/calendar/lib/share.php +++ b/apps/calendar/lib/share.php @@ -218,4 +218,27 @@ class OC_Calendar_Share{ } return false; } + /* + * @brief: returns the calendardata of an event or a calendar + * @param: (string) $token - token which should be searched + * @return: mixed - bool if false, array with type and id if true + */ + public static function getElementByToken($token){ + $stmt_calendar = OC_DB::prepare('SELECT * FROM *PREFIX*calendar_share_' . OC_Calendar_Share::CALENDAR . ' WHERE sharetype = "public" AND share = ?'); + $result_calendar = $stmt_calendar->execute(array($token)); + $stmt_event = OC_DB::prepare('SELECT * FROM *PREFIX*calendar_share_' . OC_Calendar_Share::EVENT . ' WHERE sharetype = "public" AND share = ?'); + $result_event = $stmt_calendar->execute(array($token)); + $return = array(); + if($result_calendar->numRows() == 0 && $result_event->numRows() == 0){ + return false; + }elseif($result_calendar->numRows() != 0){ + $return ['type'] = 'calendar'; + $calendar = $result_calendar->fetchRow(); + $return ['id'] = $calendar['calendarid']; + }else{ + $return ['type'] = 'event'; + $event = $result_event->fetchRow(); + $return ['id'] = $event['eventid']; + } + } } \ No newline at end of file