%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/Url.php |
<?php namespace humhub\modules\calendar\helpers; use humhub\modules\calendar\interfaces\reminder\CalendarEventReminderIF; use humhub\modules\calendar\interfaces\event\CalendarTypeIF; use humhub\modules\calendar\models\CalendarEntry; use humhub\modules\calendar\models\CalendarEntryParticipant; use humhub\modules\calendar\models\CalendarEntryType; use humhub\modules\content\components\ContentActiveRecord; use humhub\modules\content\components\ContentContainerActiveRecord; use humhub\modules\user\models\User; use Yii; use yii\helpers\Url as BaseUrl; class Url extends BaseUrl { public static function toConfig(ContentContainerActiveRecord $container = null) { if($container) { return $container->createUrl('/calendar/container-config'); } return BaseUrl::to(['/calendar/config']); } public static function toConfigTypes(ContentContainerActiveRecord $container = null) { if($container) { return $container->createUrl('/calendar/container-config/types'); } return static::to(['/calendar/config/types']); } public static function toEditType(CalendarEntryType $model, ContentContainerActiveRecord $container = null) { if($container) { return $container->createUrl('/calendar/container-config/edit-type', ['id' => $model->id] ); } return static::to(['/calendar/config/edit-type', 'id' => $model->id]) ; } public static function toCreateType(ContentContainerActiveRecord $container = null) { if($container) { return $container->createUrl('/calendar/container-config/edit-type' ); } return static::to(['/calendar/config/edit-type']) ; } public static function toDeleteType(CalendarEntryType $model, ContentContainerActiveRecord $container = null) { if($container) { return $container->createUrl('/calendar/container-config/delete-type', ['id' => $model->id]); } return static::to(['/calendar/config/delete-type', 'id' => $model->id]); } public static function toConfigCalendars(ContentContainerActiveRecord $container = null) { if($container) { return $container->createUrl('/calendar/container-config/calendars'); } return static::to(['/calendar/config/calendars']); } public static function toConfigSnippets() { return static::toRoute(['/calendar/config/snippet']); } public static function toConfigMenu() { return static::toRoute(['/calendar/config/menu']); } public static function toCalendar(ContentContainerActiveRecord $container = null) { if($container) { return $container->createUrl('/calendar/view/index'); } return static::toGlobalCalendar(); } public static function toGlobalCalendar() { return static::to(['/calendar/global/index']); } public static function toEditItemType(CalendarTypeIF $type, ContentContainerActiveRecord $container = null) { if($container) { return $container->createUrl('/calendar/container-config/edit-calendars', ['key' => $type->getKey()]); } return static::to(['/calendar/config/edit-calendars', 'key' => $type->getKey()]); } public static function toParticipationSettingsReset(ContentContainerActiveRecord $container = null) { if($container) { return $container->createUrl('/calendar/container-config/reset-participation-config'); } return static::to(['/calendar/config/reset-participation-config']); } public static function toAjaxLoad(ContentContainerActiveRecord $container = null) { if($container) { return $container->createUrl('/calendar/view/load-ajax'); } return static::to(['/calendar/global/load-ajax']); } public static function toGlobalCreate() { return static::to(['/calendar/global/select']); } public static function toEditEntry(CalendarEntry $entry, $cal = null, ContentContainerActiveRecord $container = null, $wall = null) { if(!$container) { $container = $entry->content->container; } return $container->createUrl('/calendar/entry/edit', ['id' => $entry->id, 'cal' => $cal, 'wall' => $wall]); } public static function toEditEntryParticipation(CalendarEntry $entry, ContentContainerActiveRecord $container = null) { if (!$container) { $container = $entry->content->container; } return $container->createUrl('/calendar/entry/edit-participation', ['id' => $entry->id]); } public static function toFullCalendarEdit(ContentContainerActiveRecord $container) { return $container->createUrl('/calendar/entry/edit', ['cal' => 1]); } public static function toCreateEntry(ContentContainerActiveRecord $container, $start = null, $end = null) { return $container->createUrl('/calendar/entry/edit', ['start' => $start, 'end' => $end]); } public static function toEnableProfileModule(User $user) { return $user->createUrl('/user/account/enable-module', ['moduleId' => 'calendar']); } public static function toEntry(CalendarEntry $entry, $cal = 0, ContentContainerActiveRecord $container = null) { if(!$container) { $container = $entry->content->container; } $params = ['id' => $entry->id]; if($cal) { $params['cal'] = 1; } if(RecurrenceHelper::isRecurrentInstance($entry)) { $params['parent_id'] = $entry->parent_event_id; $params['recurrence_id'] = $entry->recurrence_id; return $container->createUrl('/calendar/entry/view-recurrence', $params); } // Container should always be present but, in order to prevent null pointer (https://community.humhub.com/s/general-discussion/?contentId=209345) return $container ? $container->createUrl('/calendar/entry/view', $params) : ''; } public static function toEntryDelete(CalendarEntry $entry, $cal = 0, ContentContainerActiveRecord $container = null) { if(!$container) { $container = $entry->content->container; } $params = ['id' => $entry->id]; if($cal) { $params['cal'] = 1; } return $container->createUrl('/calendar/entry/delete', $params); } public static function toEntryToggleClose(CalendarEntry $entry, ContentContainerActiveRecord $container = null) { if(!$container) { $container = $entry->content->container; } return $container->createUrl('/calendar/entry/toggle-close', ['id' => $entry->id]); } public static function toEntryDownloadICS(ContentActiveRecord $entry, ContentContainerActiveRecord $container = null) { if(!$container) { $container = $entry->content->container; } return $container->createUrl('/calendar/ical/export', ['id' => $entry->content->id]); } public static function toUserLevelReminderConfig(CalendarEventReminderIF $entry, ContentContainerActiveRecord $container = null) { if(!$container) { $container = $entry->getContentRecord()->container; } return $container->createUrl('/calendar/reminder/set', ['id' => $entry->getContentRecord()->id]); } public static function toEntryRespond(CalendarEntry $entry, $state, ContentContainerActiveRecord $container = null) { if(!$container) { $container = $entry->content->container; } $participantSate = $entry->participation->getParticipationStatus(Yii::$app->user->getidentity()); return $container->createUrl('/calendar/entry/respond', [ 'type' => $participantSate == $state ? CalendarEntryParticipant::PARTICIPATION_STATE_NONE : $state, 'id' => $entry->id]); } public static function toParticipationUserList(CalendarEntry $entry, $state = null, ContentContainerActiveRecord $container = null) { if(!$container) { $container = $entry->content->container; } return $container->createUrl('/calendar/entry/modal-participants', ['id' => $entry->id, 'state' => $state]); } public static function toEnableModuleOnProfileConfig() { if(Yii::$app->user->isGuest) { return null; } return Yii::$app->user->identity->createUrl('/calendar/global/enable-config'); } public static function toUpdateEntry(ContentActiveRecord $entry) { return static::to(['/calendar/full-calendar/update', 'id' => $entry->content->id]); } public static function toUpdateMonthlyRecurrenceSelection() { return static::to(['/calendar/global/update-monthly-recurrence-selection']); } public static function toFindFilterTypes(ContentContainerActiveRecord $container = null) { return $container ? $container->createUrl('/calendar/view/find-filter-types') : static::to(['/calendar/global/find-filter-types']); } }