/** * @brief edits an object * @param integer $id id of object * @param string $data object * @return boolean */ public static function edit($id, $data) { $oldobject = self::find($id); $calid = self::getCalendarid($id); $calendar = OC_Calendar_Calendar::find($calid); $oldvobject = OC_VObject::parse($oldobject['calendardata']); if ($calendar['userid'] != OCP\User::getUser()) { $sharedCalendar = OCP\Share::getItemSharedWithBySource('calendar', $calid); //calid, not objectid !!!! 1111 one one one eleven $sharedAccessClassPermissions = OC_Calendar_Object::getAccessClassPermissions($oldvobject); if (!$sharedCalendar || !($sharedCalendar['permissions'] & OCP\PERMISSION_UPDATE) || !($sharedAccessClassPermissions & OCP\PERMISSION_UPDATE)) { throw new Exception(OC_Calendar_App::$l10n->t('You do not have the permissions to edit this event.')); } } $object = OC_VObject::parse($data); OC_Calendar_App::loadCategoriesFromVCalendar($id, $object); list($type, $startdate, $enddate, $summary, $repeating, $uid) = self::extractData($object); $stmt = OCP\DB::prepare('UPDATE `*PREFIX*clndr_objects` SET `objecttype`=?,`startdate`=?,`enddate`=?,`repeating`=?,`summary`=?,`calendardata`=?,`lastmodified`= ? WHERE `id` = ?'); $stmt->execute(array($type, $startdate, $enddate, $repeating, $summary, $data, time(), $id)); OC_Calendar_Calendar::touchCalendar($oldobject['calendarid']); OCP\Util::emitHook('OC_Calendar', 'editEvent', $id); return true; }
/** * @brief edits an object * @param integer $id id of object * @param string $data object * @return boolean */ public static function edit($id, $data) { $oldobject = self::find($id); $object = OC_VObject::parse($data); OC_Calendar_App::loadCategoriesFromVCalendar($object); list($type, $startdate, $enddate, $summary, $repeating, $uid) = self::extractData($object); $stmt = OCP\DB::prepare('UPDATE *PREFIX*calendar_objects SET objecttype=?,startdate=?,enddate=?,repeating=?,summary=?,calendardata=?, lastmodified = ? WHERE id = ?'); $stmt->execute(array($type, $startdate, $enddate, $repeating, $summary, $data, time(), $id)); OC_Calendar_Calendar::touchCalendar($oldobject['calendarid']); return true; }