OCP\JSON::checkAppEnabled('contacts'); $offset = isset($_GET['offset']) ? $_GET['offset'] : 0; $aid = isset($_GET['aid']) ? $_GET['aid'] : null; $active_addressbooks = array(); if (is_null($aid)) { // Called initially to get the active addressbooks. $active_addressbooks = OCA\Contacts\Addressbook::active(OCP\USER::getUser()); } else { // called each time more contacts has to be shown. $active_addressbooks = array(OCA\Contacts\Addressbook::find($aid)); } $lastModified = OCA\Contacts\App::lastModified(); if (!is_null($lastModified)) { OCP\Response::enableCaching(); OCP\Response::setLastModifiedHeader($lastModified); OCP\Response::setETagHeader(md5($lastModified->format('U'))); } session_write_close(); // create the addressbook associate array $contacts_addressbook = array(); $ids = array(); foreach ($active_addressbooks as $addressbook) { $ids[] = $addressbook['id']; /*if(!isset($contacts_addressbook[$addressbook['id']])) { $contacts_addressbook[$addressbook['id']] = array('contacts' => array('type' => 'book',)); $contacts_addressbook[$addressbook['id']]['displayname'] = $addressbook['displayname']; $contacts_addressbook[$addressbook['id']]['description'] = $addressbook['description']; $contacts_addressbook[$addressbook['id']]['permissions']
/** * @brief analyses the parameter for calendar parameter and returns the objects * @param (string) $calendarid - calendarid * @param (int) $start - unixtimestamp of start * @param (int) $end - unixtimestamp of end * @return (array) $events */ public static function getrequestedEvents($calendarid, $start, $end) { $events = array(); if ($calendarid == 'shared_events') { $singleevents = OCP\Share::getItemsSharedWith('event', OC_Share_Backend_Event::FORMAT_EVENT); $calendars = OC_Calendar_Calendar::allCalendars(OCP\USER::getUser()); foreach ($singleevents as $singleevent) { // Skip this single event if the whole calendar is already shared with the user. $calendarShared = false; foreach ($calendars as $calendar) { if ($singleevent['calendarid'] === $calendar['id']) { $calendarShared = true; break; } } if ($calendarShared === true) { continue; } $singleevent['summary'] .= ' (' . self::$l10n->t('by') . ' ' . OC_Calendar_Object::getowner($singleevent['id']) . ')'; $events[] = $singleevent; } } else { if (is_numeric($calendarid)) { $calendar = self::getCalendar($calendarid); OCP\Response::enableCaching(0); OCP\Response::setETagHeader($calendar['ctag']); $events = OC_Calendar_Object::allInPeriod($calendarid, $start, $end, $calendar['userid'] !== OCP\User::getUser()); } else { OCP\Util::emitHook('OC_Calendar', 'getEvents', array('calendar_id' => $calendarid, 'events' => &$events)); } } return $events; }
} // invalid vcard if (is_null($contact)) { OCP\Util::writeLog('contacts', 'photo.php. The VCard for ID ' . $id . ' is not RFC compatible', OCP\Util::ERROR); } else { OCP\Response::enableCaching($caching); OC_Contacts_App::setLastModifiedHeader($contact); // Photo :-) if ($image->loadFromBase64($contact->getAsString('PHOTO'))) { // OK OCP\Response::setETagHeader(md5($contact->getAsString('PHOTO'))); } else { // Logo :-/ if ($image->loadFromBase64($contact->getAsString('LOGO'))) { // OK OCP\Response::setETagHeader(md5($contact->getAsString('LOGO'))); } } if ($image->valid()) { $max_size = 200; if ($image->width() > $max_size || $image->height() > $max_size) { $image->resize($max_size); } } } if (!$image->valid()) { // Not found :-( getStandardImage(); //$image->loadFromFile('img/person_large.png'); } header('Content-Type: ' . $image->mimeType());
$caching = isset($_GET['refresh']) ? 0 : null; $contact = OC_Contacts_App::getContactVCard($id); // invalid vcard if (is_null($contact)) { OCP\Util::writeLog('contacts', 'thumbnail.php. The VCard for ID ' . $id . ' is not RFC compatible', OCP\Util::ERROR); getStandardImage(); exit; } OCP\Response::enableCaching($caching); OC_Contacts_App::setLastModifiedHeader($contact); $thumbnail_size = 23; // Find the photo from VCard. $image = new OC_Image(); $photo = $contact->getAsString('PHOTO'); if ($photo) { OCP\Response::setETagHeader(md5($photo)); if ($image->loadFromBase64($photo)) { if ($image->centerCrop()) { if ($image->resize($thumbnail_size)) { if ($image->show()) { // done exit; } else { OCP\Util::writeLog('contacts', 'thumbnail.php. Couldn\'t display thumbnail for ID ' . $id, OCP\Util::ERROR); } } else { OCP\Util::writeLog('contacts', 'thumbnail.php. Couldn\'t resize thumbnail for ID ' . $id, OCP\Util::ERROR); } } else { OCP\Util::writeLog('contacts', 'thumbnail.php. Couldn\'t crop thumbnail for ID ' . $id, OCP\Util::ERROR); }
} else { // Logo :-/ if (isset($contact->LOGO) && $image->loadFromBase64((string) $contact->LOGO)) { // OK $etag = md5($contact->LOGO); } } if ($image->valid()) { $modified = OCA\Contacts\App::lastModified($contact); // Force refresh if modified within the last minute. if (!is_null($modified)) { $caching = time() - $modified->format('U') > 60 ? null : 0; } OCP\Response::enableCaching($caching); if (!is_null($modified)) { OCP\Response::setLastModifiedHeader($modified); } if ($etag) { OCP\Response::setETagHeader($etag); } if ($image->width() > $max_size || $image->height() > $max_size) { $image->resize($max_size); } } } if (!$image->valid()) { // Not found :-( getStandardImage(); } header('Content-Type: ' . $image->mimeType()); $image->show();
public static function getrequestedEvents($calendarid, $start, $end) { $events = array(); if ($calendarid == 'shared_rw' || $calendarid == 'shared_r') { $calendars = OC_Calendar_Share::allSharedwithuser(OCP\USER::getUser(), OC_Calendar_Share::CALENDAR, 1, $_GET['calendar_id'] == 'shared_rw' ? 'rw' : 'r'); foreach ($calendars as $calendar) { $calendarevents = OC_Calendar_Object::allInPeriod($calendar['calendarid'], $start, $end); foreach ($calendarevents as $event) { $event['summary'] .= ' (' . self::$l10n->t('by') . ' ' . OC_Calendar_Object::getowner($event['id']) . ')'; } $events = array_merge($events, $calendarevents); } $singleevents = OC_Calendar_Share::allSharedwithuser(OCP\USER::getUser(), OC_Calendar_Share::EVENT, 1, $_GET['calendar_id'] == 'shared_rw' ? 'rw' : 'r'); foreach ($singleevents as $singleevent) { $event = OC_Calendar_Object::find($singleevent['eventid']); if (!array_key_exists('summary', $event)) { $event['summary'] = self::$l10n->t('unnamed'); } $event['summary'] .= ' (' . self::$l10n->t('by') . ' ' . OC_Calendar_Object::getowner($event['id']) . ')'; $events[] = $event; } } else { if (is_numeric($calendarid)) { $calendar = self::getCalendar($calendarid); OCP\Response::enableCaching(0); OCP\Response::setETagHeader($calendar['ctag']); $events = OC_Calendar_Object::allInPeriod($calendarid, $start, $end); } else { OCP\Util::emitHook('OC_Calendar', 'getEvents', array('calendar_id' => $calendarid, 'events' => &$events)); } } return $events; }
/** * @brief analyses the parameter for calendar parameter and returns the objects * @param (string) $calendarid - calendarid * @param (int) $start - unixtimestamp of start * @param (int) $end - unixtimestamp of end * @return (array) $events */ public static function getrequestedEvents($calendarid, $start, $end) { $events = array(); if ($calendarid == 'shared_events') { $singleevents = OCP\Share::getItemsSharedWith('event', OC_Share_Backend_Event::FORMAT_EVENT); foreach ($singleevents as $singleevent) { $singleevent['summary'] .= ' (' . self::$l10n->t('by') . ' ' . OC_Calendar_Object::getowner($singleevent['id']) . ')'; $events[] = $singleevent; } } else { if (is_numeric($calendarid)) { $calendar = self::getCalendar($calendarid); OCP\Response::enableCaching(0); OCP\Response::setETagHeader($calendar['ctag']); $events = OC_Calendar_Object::allInPeriod($calendarid, $start, $end); } else { OCP\Util::emitHook('OC_Calendar', 'getEvents', array('calendar_id' => $calendarid, 'events' => &$events)); } } return $events; }