• Модуль: sender
  • Путь к файлу: ~/bitrix/modules/sender/lib/integration/voximplant/messagecall.php
  • Класс: Bitrix\Sender\Integration\VoxImplant\MessageCall
  • Вызов: MessageCall::loadConfiguration
public function loadConfiguration($id = null)
{
	$this->setConfigurationOptions();
	Entity\Message::create()
		->setCode($this->getCode())
		->loadConfiguration($id, $this->configuration);

	$defaultValues = array(
		'VOICE_VOLUME' => Tts\Volume::getDefault(),
		'VOICE_SPEED' => Tts\Speed::getDefault(),
		'VOICE_LANGUAGE' => Tts\Language::getDefaultVoice(LANGUAGE_ID),
	);
	foreach ($defaultValues as $key => $value)
	{
		$option = $this->configuration->getOption($key);
		if (!$option || $option->hasValue())
		{
			continue;
		}

		$option->setValue($value);
	}

	$textOption = $this->configuration->getOption('MESSAGE_TEXT');
	if ($textOption)
	{
		$speedOption = $this->configuration->getOption('VOICE_SPEED');
		$textOption->setView(
			function () use ($speedOption)
			{
				ob_start();
				$GLOBALS['APPLICATION']->includeComponent(
					"bitrix:sender.call.text.editor",
					".default",
					array(
						"INPUT_NAME" => "%INPUT_NAME%",
						"VALUE" => "%INPUT_VALUE%",
						"SPEED_INPUT_NAME" => $speedOption
							?
							"%INPUT_NAME_" . $speedOption->getCode() . "%"
							:
							''
					)
				);

				return ob_get_clean();
			}
		);
	}
	TimeLimiter::prepareMessageConfigurationView($this->configuration);

	return $this->configuration;
}