示例#1
0
 /**
  * @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;
 }
示例#2
0
 /**
  * @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;
 }