disableSIDValidation(); $this->timezones = [ TIMEZONE_DEFAULT => CDateTimeZoneHelper::getDefaultDateTimeZone() ] + (new CDateTimeZoneHelper())->getAllDateTimeZones(); } /** * Set user medias in data. * * @array $data */ protected function setUserMedias(array $data) { if ($this->hasInput('new_media')) { $data['medias'][] = $this->getInput('new_media'); } elseif ($this->hasInput('enable_media')) { if (array_key_exists($this->getInput('enable_media'), $data['medias'])) { $data['medias'][$this->getInput('enable_media')]['active'] = MEDIA_STATUS_ACTIVE; } } elseif ($this->hasInput('disable_media')) { if (array_key_exists($this->getInput('disable_media'), $data['medias'])) { $data['medias'][$this->getInput('disable_media')]['active'] = MEDIA_STATUS_DISABLED; } } $mediatypeids = []; foreach ($data['medias'] as $media) { $mediatypeids[$media['mediatypeid']] = true; } $mediatypes = API::Mediatype()->get([ 'output' => ['name', 'type'], 'mediatypeids' => array_keys($mediatypeids), 'preservekeys' => true ]); foreach ($data['medias'] as &$media) { $media['name'] = $mediatypes[$media['mediatypeid']]['name']; $media['mediatype'] = $mediatypes[$media['mediatypeid']]['type']; $media['send_to_sort_field'] = is_array($media['sendto']) ? implode(', ', $media['sendto']) : $media['sendto']; } unset($media); CArrayHelper::sort($data['medias'], ['name', 'send_to_sort_field']); foreach ($data['medias'] as &$media) { unset($media['send_to_sort_field']); } unset($media); return $data; } }