Exemplo n.º 1
0
 /**
  * @brief Returns the list of calendars for a specific user.
  * @param string $uid User ID
  * @param boolean $active Only return calendars with this $active state, default(=false) is don't care
  * @param boolean $bSubscribe  return calendars with this $issubscribe state, default(=true) is don't care
  * @return array
  */
 public function all($active = false, $bSubscribe = true)
 {
     $calendarDB = new CalendarDAO($this->db, $this->userId);
     $calendars = $calendarDB->all($active, $bSubscribe);
     $calendars = array_merge($calendars, $this->shareConnector->getItemsSharedWithCalendar());
     \OCP\Util::emitHook('OCA\\CalendarPlus', 'getCalendars', array('calendar' => &$calendars));
     return $calendars;
 }
Exemplo n.º 2
0
 /**
  * @brief merges two calendars
  * @param integer $id1
  * @param integer $id2
  * @return boolean
  */
 public static function mergeCalendar($id1, $id2)
 {
     $calendar = self::find($id1);
     $group = \OC::$server->getGroupManager()->get('admin');
     $user = \OCP\User::getUser();
     if ($calendar['userid'] !== $user && !$group->inGroup(\OC::$server->getUserSession()->getUser())) {
         $sharedCalendar = \OCP\Share::getItemSharedWithBySource(App::SHARECALENDAR, App::SHARECALENDARPREFIX . $id1);
         if (!$sharedCalendar || !($sharedCalendar['permissions'] & \OCP\PERMISSION_UPDATE)) {
             throw new \Exception(App::$l10n->t('You do not have the permissions to add to this calendar.'));
         }
     }
     $dbObject = \OC::$server->getDb();
     $calendarDB = new CalendarDAO($dbObject, $user);
     $bMergeCalendar = $calendarDB->merge($id1, $id2);
     if ($bMergeCalendar === true) {
         self::touchCalendar($id1);
         self::deleteCalendar($id2);
         return $bMergeCalendar;
     } else {
         return $bMergeCalendar;
     }
 }