%PDF- %PDF-
Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/calendar/helpers/ |
Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/calendar/helpers/RestDefinitions.php |
<?php /** * @link https://www.humhub.org/ * @copyright Copyright (c) 2019 HumHub GmbH & Co. KG * @license https://www.humhub.com/licences */ namespace humhub\modules\calendar\helpers; use humhub\modules\calendar\models\CalendarEntry; use humhub\modules\calendar\models\CalendarEntryParticipant; use humhub\modules\rest\definitions\ContentDefinitions; use humhub\modules\rest\definitions\UserDefinitions; /** * Class RestDefinitions * * @package humhub\modules\rest\definitions */ class RestDefinitions { public static function getCalendarEntry(CalendarEntry $entry) { return [ 'id' => $entry->id, 'title' => $entry->title, 'description' => $entry->description, 'start_datetime' => $entry->start_datetime, 'end_datetime' => $entry->end_datetime, 'all_day' => (int)$entry->all_day, 'participation_mode' => (int)$entry->participation_mode, 'color' => $entry->color, 'allow_decline' => (int)$entry->allow_decline, 'allow_maybe' => (int)$entry->allow_maybe, 'time_zone' => $entry->time_zone, 'participant_info' => $entry->participant_info, 'closed' => (int)$entry->closed, 'max_participants' => (int)$entry->max_participants, 'content' => ContentDefinitions::getContent($entry->content), 'participants' => static::getParticipantUsers($entry->getParticipantEntries()->with('user')->all()) ]; } private static function getParticipantUsers($participants) { $result = [ 'attending' => [], 'maybe' => [], 'declined' => [] ]; foreach ($participants as $participant) { if ($participant->participation_state === CalendarEntryParticipant::PARTICIPATION_STATE_ACCEPTED) { $result['attending'][] = UserDefinitions::getUserShort($participant->user); } elseif ($participant->participation_state === CalendarEntryParticipant::PARTICIPATION_STATE_MAYBE){ $result['maybe'][] = UserDefinitions::getUserShort($participant->user); } elseif ($participant->participation_state === CalendarEntryParticipant::PARTICIPATION_STATE_DECLINED){ $result['declined'][] = UserDefinitions::getUserShort($participant->user); } } return $result; } }